From bf7fdfe4b939c3a97b20fd3e9b65c9cd493a692d Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sun, 26 Sep 2021 00:02:32 +0000 Subject: lei note-event: ignore kw_changed exceptions 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. --- lib/PublicInbox/LeiNoteEvent.pm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'lib/PublicInbox/LeiNoteEvent.pm') 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)) { -- cgit v1.2.3-24-ge0c7