@@ -, +, @@ combination of arguments --- Koha/BiblioUtils.pm | 2 -- Koha/MetadataRecord/Authority.pm | 2 -- misc/search_tools/rebuild_elastic_search.pl | 23 ++++++++++++----------- 3 files changed, 12 insertions(+), 15 deletions(-) --- a/Koha/BiblioUtils.pm +++ a/Koha/BiblioUtils.pm @@ -129,8 +129,6 @@ sub get_all_biblios_iterator { if ($options{slice}) { $slice_count = $options{slice}->{count}; $slice_modulo = $options{slice}->{index}; - $slice_modulo = 0 if ($slice_modulo == $slice_count); - $search_terms = \[ ' mod(biblionumber, ?) = ?', $slice_count, $slice_modulo]; } --- a/Koha/MetadataRecord/Authority.pm +++ a/Koha/MetadataRecord/Authority.pm @@ -180,8 +180,6 @@ sub get_all_authorities_iterator { if ($options{slice}) { $slice_count = $options{slice}->{count}; $slice_modulo = $options{slice}->{index}; - $slice_modulo = 0 if ($slice_modulo == $slice_count); - $search_terms->{authid} = \[ ' mod ? = ?', $slice_count, $slice_modulo]; $search_terms = { '-and' => [ --- a/misc/search_tools/rebuild_elastic_search.pl +++ a/misc/search_tools/rebuild_elastic_search.pl @@ -122,6 +122,10 @@ unless ($index_authorities || $index_biblios) { $index_authorities = $index_biblios = 1; } +if ($processes && @record_numbers) { + die "Argument p|processes cannot be combined with bn|bnumber"; +} + pod2usage(1) if $help; pod2usage( -exitstatus => 0, -verbose => 2 ) if $man; @@ -132,11 +136,12 @@ _verify_index_state($Koha::SearchEngine::Elasticsearch::AUTHORITIES_INDEX, $dele my $slice_index = 0; my $slice_count = $processes // 1; +my %iterator_options; if ($slice_count > 1) { # Fire up child processes for processing slices from 2 on. This main process will handle slice 1. - $slice_index = 1; - for (my $proc = 2; $proc <= $processes; $proc++) { + $slice_index = 0; + for (my $proc = 1; $proc < $slice_count; $proc++) { my $pid = fork(); die "Failed to fork a child process\n" unless defined $pid; if ($pid == 0) { @@ -146,12 +151,8 @@ if ($slice_count > 1) { } } # Fudge the commit count a bit to spread out the Elasticsearch commits - $commit *= 1 + 0.10 * ($slice_index - 1); -} - -my %iterator_options; -if ($slice_index) { - _log(1, "Processing slice $slice_index of $slice_count\n"); + $commit *= 1 + 0.10 * $slice_index; + _log(1, "Processing slice @{[$slice_index + 1]} of $slice_count\n"); $iterator_options{slice} = { index => $slice_index, count => $slice_count }; } @@ -190,16 +191,16 @@ if ($index_authorities) { _do_reindex($next, $Koha::SearchEngine::Elasticsearch::AUTHORITIES_INDEX); } -if ($slice_index == 1) { +if ($slice_index == 0) { # Main process, wait for children - for (my $proc = 2; $proc <= $processes; $proc++) { + for (my $proc = 1; $proc < $processes; $proc++) { wait(); } } =head2 _verify_index_state - _ verify_index_state($Koha::SearchEngine::Elasticsearch::BIBLIOS_INDEX, 1); + _verify_index_state($Koha::SearchEngine::Elasticsearch::BIBLIOS_INDEX, 1); Checks the index state and recreates it if requested. --