TLR: Cancelling TLR:s that were created without items returns HTTP 500

Description

Overview:
Steps to Reproduce:

  1. Using the [Patron API|https://s3.amazonaws.com/foliodocs/api/edge-patron/p/edge-patron.html#patron_account_idinstanceinstanceid_hold_post,] create a Title-level request for an Instance with a Holding, but with no Items attached

  1. Using the same API, cancel the request.

Expected Results:

The request is cancelled:

Actual Results:

 

Additional Information:
Adding an item after the request was created also renders HTTP 500. If there is an item at the time for the request, the API works as expected.
This HTTP 500 in mod-patron makes the edge-patron call also raise a HTTP 500, which makes the Discovery user experience hard to handle.
Interested parties:

All libraries with a discovery tool/OPAC that allows you to make TLRs on things without Items, All libraries wanting to post requests for things without holdings. Not an uncommon practice when you want to order specific issues of journals. Not sure how common it is for FOLIO libraries. Having Instances without Items is very common though.

Verified in both live Morning Glory environments and in Nolana.

CSP Request Details

None

CSP Rejection Details

None

Potential Workaround

None

Attachments

2

Checklist

hide

TestRail: Results

Activity

Show:

Roman BarannykMarch 16, 2023 at 2:34 PM

Verified on orchid bugfest:

JenkinsNotificationsMarch 14, 2023 at 5:43 PM

Deployed to Orchid bf env. Moved status to In bugfix review from status Awaiting deployment. Please proceed with verification

Roman BarannykMarch 9, 2023 at 1:27 PM

, could you test the fix and close this ticket if everything is OK?

Roman BarannykMarch 8, 2023 at 9:58 PM

The fix was deployed and verified on snapshot, it works as expected:

Lisa SjögrenMarch 3, 2023 at 11:31 AM
Edited

Looking at some other reported cases where request cancellations from EDS have failed, I wonder if this problem (or some variation of it) might extend to any TLR where the request hasn't yet been associated with an item – whether that is because there is no item linked to the instance, or because all existing items are checked out, or because the request is a hold and all existing items have status "Available".

Done

Details

Assignee

Reporter

Labels

Priority

Story Points

Sprint

Development Team

Vega

Fix versions

Release

Orchid (R1 2023) Bug Fix

RCA Group

Implementation coding issue

Affected releases

Nolana (R3 2022)
Morning Glory (R2 2022)

Affected Institution

!!!ALL!!!

TestRail: Cases

Open TestRail: Cases

TestRail: Runs

Open TestRail: Runs

Created February 22, 2023 at 8:20 AM
Updated October 13, 2023 at 10:22 AM
Resolved March 10, 2023 at 3:00 PM
TestRail: Cases
TestRail: Runs