Invoicing functionality that FOLIO needs to stay competitive (UXPROD-3439)

[MODINVOICE-297] Spike: Optimistic Locking for Acquisition Created: 30/Aug/21  Updated: 09/Dec/21

Status: Open
Project: mod-invoice
Components: None
Affects versions: None
Fix versions: None
Parent: Invoicing functionality that FOLIO needs to stay competitive

Type: Story Priority: P3
Reporter: Damien Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: acq-dev-grooming
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original estimate: Not Specified

Issue links:
Relates
relates to UXPROD-3164 Invoices - Implementing Optimistic Lo... Draft
relates to UXPROD-3015 ACQ Mods - Prevent update conflicts (... In Refinement
relates to UXPROD-3058 Optimistic Locking In Progress
Sprint:
Development Team: Thunderjet
Epic Link: Invoicing functionality that FOLIO needs to stay competitive

 Description   

Overview

Optimistic Locking is a technical solution provided by RMB and other frameworks to resolve update conflicts. See UXPROD-3058 In Progress for background information.

All acquisition apps are currently vulnerable to update conflicts. What this means in practice is that if 2 users are updating the same record at the same time, one of them might lose its modifications and will receive no warning. Additionally, all derived modifications are vulnerable too: if an edit triggers another edit in another module, these modifications can be lost too without a warning.

Modules using other modules that have optimistic locking enabled need to check for the 409 status code, and react appropriately, for instance by minimizing risks of update conflicts, or trying the update sequence again, or report an explicit error to the user (or all 3). This means all layers require modifications.

Spike Objectives

  • Discuss optimistic locking in a team meeting.
  • Evaluate the effort required.
  • Create a wiki page with a few background links, and a table with all modules and the status of optimistic locking implementation for each: storage layer, business layer, and UI, and all the related tickets.

Spike Decisions

  • Decide on which modules and tables to start optimistic locking with.
  • Decide on a timeline. Which release will have complete optimistic locking for acquisition apps ?


 Comments   
Comment by Damien [ 02/Sep/21 ]

See also this recent PO meeting notes:

Optimistic Locking - Detecting and Resolving Conflicts Requirements

Generated at Fri Feb 09 00:30:41 UTC 2024 using Jira 1001.0.0-SNAPSHOT#100246-sha1:7a5c50119eb0633d306e14180817ddef5e80c75d.