diff options
author | Eric Wong <e@80x24.org> | 2020-12-15 02:02:24 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2020-12-17 19:13:16 +0000 |
commit | 6b8441407e495e9c8fcd9c31f60654ed8c7d786e (patch) | |
tree | cb9bca0ac11eb75ad9d3766de7314665327dd7e8 /lib/PublicInbox | |
parent | c1b98f98edfc8a023609890a1cfe856579819926 (diff) | |
download | public-inbox-6b8441407e495e9c8fcd9c31f60654ed8c7d786e.tar.gz |
This overdue change fixes {current_info} to not inject a newline into every warning message. Simpler code helps us avoid bugs and the need to make fixes like commit 44de182766037948d62bc2a8ba924de2264dd5fc ("searchidxshard: chomp $eidx_key from pipe").
Diffstat (limited to 'lib/PublicInbox')
-rw-r--r-- | lib/PublicInbox/SearchIdxShard.pm | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/lib/PublicInbox/SearchIdxShard.pm b/lib/PublicInbox/SearchIdxShard.pm index ee00858b..2e654769 100644 --- a/lib/PublicInbox/SearchIdxShard.pm +++ b/lib/PublicInbox/SearchIdxShard.pm @@ -69,33 +69,31 @@ sub shard_worker_loop ($$$$$) { $0 = "shard[$shard]"; $self->begin_txn_lazy; while (my $line = readline($r)) { + chomp $line; $v2w->{current_info} = "[$shard] $line"; - if ($line eq "commit\n") { + if ($line eq 'commit') { $self->commit_txn_lazy; - } elsif ($line eq "close\n") { + } elsif ($line eq 'close') { $self->idx_release; - } elsif ($line eq "barrier\n") { + } elsif ($line eq 'barrier') { $self->commit_txn_lazy; # no need to lock < 512 bytes is atomic under POSIX print $bnote "barrier $shard\n" or die "write failed for barrier $!\n"; - } elsif ($line =~ /\AD ([0-9]+)\n\z/s) { + } elsif ($line =~ /\AD ([0-9]+)\z/s) { $self->remove_by_docid($1 + 0); } elsif ($line =~ s/\A\+X //) { my ($len, $docid, $eidx_key) = split(/ /, $line, 3); - chomp $eidx_key; $self->add_eidx_info($docid, $eidx_key, eml($r, $len)); } elsif ($line =~ s/\A-X //) { my ($len, $docid, $eidx_key) = split(/ /, $line, 3); - chomp $eidx_key; $self->remove_eidx_info($docid, $eidx_key, eml($r, $len)); - } elsif ($line =~ s/\AO ([^\n]+)\n//) { + } elsif ($line =~ s/\AO ([^\n]+)//) { my $over_fn = $1; $over_fn =~ tr/\0/\n/; $self->over_check(PublicInbox::Over->new($over_fn)); } else { - chomp $line; my $eidx_key; if ($line =~ s/\AX=(.+)\0//) { $eidx_key = $1; |