From 9af2f3d12cef6a679763117a0c086468868c79f5 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 Signed-off-by: Jonathan Druart Signed-off-by: Marcel de Rooy Signed-off-by: Tomas Cohen Arazi --- C4/ImportBatch.pm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/C4/ImportBatch.pm b/C4/ImportBatch.pm index 8f5cf00a1c..a200876bb2 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.39.2