From 6b10ecfaf10ca2b555ea1aee915c3ac4377860ed Mon Sep 17 00:00:00 2001 From: Nick Clemens Date: Thu, 20 Apr 2023 16:02:09 +0000 Subject: [PATCH] Bug 33576: Index records after import transaction is committed This patch simply moves our indexing call after the transaction is committed so that the job will exist in the DB when called. To test: 1 - Have Koha using Elasticsearch 2 - Stage and import a file of records 3 - View the job in Admin->Manage jobs 4 - Note it is not finished 5 - Check log: /var/log/koha/kohadev/es-indexer-output.log 6 - Note: [WARN] No job found for id=### 7 - Apply patch 8 - Stage and import 9 - Note no error in log 10 - Note successful completion of indexing job --- C4/ImportBatch.pm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/C4/ImportBatch.pm b/C4/ImportBatch.pm index f9e248b630..1bdd81b85c 100644 --- a/C4/ImportBatch.pm +++ b/C4/ImportBatch.pm @@ -714,15 +714,16 @@ sub BatchCommitRecords { $sth->finish(); + SetImportBatchStatus($batch_id, 'imported'); + + # Moved final commit to the end + $schema->txn_commit; + if ( @biblio_ids ) { my $indexer = Koha::SearchEngine::Indexer->new({ index => $Koha::SearchEngine::BIBLIOS_INDEX }); $indexer->index_records( \@biblio_ids, "specialUpdate", "biblioserver" ); } - SetImportBatchStatus($batch_id, 'imported'); - - # Moved final commit to the end - $schema->txn_commit; return ($num_added, $num_updated, $num_items_added, $num_items_replaced, $num_items_errored, $num_ignored); } -- 2.30.2