]> Sergey Matveev's repositories - public-inbox.git/commitdiff
searchidx: correct warning for over-vivification
authorEric Wong (Contractor, The Linux Foundation) <e@80x24.org>
Fri, 30 Mar 2018 20:55:13 +0000 (20:55 +0000)
committerEric Wong (Contractor, The Linux Foundation) <e@80x24.org>
Fri, 30 Mar 2018 21:05:49 +0000 (21:05 +0000)
We will vivify multiple ghosts if a message has multiple
Message-IDs.

lib/PublicInbox/SearchIdx.pm

index 9638e0c559a956d96218552fdd720bfe7333e546..36f97b36d7bb8170237884bd27742cc6afed0fd1 100644 (file)
@@ -539,9 +539,9 @@ sub link_and_save {
        $doc->add_boolean_term('XPATH' . $xpath) if defined $xpath;
        $doc->add_boolean_term('Q' . $_) foreach @$mids;
 
-       my $vivified = 0;
        $self->{skel} and die "Should not have read-only skel here\n";;
        foreach my $mid (@$mids) {
+               my $vivified = 0;
                $self->each_smsg_by_mid($mid, sub {
                        my ($cur) = @_;
                        my $type = $cur->type;
@@ -563,10 +563,8 @@ sub link_and_save {
                        ++$vivified;
                        1;
                });
-       }
-       if ($vivified > 1) {
-               my $id = '<'.join('> <', @$mids).'>';
-               warn "BUG: vivified multiple ($vivified) ghosts for $id\n";
+               $vivified > 1 and warn
+                       "BUG: vivified multiple ($vivified) ghosts for $mid\n";
        }
        # not really important, but we return any vivified ghost docid, here:
        return $doc_id if defined $doc_id;