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 E44D7200D0E for ; Tue, 26 Sep 2017 19:38:21 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id E2C7D1609EA; Tue, 26 Sep 2017 17:38:21 +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 32B881609C4 for ; Tue, 26 Sep 2017 19:38:21 +0200 (CEST) Received: (qmail 82630 invoked by uid 500); 26 Sep 2017 17:38:20 -0000 Mailing-List: contact commits-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@hbase.apache.org Delivered-To: mailing list commits@hbase.apache.org Received: (qmail 82621 invoked by uid 99); 26 Sep 2017 17:38:20 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 26 Sep 2017 17:38:20 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 3FD62F5615; Tue, 26 Sep 2017 17:38:20 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: apurtell@apache.org To: commits@hbase.apache.org Date: Tue, 26 Sep 2017 17:38:20 -0000 Message-Id: X-Mailer: ASF-Git Admin Mailer Subject: [1/4] hbase git commit: Amend HBASE-18830 TestCanaryTool does not check Canary monitor's error code archived-at: Tue, 26 Sep 2017 17:38:22 -0000 Repository: hbase Updated Branches: refs/heads/branch-1 fa7d0ccb0 -> 3abc0458e refs/heads/branch-1.4 52970c05d -> f391fc44d refs/heads/branch-2 6d0eb0eef -> ede916af5 refs/heads/master 9e7b16b88 -> 91e1f834b Amend HBASE-18830 TestCanaryTool does not check Canary monitor's error code Adjust exception control flow to fix findbugs warning NP_NULL_ON_SOME_PATH_EXCEPTION, Possible null pointer dereference of regionSink in org.apache.hadoop.hbase.tool.Canary$RegionMonitor.run() on exception path Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/3abc0458 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/3abc0458 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/3abc0458 Branch: refs/heads/branch-1 Commit: 3abc0458e9ccd5b529581dcff4b6a0dba594fcdc Parents: fa7d0cc Author: Andrew Purtell Authored: Tue Sep 26 08:33:19 2017 -0700 Committer: Andrew Purtell Committed: Tue Sep 26 10:38:09 2017 -0700 ---------------------------------------------------------------------- .../main/java/org/apache/hadoop/hbase/tool/Canary.java | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hbase/blob/3abc0458/hbase-server/src/main/java/org/apache/hadoop/hbase/tool/Canary.java ---------------------------------------------------------------------- diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/tool/Canary.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/tool/Canary.java index 755dae0..a2b3d02 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/tool/Canary.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/tool/Canary.java @@ -1022,19 +1022,14 @@ public final class Canary implements Tool { if (this.initAdmin()) { try { List> taskFutures = new LinkedList<>(); - RegionStdOutSink regionSink = null; - try { - regionSink = this.getSink(); - } catch (RuntimeException e) { - LOG.error("Run RegionMonitor failed!", e); - this.errorCode = ERROR_EXIT_CODE; - } + RegionStdOutSink regionSink = this.getSink(); if (this.targets != null && this.targets.length > 0) { String[] tables = generateMonitorTables(this.targets); // Check to see that each table name passed in the -readTableTimeouts argument is also passed as a monitor target. if (! new HashSet<>(Arrays.asList(tables)).containsAll(this.configuredReadTableTimeouts.keySet())) { LOG.error("-readTableTimeouts can only specify read timeouts for monitor targets passed via command line."); this.errorCode = USAGE_EXIT_CODE; + return; } this.initialized = true; for (String table : tables) { @@ -1097,7 +1092,9 @@ public final class Canary implements Tool { } catch (Exception e) { LOG.error("Run regionMonitor failed", e); this.errorCode = ERROR_EXIT_CODE; - } + } finally { + this.done = true; + } } this.done = true; }