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);
--
unsubscribe: one-click, see List-Unsubscribe header
archive: https://public-inbox.org/meta/

Reply via email to