Koha/C4
Nick Clemens a65964c35b Bug 34678: Allow new entries to overwrite hold_fill_targets
When using background jobs, there is a possibility of a race condition where two jobs will be updating the holds queue for the same biblio. We should try to minimize those cases (see bug 34596)

In the meantime though, we should prevent jobs possibly dying, and allow the most recent update to succeed.

There is a possibility two updates wil assign different items to the same reserve, and that a reserve could end up in the queue twice, however, whichever one is filled first will delete both entries. as filling the hold deletes by reserve id (see bug 24359)

This patch adds a transaction to delete and then inset the new row

To test:
1 - prove -v t/db_dependent/Reserves.t
2 - It fails
3 - Apply patch
4 - t/db_dependent/Reserves.t
5 - It succeeds!

Signed-off-by: Emily Lamancusa <emily.lamancusa@montgomerycountymd.gov>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
(cherry picked from commit bbeab36789)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
2023-11-07 21:37:08 -10:00
..
AuthoritiesMarc
Barcodes
ClassSortRoutine
ClassSplitRoutine
Creators Bug 32222: Fix capitalization in various "id is invalid" 2023-02-07 10:29:35 -03:00
External
Form
Heading Bug 21828: build $bib_heading_fields only once per invocation 2023-09-22 10:36:33 -10:00
ILSDI Bug 31735: Avoid re-fetcing objects from database by passing them directly instead of ids to various subroutines 2023-05-12 12:40:21 -03:00
Installer
Labels
Linker
Members
OAI
Output
Patroncards Bug 34532: Silence warns in Patroncard.pm 2023-09-17 21:35:44 -10:00
Reports
Search
Serials
SIP Bug 22873: Add comment to explain what disallow_overpayment is for 2023-10-05 10:21:54 -10:00
Utils
Accounts.pm
Acquisition.pm Bug 11844: Use additional fields for order lines 2023-05-16 12:58:38 +02:00
Auth.pm Bug 30843: Add mfa_range configuration option for TOTP 2023-10-05 08:36:20 -10:00
Auth_cas_servers.yaml.sample
Auth_with_cas.pm
Auth_with_ldap.pm Bug 34731: Don't call SendQueuedMessages if message_id is bad 2023-09-14 07:54:48 -10:00
Auth_with_shibboleth.pm Bug 34731: Don't call SendQueuedMessages if message_id is bad 2023-09-14 07:54:48 -10:00
AuthoritiesMarc.pm Bug 30358: Strip leading/trailing whitespace characters from input fields when cataloguing 2023-05-16 15:17:26 -03:00
BackgroundJob.pm
Barcodes.pm
Biblio.pm Bug 34014: (follow-up) Tidy 2023-10-25 11:58:37 -10:00
Breeding.pm Bug 33404: Fix serverhost and init $page 2023-07-17 16:33:29 +01:00
Budgets.pm
Calendar.pm Bug 32048: Added clear cache routine to delete_holiday_range_repeatable 2023-09-18 11:45:38 -10:00
Charset.pm
Circulation.pm Bug 30362: Fix GetSoonestRenewDate to really return soonest renew date 2023-08-30 10:06:00 -10:00
ClassSortRoutine.pm
ClassSource.pm
ClassSplitRoutine.pm
Context.pm Bug 32478: (QA follow-up) Keep current hashref behavior 2023-06-09 16:05:07 -03:00
Contract.pm
CourseReserves.pm
Creators.pm
Heading.pm Bug 33557: Add LinkerConsiderThesaurus system preference 2023-05-10 15:26:26 -03:00
HoldsQueue.pm Bug 34678: Allow new entries to overwrite hold_fill_targets 2023-11-07 21:37:08 -10:00
HTML5Media.pm
ImportBatch.pm Bug 34822: Process real time holds along with indexing 2023-10-05 09:46:54 -10:00
ImportExportFramework.pm
InstallAuth.pm
Installer.pm Bug 34174: (bug 33341 follow-up) Fix Ris export 2023-07-17 16:43:20 +01:00
ItemCirculationAlertPreference.pm
Items.pm Bug 34656: Do not update real Time Holds Queue when moving from cart to shelf 2023-09-17 22:03:55 -10:00
Koha.pm Bug 33341: Address some perlcritic errors in 5.36 2023-03-28 14:50:33 +02:00
Labels.pm
Languages.pm Bug 32775: (QA follow-up) Fix tab and indenting issues 2023-05-15 18:23:54 -03:00
Letters.pm Bug 34731: Use Koha::Notice::Message in EnqueueLetter 2023-09-14 07:54:48 -10:00
Linker.pm
Log.pm Bug 32057: (QA follow-up) Remove pretty flag 2023-03-14 08:49:34 -03:00
MarcModificationTemplates.pm
Matcher.pm Bug 26611: Make authority record matching use required match checks 2023-05-24 11:21:31 -03:00
Members.pm Bug 33937: Remove incorrect export in C4::Members 2023-07-12 08:07:53 +01:00
Message.pm Bug 18398: (follow-up) Update POD & Unit tests 2023-03-31 13:13:35 +02:00
Output.pm Bug 30524: Core CSRF checking code 2023-07-28 09:12:39 -10:00
Overdues.pm Bug 34279: Don't enforce overduefinescap unless it is greater than 0 2023-08-07 20:05:46 -10:00
Patroncards.pm
Record.pm
Reports.pm
Reserves.pm Bug 34666: Combine queries in _Findgroupreserve 2023-09-08 09:40:54 -10:00
Ris.pm Bug 34174: (bug 33341 follow-up) Fix Ris export 2023-07-17 16:43:20 +01:00
RotatingCollections.pm Bug 31735: Avoid re-fetcing objects from database by passing them directly instead of ids to various subroutines 2023-05-12 12:40:21 -03:00
Scheduler.pm
Scrubber.pm
Search.pm Bug 33725: (follow-up) Add ccode to grouping logic 2023-06-09 16:05:10 -03:00
Serials.pm Bug 23775: Claiming a serial issue doesn't create the next one 2023-07-17 15:55:19 +01:00
Service.pm
ShelfBrowser.pm
SMS.pm
SocialData.pm
Stats.pm Bug 30928: Add interface to statistics 2023-05-10 14:19:22 -03:00
Suggestions.pm Bug 33236: (follow-up) Remove export of NewSuggestion 2023-06-09 12:04:47 -03:00
Tags.pm
Templates.pm
TmplToken.pm
TmplTokenType.pm
TTParser.pm
UsageStats.pm Bug 33961: Remove built-in offline circ tool 2023-07-17 08:18:59 +01:00
XISBN.pm
XSLT.pm Bug 33567: Remove hardcoded fallback in module 2023-05-12 11:22:42 -03:00