Bug 29387: Stringify exception when logging error during a batch mod biblio
authorJonathan Druart <jonathan.druart@bugs.koha-community.org>
Tue, 2 Nov 2021 09:43:57 +0000 (10:43 +0100)
committerJonathan Druart <jonathan.druart@bugs.koha-community.org>
Fri, 19 Nov 2021 14:23:27 +0000 (15:23 +0100)
commit27793b89797fa3bdce7c39d70c020fbabb44fb1b
tree642750aac00bad249208fecb8ac88ba985db705b
parent62316cd58590c47594865a88b23ad2854c6f7fa3
Bug 29387: Stringify exception when logging error during a batch mod biblio

If an exception is raised by one the methods/subroutines called when batch biblio update, the job will fail in the middle and some records won't be processed.

Test plan:
0. Don't apply the patch
In KTD you can run the a batch mod biblio on the 100 first records and
the worker will fail with
"""
countered object 'C4::Biblio::_koha_modify_biblioitem_nonmarc(): DBI Exception: DBD::mysql::st execute failed: Data too long for column 'lccn' at row 1 at /kohadevbox/koha/C4/Biblio.pm line 423
', but neither allow_blessed, convert_blessed nor allow_tags settings are enabled (or TO_JSON/FREEZE method missing) at /kohadevbox/koha/Koha/BackgroundJob/BatchUpdateBiblio.pm line 120.
"""
The UI is not saying anything about this problem.

Generate 100 biblionumbers: perl -e 'for (1..100){print "$_\n"}'
1. Apply the patch and confirm than now you see the detail of the batch
update and that biblionumber 72 is marked as not been modified with the
correct error (raw DBI error)

JK: add executable bit to BatchUpdateBiblio.t
Signed-off-by: Joonas Kylmälä <joonas.kylmala@iki.fi>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Koha/BackgroundJob/BatchUpdateBiblio.pm
t/db_dependent/Koha/BackgroundJobs/BatchUpdateBiblio.t [new file with mode: 0755]