diff options
author | Eric Wong <e@80x24.org> | 2021-09-26 00:02:32 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2021-09-26 00:06:30 +0000 |
commit | bf7fdfe4b939c3a97b20fd3e9b65c9cd493a692d (patch) | |
tree | 39f6f1681b409f1489aba56ddd3eae7c122738d7 /lib/PublicInbox/LeiNoteEvent.pm | |
parent | 69225ecae508b9bb83960ac51e38d7d5eade2a6a (diff) | |
download | public-inbox-bf7fdfe4b939c3a97b20fd3e9b65c9cd493a692d.tar.gz |
The note-event worker may see changes before a Xapian shard commit happens, meaning keyword lookups fail as a result. Just emit the request to the lei/store worker since it's a fairly cheap operation at this point. We'll try harder to look for kw changes, too, since deduplication changes may lead to multiple docids being resolved for a single message.
Diffstat (limited to 'lib/PublicInbox/LeiNoteEvent.pm')
-rw-r--r-- | lib/PublicInbox/LeiNoteEvent.pm | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/PublicInbox/LeiNoteEvent.pm b/lib/PublicInbox/LeiNoteEvent.pm index d2429485..2a7b52c1 100644 --- a/lib/PublicInbox/LeiNoteEvent.pm +++ b/lib/PublicInbox/LeiNoteEvent.pm @@ -42,7 +42,9 @@ sub eml_event ($$$$) { $sto->wq_do('index_eml_only', $eml, $vmd, $xoids); } elsif ($state =~ /\Atag-(?:rw|ro)\z/) { my $docids = []; - my $c = $self->{lse}->kw_changed($eml, $vmd->{kw}, $docids); + my $c = eval { + $self->{lse}->kw_changed($eml, $vmd->{kw}, $docids); + } // 1; # too new, assume changed since still to-be-committed. if (scalar @$docids) { # already in lei/store $sto->wq_do('set_eml_vmd', undef, $vmd, $docids) if $c; } elsif (my $xoids = $self->{lei}->ale->xoids_for($eml)) { |