From 5df08b6cd4931e87c1cf676014256d00e3cdfc2c Mon Sep 17 00:00:00 2001
From: Eric Wong <e@yhbt.net>
Date: Fri, 5 Jun 2020 02:01:10 +0000
Subject: [PATCH] searchidx: v1: fix retries when Xapian and Msgmap are
 out-of-sync

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 | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/lib/PublicInbox/SearchIdx.pm b/lib/PublicInbox/SearchIdx.pm
index f10a9104..f4fa50ff 100644
--- a/lib/PublicInbox/SearchIdx.pm
+++ b/lib/PublicInbox/SearchIdx.pm
@@ -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);
 
-- 
2.50.0