]> Sergey Matveev's repositories - public-inbox.git/commitdiff
v2: rename SearchIdxPart => SearchIdxShard
authorEric Wong <e@80x24.org>
Fri, 14 Jun 2019 17:35:04 +0000 (17:35 +0000)
committerEric Wong <e@80x24.org>
Fri, 14 Jun 2019 21:56:40 +0000 (21:56 +0000)
Another step towards keeping our file and package names
consistent with Xapian terminology.

MANIFEST
lib/PublicInbox/SearchIdxShard.pm [moved from lib/PublicInbox/SearchIdxPart.pm with 83% similarity]
lib/PublicInbox/V2Writable.pm

index 3f0a79a671113b6f7722dcd81b67aa451015f7d9..c76939767544da067e55410800f97abc7afffa7d 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -119,7 +119,7 @@ lib/PublicInbox/Reply.pm
 lib/PublicInbox/SaPlugin/ListMirror.pm
 lib/PublicInbox/Search.pm
 lib/PublicInbox/SearchIdx.pm
-lib/PublicInbox/SearchIdxPart.pm
+lib/PublicInbox/SearchIdxShard.pm
 lib/PublicInbox/SearchMsg.pm
 lib/PublicInbox/SearchThread.pm
 lib/PublicInbox/SearchView.pm
similarity index 83%
rename from lib/PublicInbox/SearchIdxPart.pm
rename to lib/PublicInbox/SearchIdxShard.pm
index 77fb7d901ab6aedb0facf09bfc6aa184459470e5..15ec6578e67ee9190a246d27e40677ca233f8b2e 100644 (file)
@@ -3,23 +3,23 @@
 
 # used to interface with a single Xapian shard in V2 repos.
 # See L<public-inbox-v2-format(5)> for more info on how we shard Xapian
-package PublicInbox::SearchIdxPart;
+package PublicInbox::SearchIdxShard;
 use strict;
 use warnings;
 use base qw(PublicInbox::SearchIdx);
 
 sub new {
-       my ($class, $v2writable, $part) = @_;
-       my $self = $class->SUPER::new($v2writable->{-inbox}, 1, $part);
+       my ($class, $v2writable, $shard) = @_;
+       my $self = $class->SUPER::new($v2writable->{-inbox}, 1, $shard);
        # create the DB before forking:
        $self->_xdb_acquire;
        $self->_xdb_release;
-       $self->spawn_worker($v2writable, $part) if $v2writable->{parallel};
+       $self->spawn_worker($v2writable, $shard) if $v2writable->{parallel};
        $self;
 }
 
 sub spawn_worker {
-       my ($self, $v2writable, $part) = @_;
+       my ($self, $v2writable, $shard) = @_;
        my ($r, $w);
        pipe($r, $w) or die "pipe failed: $!\n";
        binmode $r, ':raw';
@@ -35,8 +35,8 @@ sub spawn_worker {
                # speeds V2Writable batch imports across 8 cores by nearly 20%
                fcntl($r, 1031, 1048576) if $^O eq 'linux';
 
-               eval { partition_worker_loop($self, $r, $part, $bnote) };
-               die "worker $part died: $@\n" if $@;
+               eval { shard_worker_loop($self, $r, $shard, $bnote) };
+               die "worker $shard died: $@\n" if $@;
                die "unexpected MM $self->{mm}" if $self->{mm};
                exit;
        }
@@ -45,14 +45,14 @@ sub spawn_worker {
        close $r or die "failed to close: $!";
 }
 
-sub partition_worker_loop ($$$$) {
-       my ($self, $r, $part, $bnote) = @_;
-       $0 = "pi-v2-shard[$part]";
+sub shard_worker_loop ($$$$) {
+       my ($self, $r, $shard, $bnote) = @_;
+       $0 = "pi-v2-shard[$shard]";
        my $current_info = '';
        my $warn_cb = $SIG{__WARN__} || sub { print STDERR @_ };
        local $SIG{__WARN__} = sub {
                chomp $current_info;
-               $warn_cb->("[$part] $current_info: ", @_);
+               $warn_cb->("[$shard] $current_info: ", @_);
        };
        $self->begin_txn_lazy;
        while (my $line = $r->getline) {
@@ -64,7 +64,7 @@ sub partition_worker_loop ($$$$) {
                } elsif ($line eq "barrier\n") {
                        $self->commit_txn_lazy;
                        # no need to lock < 512 bytes is atomic under POSIX
-                       print $bnote "barrier $part\n" or
+                       print $bnote "barrier $shard\n" or
                                        die "write failed for barrier $!\n";
                } elsif ($line =~ /\AD ([a-f0-9]{40,}) (.+)\n\z/s) {
                        my ($oid, $mid) = ($1, $2);
index aa13aa8fb4722d7215422182bbcc024b5efacacf..cc9ebfed31db2539714b1e5c213ccf683978eeab 100644 (file)
@@ -7,7 +7,7 @@ package PublicInbox::V2Writable;
 use strict;
 use warnings;
 use base qw(PublicInbox::Lock);
-use PublicInbox::SearchIdxPart;
+use PublicInbox::SearchIdxShard;
 use PublicInbox::MIME;
 use PublicInbox::Git;
 use PublicInbox::Import;
@@ -300,7 +300,7 @@ sub idx_init {
                # idx_parts must be visible to all forked processes
                my $idx = $self->{idx_parts} = [];
                for my $i (0..$max) {
-                       push @$idx, PublicInbox::SearchIdxPart->new($self, $i);
+                       push @$idx, PublicInbox::SearchIdxShard->new($self, $i);
                }
 
                # Now that all subprocesses are up, we can open the FDs