diff options
author | Eric Wong <e@yhbt.net> | 2020-02-02 06:52:15 +0000 |
---|---|---|
committer | Eric Wong <e@yhbt.net> | 2020-02-02 17:29:50 +0000 |
commit | 2710d3105e70ff467eff9e977325628b4e9dd1c5 (patch) | |
tree | bd394015cdcc32a01b59fe216d46bc5fd6b3ec48 | |
parent | 2b359355ae5839a5597ba81a40194bb3503118a0 (diff) | |
download | public-inbox-2710d3105e70ff467eff9e977325628b4e9dd1c5.tar.gz |
This is to be consistent with the `nproc(1)' code path. It also quiets down a warning from Admin when "-j $JOBS" is specified, since the master process (which distributes work to shards and handles OverIdx and Msgmap) is considered a job on its own.
-rw-r--r-- | lib/PublicInbox/V2Writable.pm | 9 | ||||
-rw-r--r-- | t/xcpdb-reshard.t | 2 |
2 files changed, 3 insertions, 8 deletions
diff --git a/lib/PublicInbox/V2Writable.pm b/lib/PublicInbox/V2Writable.pm index 8ad71b54..37d27302 100644 --- a/lib/PublicInbox/V2Writable.pm +++ b/lib/PublicInbox/V2Writable.pm @@ -34,13 +34,8 @@ our $NPROC_MAX_DEFAULT = 4; sub nproc_shards ($) { my ($creat_opt) = @_; - if (ref($creat_opt) eq 'HASH') { - if (defined(my $n = $creat_opt->{nproc})) { - return $n - } - } - - my $n = $ENV{NPROC}; + my $n = $creat_opt->{nproc} if ref($creat_opt) eq 'HASH'; + $n //= $ENV{NPROC}; if (!$n) { chomp($n = `nproc 2>/dev/null`); # assume 2 cores if GNU nproc(1) is not available diff --git a/t/xcpdb-reshard.t b/t/xcpdb-reshard.t index 9f0034f1..5fce5ead 100644 --- a/t/xcpdb-reshard.t +++ b/t/xcpdb-reshard.t @@ -40,7 +40,7 @@ for my $i (1..$ndoc) { } $im->done; my @shards = grep(m!/\d+\z!, glob("$ibx->{inboxdir}/xap*/*")); -is(scalar(@shards), $nproc, 'got expected shards'); +is(scalar(@shards), $nproc - 1, 'got expected shards'); my $orig = $ibx->over->query_xover(1, $ndoc); my %nums = map {; "$_->{num}" => 1 } @$orig; |