From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: X-Spam-Status: No, score=-4.0 required=3.0 tests=ALL_TRUSTED,BAYES_00 shortcircuit=no autolearn=ham autolearn_force=no version=3.4.0 Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id C469E1FC47 for ; Mon, 6 Feb 2017 21:55:33 +0000 (UTC) From: Eric Wong To: meta@public-inbox.org Subject: [PATCH 1/3] searchidx: reindex clobbers old thread IDs Date: Mon, 6 Feb 2017 21:55:28 +0000 Message-Id: <20170206215530.25722-2-e@80x24.org> In-Reply-To: <20170206215530.25722-1-e@80x24.org> References: <20170206215530.25722-1-e@80x24.org> List-Id: We cannot always reuse thread IDs since our threading logic may change as bugs are fixed. --- lib/PublicInbox/SearchIdx.pm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/PublicInbox/SearchIdx.pm b/lib/PublicInbox/SearchIdx.pm index 1142ca7..bc003c6 100644 --- a/lib/PublicInbox/SearchIdx.pm +++ b/lib/PublicInbox/SearchIdx.pm @@ -157,6 +157,10 @@ sub add_message { # it will also clobber any existing regular message $doc_id = $smsg->{doc_id}; $old_tid = $smsg->thread_id; + + # no need to remove_term for old_tid, we use a new + # doc to replace the old one when reindexing: + $old_tid = undef if $self->{reindex}; } $smsg = PublicInbox::SearchMsg->new($mime); my $doc = $smsg->{doc}; @@ -464,7 +468,7 @@ sub _git_log { sub _index_sync { my ($self, $opts) = @_; my $tip = $opts->{ref} || 'HEAD'; - my $reindex = $opts->{reindex}; + $self->{reindex} = $opts->{reindex}; my ($mkey, $last_commit, $lx, $xlog); $self->{git}->batch_prepare; my $xdb = _xdb_acquire($self); @@ -474,7 +478,7 @@ sub _index_sync { $mkey = 'last_commit'; $last_commit = $xdb->get_metadata('last_commit'); $lx = $last_commit; - if ($reindex) { + if ($self->{reindex}) { $lx = ''; $mkey = undef if $last_commit ne ''; } -- EW