]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/V2Writable.pm
v2writable: fix non-sensical interpolation in BUG message
[public-inbox.git] / lib / PublicInbox / V2Writable.pm
index bf5a0df947aaa1d04275461663ae29167f581b3a..1a824531f3cb2df71a8bdd015f891ac6dd6edcfd 100644 (file)
@@ -75,11 +75,14 @@ sub count_shards ($) {
        # Also, shard count may change while -watch is running
        # due to "xcpdb --reshard"
        if (-d $xpfx) {
-               require PublicInbox::Search;
-               PublicInbox::Search::load_xapian();
-               my $XapianDatabase = $PublicInbox::Search::X{Database};
+               my $XapianDatabase;
                foreach my $shard (<$xpfx/*>) {
                        -d $shard && $shard =~ m!/[0-9]+\z! or next;
+                       $XapianDatabase //= do {
+                               require PublicInbox::Search;
+                               PublicInbox::Search::load_xapian();
+                               $PublicInbox::Search::X{Database};
+                       };
                        eval {
                                $XapianDatabase->new($shard)->close;
                                $n++;
@@ -159,7 +162,7 @@ sub do_idx ($$$$) {
        my $idx = idx_shard($self, $smsg->{num} % $self->{shards});
        $idx->index_raw($msgref, $mime, $smsg);
        my $n = $self->{transact_bytes} += $smsg->{bytes};
-       $n >= (PublicInbox::SearchIdx::BATCH_BYTES * $self->{shards});
+       $n >= ($PublicInbox::SearchIdx::BATCH_BYTES * $self->{shards});
 }
 
 sub _add {
@@ -179,7 +182,7 @@ sub _add {
 
        my ($num, $mid0) = v2_num_for($self, $mime);
        defined $num or return; # duplicate
-       defined $mid0 or die "BUG: $mid0 undefined\n";
+       defined $mid0 or die "BUG: \$mid0 undefined\n";
        my $im = $self->importer;
        my $smsg = bless { mid => $mid0, num => $num }, 'PublicInbox::Smsg';
        my $cmt = $im->add($mime, undef, $smsg); # sets $smsg->{ds|ts|blob}
@@ -606,7 +609,7 @@ sub barrier_wait {
        my $bnote = $self->{bnote} or return;
        my $r = $bnote->[0];
        while (scalar keys %$barrier) {
-               defined(my $l = $r->getline) or die "EOF on barrier_wait: $!";
+               defined(my $l = readline($r)) or die "EOF on barrier_wait: $!";
                $l =~ /\Abarrier (\d+)/ or die "bad line on barrier_wait: $l";
                delete $barrier->{$1} or die "bad shard[$1] on barrier wait";
        }