about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2021-08-14 00:29:42 +0000
committerEric Wong <e@80x24.org>2021-08-14 05:57:46 +0000
commitc7bcfe6cd6648ff015dcf29155c0c9c40e4f2b00 (patch)
tree4648f28c9769a5630f943a70e3833a5eb0cb2639
parent936641b6ae7d4a40b155adc5b016cf751897884a (diff)
downloadpublic-inbox-c7bcfe6cd6648ff015dcf29155c0c9c40e4f2b00.tar.gz
This may help diagnose "Exception: Document \d+ not found"
errors I'm seeing from "lei up" with HTTPS endpoints.
-rw-r--r--lib/PublicInbox/IPC.pm2
-rw-r--r--lib/PublicInbox/LeiSearch.pm17
2 files changed, 11 insertions, 8 deletions
diff --git a/lib/PublicInbox/IPC.pm b/lib/PublicInbox/IPC.pm
index 497a6035..d909dc1c 100644
--- a/lib/PublicInbox/IPC.pm
+++ b/lib/PublicInbox/IPC.pm
@@ -236,7 +236,7 @@ sub recv_and_run {
         undef $buf;
         my $sub = shift @$args;
         eval { $self->$sub(@$args) };
-        warn "$$ wq_worker: $@" if $@;
+        warn "$$ $0 wq_worker: $@" if $@;
         delete @$self{0..($nfd-1)};
         $n;
 }
diff --git a/lib/PublicInbox/LeiSearch.pm b/lib/PublicInbox/LeiSearch.pm
index 79b2fd7d..f9e5c8e9 100644
--- a/lib/PublicInbox/LeiSearch.pm
+++ b/lib/PublicInbox/LeiSearch.pm
@@ -55,13 +55,16 @@ sub _xsmsg_vmd { # retry_reopen
         $kw{flagged} = 1 if delete($smsg->{lei_q_tt_flagged});
         my @num = $self->over->blob_exists($smsg->{blob});
         for my $num (@num) { # there should only be one...
-                $doc = $xdb->get_document(num2docid($self, $num));
-                $x = xap_terms('K', $doc);
-                %kw = (%kw, %$x);
-                if ($want_label) { # JSON/JMAP only
-                        $x = xap_terms('L', $doc);
-                        %L = (%L, %$x);
-                }
+                eval {
+                        $doc = $xdb->get_document(num2docid($self, $num));
+                        $x = xap_terms('K', $doc);
+                        %kw = (%kw, %$x);
+                        if ($want_label) { # JSON/JMAP only
+                                $x = xap_terms('L', $doc);
+                                %L = (%L, %$x);
+                        }
+                };
+                warn "$$ $0 #$num (nshard=$self->{nshard}) $smsg->{blob}: $@";
         }
         $smsg->{kw} = [ sort keys %kw ] if scalar(keys(%kw));
         $smsg->{L} = [ sort keys %L ] if scalar(keys(%L));