Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 18F80200CEC for ; Tue, 1 Aug 2017 03:00:54 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 176541663B8; Tue, 1 Aug 2017 01:00:54 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 5AACB1663B6 for ; Tue, 1 Aug 2017 03:00:53 +0200 (CEST) Received: (qmail 70063 invoked by uid 500); 1 Aug 2017 01:00:52 -0000 Mailing-List: contact reviews-help@impala.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list reviews@impala.incubator.apache.org Received: (qmail 70043 invoked by uid 99); 1 Aug 2017 01:00:52 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 01 Aug 2017 01:00:52 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id 48A9CC4A88 for ; Tue, 1 Aug 2017 01:00:51 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 0.363 X-Spam-Level: X-Spam-Status: No, score=0.363 tagged_above=-999 required=6.31 tests=[RDNS_DYNAMIC=0.363, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=disabled Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id natE2D0PNHGL for ; Tue, 1 Aug 2017 01:00:38 +0000 (UTC) Received: from ip-10-146-233-104.ec2.internal (ec2-75-101-130-251.compute-1.amazonaws.com [75.101.130.251]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTPS id 2480E5F6CB for ; Tue, 1 Aug 2017 01:00:38 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by ip-10-146-233-104.ec2.internal (8.14.4/8.14.4) with ESMTP id v7110aPS029778; Tue, 1 Aug 2017 01:00:36 GMT Message-Id: <201708010100.v7110aPS029778@ip-10-146-233-104.ec2.internal> Date: Tue, 1 Aug 2017 01:00:36 +0000 From: "Henry Robinson (Code Review)" To: impala-cr@cloudera.com, reviews@impala.incubator.apache.org Reply-To: henry@cloudera.com X-Gerrit-MessageType: newpatchset Subject: =?UTF-8?Q?=5BImpala-ASF-CR=5D_=28PREVIEW=29_IMPALA-5684=3A_Optionally_run_be_tests_in_sharded_mode=0A?= X-Gerrit-Change-Id: I865db25b07728f3886133316ded5122c60490967 X-Gerrit-ChangeURL: X-Gerrit-Commit: 8f3a1c5bf9d39bd71b09e591946d19f9ce642935 In-Reply-To: References: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Content-Disposition: inline User-Agent: Gerrit/2.12.7 archived-at: Tue, 01 Aug 2017 01:00:54 -0000 Henry Robinson has uploaded a new patch set (#2). Change subject: (PREVIEW) IMPALA-5684: Optionally run be tests in sharded mode ...................................................................... (PREVIEW) IMPALA-5684: Optionally run be tests in sharded mode Googletest supports sharded execution, where multiple independent processes can run a subset of a test suite in parallel on the same machine or different machines. This patch adds preliminary support for doing so for some of our backend tests, where the parallelism speedup is worth the extra overhead. How we do this: for every backend test 'foo', add a new test target in CMake, called 'foo_sharded'. That target executes a wrapper script, bin/run-sharded-test.sh, which runs N copies of the test in parallel, with the environment correctly set up to enable sharding. You can run a sharded test like this: ctest -R "foo_sharded" Then, in bin/run-backend-tests.sh, keep a whitelist of tests that can be successfully run in sharded mode (i.e. there are no known conflicts from running multiple copies at once, and the speedup is worth the overhead). Use that list to run ctest twice, once in serial mode with no sharded tests (using -E to exclude those tests) and once in sharded mode running only the whitelisted sharded tests. Each shard process logs to its own directory 'foo_test_shard_N' under the usual logs/be_tests/ root. On my desktop machine, this improves expr-test runtime from ~10 minutes to about 5 minutes. More importantly, this opens up more opportunity for easy latency improvements if we break the large test cases into smaller ones that are parallelisable. Change-Id: I865db25b07728f3886133316ded5122c60490967 --- M be/CMakeLists.txt M bin/run-backend-tests.sh A bin/run-sharded-test.sh 3 files changed, 98 insertions(+), 8 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/67/7467/2 -- To view, visit http://gerrit.cloudera.org:8080/7467 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: newpatchset Gerrit-Change-Id: I865db25b07728f3886133316ded5122c60490967 Gerrit-PatchSet: 2 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Henry Robinson