https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=40577
--- Comment #2 from Paul Derscheid <[email protected]> --- Created attachment 196139 --> https://bugs.koha-community.org/bugzilla3/attachment.cgi?id=196139&action=edit Bug 40577: Bulk biblio ES index update after auth change When merging (or updating) authorities, the biblios using the auths might also be updated. If this happens, Koha used to create one background job for each biblio. If an auth is used in a lot of biblios, this creates a lot of background jobs, each to index one single biblio. This patch fixes that by collecting the affected biblios and putting all of them into one reindex background job. Test plan: * Apply the patch * run the unit test t/db_dependent/Authority/Merge.t * the test should now have 16 tests in total, with a new test #15 output like this: 1..3 ok 1 - 3 bibliographic record updated while merging two authorities ok 2 - we have only one more background job ok 3 - we have the correct biblio ids in the job to be indexed ok 15 - merge with ModBiblio only creates one indexer background job for multiple biblios ok 16 - no warnings Manual test plan (rather cumbersome): * Start KTD with ElasticSearch * Create an PERSON authority (eg "100a Test") * Create three biblios which use that authority in eg 100 * Access the DB to get the count of background jobs * `ktd --dbshell` * `select count(*) from background_jobs;` * the count should be the same as the number of biblios you created (eg 3). But whatever it is, remeber it * Edit the authority (change 100 to "Test new") * check if the change is reflected in the linked biblios (100a = "Test new") * Check the Background jobs in the DB again: * `select count(*) from background_jobs;` * should be three more than previously (eg 6) * You can use this SQL to verify that the last three jobs each contain one biblionumber (which is what we want to fix): * `select json_extract(data,'$.record_ids'),enqueued_on from background_jobs order by enqueued_on desc limit 3;` +-----------------------------------+---------------------+ | json_extract(data,'$.record_ids') | enqueued_on | +-----------------------------------+---------------------+ | [2299] | 2026-03-25 13:19:34 | | [2300] | 2026-03-25 13:19:34 | | [2301] | 2026-03-25 13:19:34 | +-----------------------------------+---------------------+ * Now apply the patch and run restart_all * Edit the authority again, setting 100a to "Test new patched". * The biblios should change accordingly * Check the Background jobs in the DB again: * `select count(*) from background_jobs;` * This should now be only 1 more then the last time (so eg 7) * Check the details of the background jobs: * `select json_extract(data,'$.record_ids'),enqueued_on from background_jobs order by enqueued_on desc limit 3;` * The most recent entry should now contain three items in one row, and the following two should be the same as in the previous query (i.e. the old jobs from the edit before the patch) +-----------------------------------+---------------------+ | json_extract(data,'$.record_ids') | enqueued_on | +-----------------------------------+---------------------+ | [2299, 2300, 2301] | 2026-03-25 13:29:17 | | [2300] | 2026-03-25 13:19:34 | | [2299] | 2026-03-25 13:19:34 | +-----------------------------------+---------------------+ Signed-off-by: Paul Derscheid <[email protected]> -- You are receiving this mail because: You are the assignee for the bug. You are watching all bug changes. _______________________________________________ Koha-bugs mailing list [email protected] https://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-bugs website : http://www.koha-community.org/ git : http://git.koha-community.org/ bugs : http://bugs.koha-community.org/
