From 94b29bdb41740b1f0568a90e0bd6dddc2277f098 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 --- C4/ImportBatch.pm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/C4/ImportBatch.pm b/C4/ImportBatch.pm index f9e248b630a..1bdd81b85c8 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.25.1