All work
- Folijet support work for Inventory Optimistic Locking (Data Import and SRS)UXPROD-3173Resolved issue: UXPROD-3173Ann-Marie Breaux
- Optimistic locking. User A editing an item while the same item has been moved to another holding by user BUIIN-1646Resolved issue: UIIN-1646
- Optimistic locking. User A editing a holdings while the same holdings has been moved to another instance by user BUIIN-1644Resolved issue: UIIN-1644
- Updating item with _version always fails with optimistic locking conflictUIIN-1624Resolved issue: UIIN-1624Michal Kuklis
- See what happens when Data Import encounters Optimistic Locking in InventoryUIDATIMP-998Resolved issue: UIDATIMP-998
- Test Data Import with Optimistic Locking turned ONUIDATIMP-996Resolved issue: UIDATIMP-996
- Test Data Import with Optimistic Locking turned OFFUIDATIMP-995Resolved issue: UIDATIMP-995
- [Frontend development] Implement: prevent conflict once detected. Enable "failOnConflict"UICR-142Resolved issue: UICR-142
- Optimistic locking support for TenantLoading PUTRMB-872Resolved issue: RMB-872Julian Ladisch
- Module is unable to send eventMODSOURMAN-566Resolved issue: MODSOURMAN-566Natalia Zaitseva
- Optimistic locking: mod-source-record-storage modificationsMODSOURCE-387Resolved issue: MODSOURCE-387Ruslan Lavrov
- Issues related to optimistic locking while PUT executed for inventory/items/ endpointMODRS-93Resolved issue: MODRS-93Viachaslau Khandramai
- Modify module to support optimistic lockingMODQM-158Resolved issue: MODQM-158Natalia Zaitseva
- Update module descriptor for optimistic lockingMODPATBLK-101Resolved issue: MODPATBLK-101Steve Ellis
- Batch update with optimistic locking disabledMODINVSTOR-924Resolved issue: MODINVSTOR-924Julian Ladisch
- D.I. UPDATE does not work when OL is enabledMODINV-610Resolved issue: MODINV-610Volodymyr Rohach
- FOLIO snapshot throw optimistic locking error when updating an instance - LOTUSMODINV-551Resolved issue: MODINV-551Aivar Iusupov
- FOLIO snapshot throw optimistic locking error when updating an instance KIWI BFMODINV-546Resolved issue: MODINV-546Aivar Iusupov
- Optimistic locking: mod-inventory modificationsMODINV-542Resolved issue: MODINV-542Natalia Zaitseva
- /inventory/items should return _version propertyMODINV-484Resolved issue: MODINV-484Julian Ladisch
- Update MODINREACH for Compatibility with Optimistic Locking in Inventory (Lotus: R1 2022))MODINREACH-153Resolved issue: MODINREACH-153Dima Tkachenko
- FOLIO snapshot throw optimistic locking error when updating an instance - KIWI BFMODDICORE-209Resolved issue: MODDICORE-209Aivar Iusupov
- FOLIO snapshot throw optimistic locking error when updating an instance - LOTUSMODDICORE-195Resolved issue: MODDICORE-195Aivar Iusupov
- Review FOLIO-3199 & decide if DI should implementMODDATAIMP-545Resolved issue: MODDATAIMP-545
- [Backend development] Implement: prevent conflict once detected. Enable "failOnConflict"MODCR-64Resolved issue: MODCR-64
- #3 [Frontend development] Implement: prevent conflict once detected. Enable "failOnConflict"FOLIO-3201Resolved issue: FOLIO-3201
- #2 [Backend development] Implement: prevent conflict once detected. Enable "failOnConflict"FOLIO-3200Resolved issue: FOLIO-3200
- #1 [Backend development] Implement conflict detection. Enable [logOnConflict] to monitor conflict frequenciesFOLIO-3199Resolved issue: FOLIO-3199
- Prevent saves overwriting newer versions of objects/entitiesERM-2130Owen Stephens
Folijet support work for Inventory Optimistic Locking (Data Import and SRS)
Description
Priority
Fix versions
Development Team
Assignee
Solution Architect
Parent Field Value
Parent Status
defines
is defined by
Confluence content
Checklist
hideTestRail: Results
Details
Reporter
Ann-Marie BreauxAnn-Marie Breaux(Deactivated)PO Rank
112Back End Estimate
Small < 3 daysRelease
Lotus R1 2022Rank: Cornell (Full Sum 2021)
R1Rank: U of AL (MVP Oct 2020)
R1TestRail: Cases
Open TestRail: CasesTestRail: Runs
Open TestRail: Runs
Details
Details
Reporter
PO Rank
Back End Estimate
Release
Rank: Cornell (Full Sum 2021)
Rank: U of AL (MVP Oct 2020)
TestRail: Cases
TestRail: Runs
Activity
Martin TranNovember 22, 2021 at 3:40 PM
Hi @Ann-Marie Breaux, yes, the PTF can test DI with/without OL in the next couple of weeks.
Ann-Marie BreauxNovember 22, 2021 at 1:03 PM
Hi @Martin Tran Just wanted to check on whether UIDATIMP-995 and UIDATIMP-996 can be tested in the next couple of weeks. I don't think there's additional work that Folijet needs to do for Kiwi, but it would be good to have confirmation on these issues so that it's clear if any work is needed in Lotus. Thank you!
Ann-Marie BreauxSeptember 1, 2021 at 1:53 PMEdited
Grooming:
Folijet resolves the PTF P1 bug UIDATIMP-997
PTF test DI performance before the OL changes in MODINV UIDATIMP-995
Merge the MODINV and MODINVSTOR changes (Prokopovych)
PTF retests DI performance after the changes UIDATIMP-996
We're confident that DI will not stop/die when it encounters OL error message from Inventory. Folijet may describe or test to ensure that DI doesn't stop or get stuck when an Inventory record is being manually edited, or SRS MARC is being manually edited in QM, while import is also trying to act on it. See if we can figure out how to trigger it, but it may be difficult to trigger UIDATIMP-998
Look at the error message that is triggered for DI and see if we need any UI story, or if existing error message is clear enough
Ann-Marie BreauxAugust 25, 2021 at 1:15 PM
Grooming: for Kiwi focus on unblocking the problems when Julian merges existing changes. Will need to test DI performance before and after the merge. If any problems with versioning, then the job will be completed with errors.
Next steps: @Kateryna Senchenko to write the BE stories and @Vladimir Shalaev to review
If a record is being used, then we will end up with "discarded" on the summary page. Once DI can accept OL errors, try and see if we can trigger the error. Then meet with Ivan and Kimie to discuss UI options, which may need to be in Lotus.
Ann-Marie BreauxAugust 12, 2021 at 1:04 PM
Next steps in defining this feature:
@Taisiya Trunova scheduling meeting for next week with @Vladimir Shalaev, @Julian Ladisch, @Kateryna Senchenko and optional @Jakub Skoczen, @Mark Veksler to go over OL and implications for DI backend
@Vladimir Shalaev to outline design for required DI BE work
@Khalilah Gambrell to finalize Inventory UI requirements (https://folio-org.atlassian.net/browse/UIIN-1245 and https://folio-org.atlassian.net/wiki/display/COMMUNITY/Optimistic+Locking+-++Detecting+and+Resolving+Conflicts+Requirements)
@Ann-Marie Breaux to finalize DI UI requirements with Folijet UI devs and the SMEs
NOTE: This feature assesses how much impact the Inventory Optimistic Locking work has on Data Import. If any UI changes are needed (for the Data Import log or error messages in the UI), then a follow-on feature for Lotus will be added
Current situation or problem: Inventory is implementing Optimistic locking in Kiwi. Folijet needs to review and determine how Data Import and SRS may be affected. There are already conflicts when 2 processes, or a person and a process are acting on the same record at the same time. Currently, one set of changes is discarded silently, with no error messages or UI indication. UXPROD-3058 lays out more details so that apps can return messages indicating when record edit conflicts occur. Data Import and SRS will need to react to those messages when the conflict (one of the simultaneous edits) is caused by Data Import.
FOLIO-wide technical proposal: https://folio-org.atlassian.net/wiki/display/DD/Optimistic+locking+proposal
PO doc on detecting and resolving conflicts: https://folio-org.atlassian.net/wiki/display/COMMUNITY/Optimistic+Locking+-++Detecting+and+Resolving+Conflicts+Requirements
In scope
Any Data Import or SRS activity that causes changes to any Inventory record (Instance, Holdings, Item) at the same time as another automated process
Any Data Import or SRS activity that causes changes to any Inventory record (Instance, Holdings, Item) at the same time as a user editing manually in the Inventory app
Any Data Import UI pop-ups and handling user response, if necessary
Any Data Import UI log messages or details to reflect conflicts or resolution of those conflicts
Out of scope
2 users manually editing the same record in Inventory at the same time
2 users manually editing the same record in quickMarc at the same time
Use case(s)
Data Import is trying to update an instance, holdings, or item at the same time that a user is manually updating the same record
Data Import is trying to create a holdings or item on an instance that a user is manually updating at the same time
Data Import is trying to create an item related to a holdings that a user is manually updating at the same time
Data Import is updating an instance, holdings, or item at the same time that another automated process is updating it (e.g. circulation, aged to lost, another Data Import job)
SRS MARC Bib is updated by a Data Import job at the same time that a user is manually updating the same record in quickMARC (or leaves the record open in Edit mode on their screen for an extended period of time)
SRS MARC Bib is updated by 2 Data Import jobs running at the same time
Would there be use cases where OL would affect matching? (if trying to match from static or from incoming record to Instance, Holdings, or Item value?)
Is there a separate implementation that DI will need to do in case an SRS MARC is being acted upon by import B or by QM at the same as import A?
Possible use cases (validate with Kate and Ivan; maybe consolidate with above)
Cannot create holdings because instance was in use
Cannot create item because instance was in use
Cannot create item because holdings was in use
Cannot update instance because instance was in use
Cannot update holdings because holdings was in use
Cannot update holdings because instance was in use
Cannot update item because item was in use
Cannot update item because holdings was in use
Cannot update item because instance was in use
Would there be use cases where OL would affect matching? (if trying to match from static or from incoming record to Instance, Holdings, or Item value?)
Is there a separate implementation that DI will need to do in case an SRS MARC is being acted upon by import B or by QM at the same as import A?
Proposed solution/stories
Links to additional info
PO meeting notes with next steps: https://folio-org.atlassian.net/wiki/display/COMMUNITY/2021-07-07+Product+Owner+Meetings
Inventory UI story: https://folio-org.atlassian.net/browse/UIIN-1245
Inventory Implementation feature: https://folio-org.atlassian.net/browse/UXPROD-3089
Questions