Bug 11621

Summary: Race condition exists for trapping holds
Product: Koha Reporter: Kyle M Hall (khall) <kyle>
Component: Hold requestsAssignee: Bugs List <koha-bugs>
Status: NEW --- QA Contact: Testopia <testopia>
Severity: normal    
Priority: P5 - low CC: bklein, gmcharlt, veron
Version: Main   
Hardware: All   
OS: All   
Change sponsored?: --- Patch complexity: ---
Documentation contact: Documentation submission:
Text to go in the release notes:
Version(s) released in:
Circulation function:

Description Kyle M Hall (khall) 2014-01-27 15:56:54 UTC
It is possible to trigger a race condition when it trapping items to fill holds:
1) Librarian A checks in Book 1, which displays the hold trap dialog
2) Librarian B checks in Book 2, which displays the hold trap dialog
3) Librarian A clicks the "confirm and print" button, which prints the hold slip and sends a hold waiting message to the patron
4) Library B clicks the "confirm and print" button, which causes the previous hold to be overwritten with the new hold, and thus Book 1 is no longer a waiting hold for this patron, Book 2 is.
5) Book 1 is now available, and if there are other holds that need filled, none of them will be fulfilled with Book 1 unless a librarian checks it in again.

I believe this issue is caused by ModReserveFill assuming the hold must need filled if called, and does not check for an existing waiting reserve. This issue must be addressed in C4::Reserves and not just circ/returns.pl as the issue affects SIP2 hold fulfillment as well.
Comment 1 Marc VĂ©ron 2015-12-20 17:38:46 UTC
Still valid?
Comment 2 Brian 2018-12-18 01:11:28 UTC
Has this been resolved?

Carnegie team
Comment 3 Katrin Fischer 2018-12-20 20:05:13 UTC
HiBrian, this is still in status 'NEW', so no patch has been provide. Some other bug might have fixed it, but it's hard to tell. Did you experience this issue? Next sensible step would be to retest.