]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/SearchIdx.pm
searchidx: v1: fix retries when Xapian and Msgmap are out-of-sync
[public-inbox.git] / lib / PublicInbox / SearchIdx.pm
index eb228e6bba7fc9089f1793c51a2370815d345c80..f4fa50ff10fc92ef4bf16e4a18935ac5f5a9c2ec 100644 (file)
@@ -484,7 +484,7 @@ sub remove_by_oid {
        for (; $head != $tail; $head++) {
                my $docid = $head->get_docid;
                my $doc = $db->get_document($docid);
-               my $smsg = PublicInbox::Smsg->wrap($mid);
+               my $smsg = bless { mid => $mid }, 'PublicInbox::Smsg';
                $smsg->load_expand($doc);
                if ($smsg->{blob} eq $oid) {
                        push(@delete, $docid);
@@ -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);