diff options
author | Eric Wong (Contractor, The Linux Foundation) <e@80x24.org> | 2018-03-03 20:21:05 +0000 |
---|---|---|
committer | Eric Wong (Contractor, The Linux Foundation) <e@80x24.org> | 2018-03-03 20:24:43 +0000 |
commit | 031dcde21cd8dab5494d9715ba50d6a539e3fb42 (patch) | |
tree | 172df048191ee4cb07388f8d0b2a1e7246552667 /lib/PublicInbox/SearchIdxPart.pm | |
parent | b212aee7e13c460b73a3632458ae96c39d9eac97 (diff) | |
download | public-inbox-031dcde21cd8dab5494d9715ba50d6a539e3fb42.tar.gz |
We can't rely on header order for Message-ID after all since we fall back to existing MIDs if they exist and are unseen. This lets us use SearchMsg->mid to get the MID we associated with the NNTP article number to ensure all NNTP article lookups roundtrip correctly.
Diffstat (limited to 'lib/PublicInbox/SearchIdxPart.pm')
-rw-r--r-- | lib/PublicInbox/SearchIdxPart.pm | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/PublicInbox/SearchIdxPart.pm b/lib/PublicInbox/SearchIdxPart.pm index 2f577ecf..6d8cb2a7 100644 --- a/lib/PublicInbox/SearchIdxPart.pm +++ b/lib/PublicInbox/SearchIdxPart.pm @@ -51,7 +51,7 @@ sub partition_worker_loop ($$$) { $xdb = $txn = undef; } else { chomp $line; - my ($len, $artnum, $object_id) = split(/ /, $line); + my ($len, $artnum, $oid, $mid0) = split(/ /, $line); $xdb ||= $self->_xdb_acquire; if (!$txn) { $xdb->begin_transaction; @@ -61,7 +61,7 @@ sub partition_worker_loop ($$$) { $n == $len or die "short read: $n != $len\n"; my $mime = PublicInbox::MIME->new(\$msg); $artnum = int($artnum); - $self->add_message($mime, $n, $artnum, $object_id); + $self->add_message($mime, $n, $artnum, $oid, $mid0); } } warn "$$ still in transaction\n" if $txn; @@ -70,9 +70,9 @@ sub partition_worker_loop ($$$) { # called by V2Writable sub index_raw { - my ($self, $len, $msgref, $artnum, $object_id) = @_; + my ($self, $len, $msgref, $artnum, $object_id, $mid0) = @_; my $w = $self->{w}; - print $w "$len $artnum $object_id\n", $$msgref or die + print $w "$len $artnum $object_id $mid0\n", $$msgref or die "failed to write partition $!\n"; $w->flush or die "failed to flush: $!\n"; } |