[MODSOURCE-637] OAI-PMH Inconsistent behavior of GetRecord method for "undeleted" record Created: 27/Mar/23  Updated: 14/Oct/23  Resolved: 17/May/23

Status: Closed
Project: mod-source-record-storage
Components: None
Affects versions: None
Fix versions: 5.7.0

Type: Bug Priority: P3
Reporter: Sri Ranjan Assignee: Siarhei Charniak
Resolution: Done Votes: 0
Labels: support
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original estimate: Not Specified

Attachments: PNG File 2023-04-10_12h37_37.png     PNG File 2023-04-10_12h38_05.png     PNG File 2023-04-10_12h38_33.png     PNG File 2023-04-10_12h39_09.png     File MODSOURCE-637__2023-05-16_14h28_47.mp4     PNG File Records-DB.png     PNG File Step 1.png     PNG File Step 2.png     PNG File Step 3.png     PNG File Step 4.png     PNG File Step 5.png     PNG File Step 6.png     PNG File Step 7.png     PNG File screenshot-1.png     PNG File screenshot-2.png     PNG File screenshot-3.png    
Issue links:
Defines
defines UXPROD-3900 Firebird - Poppy R2 2023 Enhancement... Closed
Relates
relates to FAT-5968 Review of C388544 test case (OAI-PMH ... Closed
relates to FAT-5971 Review of C388546 test case (OAI-PMH ... Closed
relates to MODOAIPMH-532 Undeleted records continue to be harv... Closed
Sprint: Firebird - Sprint 165
Story Points: 3
Development Team: Firebird
Release: Poppy (R2 2023)
Affected Institution:
Trinity College
RCA Group: TBD

 Description   

Overview:
The request with GetRecord verb returns inconsistent results when SRS record that was marked was deleted is marked as corrected or new (LDR 05 changes from "d" to "c" or "n")

Steps to Reproduce:
1.Set the data so that SRS record contains multiple version, starting with ldr 05 set to "d" and the, marking the latest version as "c" or "n". For example:

2. Send GetRecord request multiple times for the updated record with the identifier of the record from the prior step:
oai:<url>:<tenant>/uuid

Expected Results:
Each time the entire SRS record is returned, supplemented with holdings and items data if present

Actual Results:
The request sometimes returns record marked as deleted, sometimes it returns entire record

Additional information:
The issue seems to be related to the fact that the record has multiple versions stored in SRS and sometime also OLD version is harvested.



 Comments   
Comment by Charlotte Whitt [ 27/Mar/23 ]

Support SIG: Hi Sri Ranjan - will you move this ticket to the appropriate jira key project for OAI-PMH work and also add a story line. Then we will take a look at the priority. Thanks a lot.

Comment by Tatsiana Hryhoryeva [ 10/Apr/23 ]

Hi Magda Zacharska 

For your attention is also behavior for ListRecords and ListIdentifiers verbs (verified on https://bugfest-orchid.int.aws.folio.org/ environment) in such case:

Go to "Inventory" app => Find not deleted MARC Instance with Holdings => Mark the Instance as deleted via quickMarc => In some time mark the Instance as not deleted via quickMarc

Record source is set to "Source record storage and Inventory" on the "Settings"> "OAI-PMH">"Behavior"> "Record source"

  • Start harvesting with verb=GetRecord & metadataPrefix=marc21_withholdings
    Inconsistent behavior as described in the bug-report: sometimes instance is returned as "deleted", sometimes as not. In both case with <datestamp> when the Instance was last updated

  • Start harvesting with verb=ListRecords & metadataPrefix=marc21_withholdings with "current date" period 
    The Instance consistently returned as deleted (with <datestamp> when the Instance was last updated)

  • Start harvesting with verb=ListIdentifiers & metadataPrefix=marc21_withholdings with "current date" period
    Two rows consistently are returned for the Instance - one as deleted and another as not (in both case with <datestamp> when the Instance was last updated)

Comment by Yauheniya Kryshtafovich [ 16/May/23 ]

Hi, Magda Zacharska and Siarhei Charniak the issue was verified on Snapshot, works as expected:

Verified scenarios:
1. Create MARC bib manually - LDR 05 is set to "n"
Send the "GET" request to the endpoint with following parameters:
url/oai/records?verb=GetRecord&metadataPrefix=marc21&identifier=oai:base-url:x-okapi-tenant/<Instance UUID>
Works as expected:

2. Change Value shown in "LDR" field, positions 05 to "d"
Send the "GET" request to the endpoint with following parameters:
url/oai/records?verb=*GetRecord&metadataPrefix=marc21_withholding*s&identifier=oai:base-url:x-okapi-tenant/<Instance UUID>
Works as expected:

3. Click on "Actions" buttons in second pane => Select "Edit MARC bibliographic record" option => Change Value shown in "LDR" field, positions 05 to "p"
Send the "GET" request to the endpoint (*ListRecords, metadataPrefix=marc21_withholding*s) with following parameters:
URL/oai/records?verb=ListRecords&metadataPrefix=marc21_withholdings&from=<current date>&until=<current date>
Works as expected:

4. Click on "Actions" buttons in second pane => Select "Edit MARC bibliographic record" option => Change Value shown in "LDR" field, positions 05 to "d"
Send the "GET" request to the endpoint (ListRecords, metadataPrefix=marc21) with following parameters:
URL/oai/records?verb=ListRecords&metadataPrefix=marc21&from=<current date>&until=<current date>
Works as expected:

5. Click on "Actions" buttons in second pane => Select "Edit MARC bibliographic record" option => Change Value shown in "LDR" field, positions 05 to "n"
Send the "GET" request to the endpoint (ListIdentifiers, metadataPrefix=marc21_withholdings)with following parameters:
URL/oai/records?verb=ListIdentifiers&metadataPrefix=marc21_withholdings&from=<current_date>&until=<current_date>
Works as expected:

6. Change Value shown in "LDR" field, positions 05 to "d"
Send the "GET" request to the endpoint (ListIdentifiers, metadataPrefix=marc21) with following parametrs:
URL/oai/records?verb=ListIdentifiers&metadataPrefix=marc21&from=<current_date>&until=<current_date>
Works as expected:

7. Change Value shown in "LDR" field, positions 05 to "a"
url/oai/records?verb=GetRecord&metadataPrefix=marc21&identifier=oai:base-url:x-okapi-tenant/<Instance UUID>
Works as expected

8. Repeat Step 7 at least 5 times in a row with changing "Deleted records support" to "NO"- Works as expected:
MODSOURCE-637__2023-05-16_14h28_47.mp4

Comment by Yauheniya Kryshtafovich [ 16/May/23 ]

Magda Zacharska the test cases for MODSOURCE-637 Closed to review: FAT-5968 Closed and FAT-5971 Closed

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