From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: X-Spam-Status: No, score=-4.0 required=3.0 tests=ALL_TRUSTED,BAYES_00 shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id 0DE081F880 for ; Sun, 2 Feb 2020 06:52:23 +0000 (UTC) From: Eric Wong To: meta@public-inbox.org Subject: [PATCH 2/9] v2writable: nproc_shards: subtract 1 from given value Date: Sun, 2 Feb 2020 06:52:15 +0000 Message-Id: <20200202065222.14966-3-e@yhbt.net> In-Reply-To: <20200202065222.14966-1-e@yhbt.net> References: <20200202065222.14966-1-e@yhbt.net> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: 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. --- lib/PublicInbox/V2Writable.pm | 9 ++------- 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;