diff --git a/C4/Circulation.pm b/C4/Circulation.pm index e190019ae1..a8c5ba9dbb 100644 --- a/C4/Circulation.pm +++ b/C4/Circulation.pm @@ -3161,7 +3161,8 @@ sub AddRenewal { $renews = ( $item_object->renewals || 0 ) + 1; $item_object->renewals($renews); $item_object->onloan($datedue); - $item_object->store({ log_action => 0 }); + # Don't index as we are in a transaction + $item_object->store({ log_action => 0, skip_record_index => 1 }); # Charge a new rental fee, if applicable my ( $charge, $type ) = GetIssuingCharges( $itemnumber, $borrowernumber ); @@ -3246,6 +3247,9 @@ sub AddRenewal { } }); }); + # We index now, after the transaction is committed + my $indexer = Koha::SearchEngine::Indexer->new({ index => $Koha::SearchEngine::BIBLIOS_INDEX }); + $indexer->index_records( $item_object->biblionumber, "specialUpdate", "biblioserver" ); return $datedue; } diff --git a/Koha/Item.pm b/Koha/Item.pm index a0a18e5fb1..3fd37cc633 100644 --- a/Koha/Item.pm +++ b/Koha/Item.pm @@ -70,10 +70,6 @@ Koha::Item - Koha Item object class $params can take an optional 'skip_record_index' parameter. If set, the reindexation process will not happen (index_records not called) - -NOTE: This is a temporary fix to answer a performance issue when lot of items -are added (or modified) at the same time. -The correct way to fix this is to make the ES reindexation process async. You should not turn it on if you do not understand what it is doing exactly. =cut