]> Sergey Matveev's repositories - public-inbox.git/commitdiff
searchidx: v1: fix retries when Xapian and Msgmap are out-of-sync
authorEric Wong <e@yhbt.net>
Fri, 5 Jun 2020 02:01:10 +0000 (02:01 +0000)
committerEric Wong <e@yhbt.net>
Fri, 5 Jun 2020 06:28:10 +0000 (06:28 +0000)
We forcibly stop git-log here, so erroring out on git-log close
failures is wrong since it sees SIGPIPE.  Noticed while
reindexing a large v1 inbox for IMAP changes.

Fixes: b32b47fb12a3043d ("index: "git log" failures are fatal")
lib/PublicInbox/SearchIdx.pm

index f10a9104e789fe82beae8e8a7b98d3ec9932f6c9..f4fa50ff10fc92ef4bf16e4a18935ac5f5a9c2ec 100644 (file)
@@ -752,10 +752,7 @@ sub _index_sync {
        my $xdb = $self->begin_txn_lazy;
        my $mm = _msgmap_init($self);
        do {
-               if ($xlog) {
-                       close($xlog) or die "git log failed: \$?=$?";
-                       $xlog = undef;
-               }
+               $xlog = undef; # stop previous git-log via SIGPIPE
                $last_commit = _last_x_commit($self, $mm);
                $lx = reindex_from($opts->{reindex}, $last_commit);