about summary refs log tree commit homepage
path: root/lib
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2017-02-06 21:08:13 +0000
committerEric Wong <e@80x24.org>2017-02-06 21:08:35 +0000
commit5d91adedf5f33ef1cb87df2a86306ddf370b4f8d (patch)
treea6a5b3189bf012905cc7f66d7966c4465a8174f3 /lib
parent83425ef12e4b65cdcecd11ddcb38175d4a91d5a0 (diff)
downloadpublic-inbox-5d91adedf5f33ef1cb87df2a86306ddf370b4f8d.tar.gz
We cannot always reuse thread IDs since our threading
logic may change as bugs are fixed.
Diffstat (limited to 'lib')
-rw-r--r--lib/PublicInbox/SearchIdx.pm8
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/PublicInbox/SearchIdx.pm b/lib/PublicInbox/SearchIdx.pm
index 1142ca7a..bc003c6c 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 '';
                 }