]> Sergey Matveev's repositories - public-inbox.git/commitdiff
index: --sequential-shard checkpoints after each shard
authorEric Wong <e@yhbt.net>
Sat, 22 Aug 2020 19:51:36 +0000 (19:51 +0000)
committerEric Wong <e@yhbt.net>
Sun, 23 Aug 2020 00:20:01 +0000 (00:20 +0000)
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

index b0148dba4985d3e9a4d9534a559b10a0b32db5df..3d6f19cb9cf0fb1352f18b9b27404d12b50d757a 100644 (file)
@@ -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);