From 5a1ee8a928382bc3fac9b8faff67b0c24396ff9b Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Tue, 27 Oct 2020 07:54:53 +0000 Subject: [PATCH] searchidxshard: make warnings with eidx_key less confusing Seeing "Xorg.foo.bar" can be confusing in warnings if the eidx_key is only "org.foo.bar" with no relation to "Xorg" at all. Furthermore, printing "\0" to log or terminal output isn't very nice and could throw off some users/tools. --- lib/PublicInbox/SearchIdxShard.pm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/PublicInbox/SearchIdxShard.pm b/lib/PublicInbox/SearchIdxShard.pm index 644d8b58..e194b7e0 100644 --- a/lib/PublicInbox/SearchIdxShard.pm +++ b/lib/PublicInbox/SearchIdxShard.pm @@ -87,8 +87,9 @@ sub shard_worker_loop ($$$$$) { } else { chomp $line; my $eidx_key; - if ($line =~ s/\AX(.+)\0//) { + if ($line =~ s/\AX=(.+)\0//) { $eidx_key = $1; + $v2w->{current_info} =~ s/\0/\\0/; } # n.b. $mid may contain spaces(!) my ($len, $bytes, $num, $oid, $ds, $ts, $tid, $mid) @@ -114,7 +115,7 @@ sub index_raw { my ($self, $msgref, $eml, $smsg, $ibx) = @_; if (my $w = $self->{w}) { if ($ibx) { - print $w 'X', $ibx->eidx_key, "\0" or die + print $w 'X=', $ibx->eidx_key, "\0" or die "failed to write shard: $!\n"; } $msgref //= \($eml->as_string); -- 2.44.0