Done
Details
Assignee
Ruslan LavrovRuslan LavrovReporter
Kateryna SenchenkoKateryna SenchenkoPriority
P2Story Points
3Sprint
NoneDevelopment Team
FolijetFix versions
Release
Orchid (R1 2023) Service Patch #5TestRail: Cases
Open TestRail: CasesTestRail: Runs
Open TestRail: Runs
Details
Details
Assignee
Ruslan Lavrov
Ruslan LavrovReporter
Kateryna Senchenko
Kateryna SenchenkoPriority
Story Points
3
Sprint
None
Development Team
Folijet
Fix versions
Release
Orchid (R1 2023) Service Patch #5
TestRail: Cases
Open TestRail: Cases
TestRail: Runs
Open TestRail: Runs
Created July 25, 2023 at 11:35 AM
Updated February 28, 2024 at 12:03 PM
Resolved August 11, 2023 at 9:20 PM
NOTE: This Orchid CSP 5 Jira is cloned by Poppy Jira MODSOURCE-681
MODSOURCE-601 introduced a notion of 'version' in marc_indexers table to allow inserts of new rows without deletion (deletion is done as a separate process). Setting the initial version (zero) to all existing rows takes excess time during which DI (and other processes interacting with SRS) should be suspended.
Allow DI and search of marc_indexers to function correctly when version is still null (column added, but values are not there yet), treat it as a zero.
Search when no other version than null
Insert of new values with version '1', when others are null
Something else?
ORCHID Critical service patch details
Describe issue impact on business: Required to be able to backport the improvements described in MODSOURCE-601/MODSOURCE-654 to Orchid. This change allows DI marc-to-marc matching and records search to work correctly until migration scripts which are required by MODSOURCE-601MODSOURCE-654 are completed, in order to avoid downtime during the those scripts execution.
What institutions are affected? (field “Affected Institutions” in Jira to be populated) - All
What is the workaround if exists? No user workaround
What areas will be impacted by fix (i.e. what areas need to be retested) Data import Smoke and Critical path tests
Brief explanation of technical implementation and the level of effort (in workdays) and technical risk (low/medium/high).
Work is complete and the level of effort was medium.
Approach
add alternative/fallback query that performs a search without indexers version usage to DAO method that provides marc-to-marc matching and to the method aimed for retrieving marc identifiers by search query. This alternative query should be executed when the search results of the current queries are empty and newly introduced parameter srs.record.matching.fallback-query.enable = true.
fix PgException handling in AbstractUpdateModifyEventHandler to prevent import job from being stuck if PgException is not related to matchedId-generation uniqueness constraint violation.
add tests
Risk to backport: Minimal; will also review with
Brief explanation of testing required and level of effort (in workdays). Provide test plan agreed with by QA Manager and PO. Automated test cases already exist and level of effort is 1 hour
What is the roll back plan in case the fix does not work? Revert to previous version