From 68dc097dc9fed5affe5ffadc6decc3a4b11392a8 Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sat, 22 Aug 2020 19:51:36 +0000 Subject: [PATCH] index: --sequential-shard checkpoints after each shard There's no reason we'd want Xapian to defer flushing once we've indexed everything belonging to a particular shard. --- lib/PublicInbox/V2Writable.pm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/PublicInbox/V2Writable.pm b/lib/PublicInbox/V2Writable.pm index b0148dba..3d6f19cb 100644 --- a/lib/PublicInbox/V2Writable.pm +++ b/lib/PublicInbox/V2Writable.pm @@ -1264,8 +1264,11 @@ sub xapian_only { $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); -- 2.44.0