Uploaded image for project: 'UX Product'
  1. UX Product
  2. UXPROD-3089

Inventory. Implementing Optimistic Locking



    • Type: New Feature
    • Status: In Progress (View Workflow)
    • Priority: P2
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: Kiwi (R3 2021)
    • Labels:
    • Template:
      UXPROD features
    • Epic Link:
    • Development Team:
      Core: Platform
    • Calculated Total Rank:
    • PO Rank:
    • Rank: Cornell (Full Sum 2021):


      Purpose: Implementing Optimistic Locking in Inventory.

      Implementation of Optimistic Locking FOLIO wide was ranked very high by the libraries. The implementation in Inventory will be the first stab doing so.

      Usecases: (Use cases collected by the community)

      Not frequent: 2 users editing the same record at the same time

      1. User A and User B editing the same record at the same time – instances, holdings, items, requests
      2. User A editing an item and User B creating a request for that item
      3. User A editing and item and User B putting that item on course reserve at the same time
      4. User A editing an item and User B deleting the item before User A's edits are saved (see UIIN-730)
      5. When attempting to update holdings and their items concurrently the holdings updates will ever so often interfere with the item updates, effectively nullifying the latter (see MODINVSTOR-516). This particular item is being addressed via RMB-388.
      6. User A and User B generating a new number using the number generator for call number or accession number (number generator runs separate queries for selecting and incrementing the number (GBV); not relevant if FOLIO combines select and increment into one query) (not a challenge in FOLIO because the functionality does not exist)

      More frequent: 1 user and system trying to act on the same record, either individual records or batch

      1. User A editing an instance/holding/item and data import updating the same record (consider the DI redesign that is taking place now)
      2. User A editing an item and checkout trying to update the item status
      3. User A editing an item and bulk renewal trying to update the item
      4. User A editing an instance/holdings/item after data import ran in Preview mode but before the data import changes were committed

      Two automated processes acting on the same record

      1. Checkout happening and updating status on an item record at the same time as import updating the item

      Technical documentation:
      GitHub: https://github.com/folio-org/raml-module-builder/blob/master/README.md#optimistic-locking


        TestRail: Results


            Issue Links



                jakub Jakub Skoczen
                charlotte Charlotte Whitt
                0 Vote for this issue
                6 Start watching this issue



                    TestRail: Runs

                      TestRail: Cases