There's no reason we'd want Xapian to defer flushing once we've
indexed everything belonging to a particular shard.
$sync->{art_end} = $art_end;
if ($seq || !$self->{parallel}) {
my $shard_end = $self->{shards} - 1;
$sync->{art_end} = $art_end;
if ($seq || !$self->{parallel}) {
my $shard_end = $self->{shards} - 1;
- for (0..$shard_end) {
- index_xap_step($self, $sync, $art_beg + $_)
+ for my $i (0..$shard_end) {
+ index_xap_step($self, $sync, $art_beg + $i);
+ if ($i != $shard_end) {
+ reindex_checkpoint($self, $sync);
+ }
}
} else { # parallel (maybe)
index_xap_step($self, $sync, $art_beg, 1);
}
} else { # parallel (maybe)
index_xap_step($self, $sync, $art_beg, 1);