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

ACQ Mods - Prevent update conflicts (two automated processes acting on the same record)

    XMLWordPrintable

    Details

    • Template:
      UXPROD features
    • Development Team:
      Thunderjet
    • Calculated Total Rank:
      33
    • PO Rank:
      60
    • Rank: Cornell (Full Sum 2021):
      R1
    • Rank: Duke (Full Sum 2021):
      R1
    • Rank: 5Colleges (Full Jul 2021):
      R2
    • Rank: TAMU (MVP Jan 2021):
      R3
    • Rank: U of AL (MVP Oct 2020):
      R2

      Description

      Problem statement
      In FOLIO, most storage modules follow the "last writer wins" strategy for handling record updates. From the UI perspective this may lead to a situation when a stale record (older version of a give record) previously loaded into the UI may override a more recent version on the server. Hence relevant updates may get lost in the process and the user is not made aware of what has happened.

      This situation can happen when multiple data imports are happening at the same time (or data import and a user acting on the same record at the same time) and can affect many records at the same time. Cleanup can then be very time-consuming and confusing.

      Proposed solution
      From the storage and API perspective, optimistic locking is the proposed strategy to handle conflicts. Handling of updates in FOLIO should rely on more explicit semantics, both in the storage (backend) APIs and the way it is communicated to the user through the UI.

      Use cases:
      Two automated processes acting on the same record.

      • TBD

      User impact

      1. prevent collisions?
      2. notify the user when they happen and offer them a choice? Something like, "Sorry AgentB has already updated the record and your working copy might not be up-to-date? Would you like to:" (a) Update anyway (b) Reload.

        TestRail: Results

          Attachments

            Issue Links

              Activity

                People

                Assignee:
                dennisbridges Dennis Bridges
                Reporter:
                dennisbridges Dennis Bridges
                Votes:
                0 Vote for this issue
                Watchers:
                23 Start watching this issue

                  Dates

                  Created:
                  Updated:

                    TestRail: Runs

                      TestRail: Cases