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 BAA21200C88 for ; Fri, 2 Jun 2017 15:53:36 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id B98C1160BE6; Fri, 2 Jun 2017 13:53:36 +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 D9D57160BD1 for ; Fri, 2 Jun 2017 15:53:35 +0200 (CEST) Received: (qmail 26511 invoked by uid 500); 2 Jun 2017 13:53:35 -0000 Mailing-List: contact commits-help@cassandra.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list commits@cassandra.apache.org Received: (qmail 26493 invoked by uid 99); 2 Jun 2017 13:53:35 -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; Fri, 02 Jun 2017 13:53:35 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id E4EC4DFDE2; Fri, 2 Jun 2017 13:53:34 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: marcuse@apache.org To: commits@cassandra.apache.org Date: Fri, 02 Jun 2017 13:53:34 -0000 Message-Id: <99c8d6094a7d41eeacc4c5a30207cb3a@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [1/6] cassandra git commit: nodetool scrub/cleanup/upgradesstables exit code archived-at: Fri, 02 Jun 2017 13:53:36 -0000 Repository: cassandra Updated Branches: refs/heads/cassandra-3.0 e22cb278b -> 6bf5cf7f0 refs/heads/cassandra-3.11 5c9db9af9 -> ac3afba0c refs/heads/trunk 9c49fbcc5 -> 3e73d7f6b nodetool scrub/cleanup/upgradesstables exit code Patch by marcuse; reviewed by Jeff Jirsa for CASSANDRA-13542 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/6bf5cf7f Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/6bf5cf7f Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/6bf5cf7f Branch: refs/heads/cassandra-3.0 Commit: 6bf5cf7f090eef853c02711bf4079b0f16748088 Parents: e22cb27 Author: Marcus Eriksson Authored: Mon May 22 08:46:17 2017 +0200 Committer: Marcus Eriksson Committed: Fri Jun 2 15:49:17 2017 +0200 ---------------------------------------------------------------------- CHANGES.txt | 1 + .../db/compaction/CompactionManager.java | 12 ++++- .../org/apache/cassandra/tools/NodeProbe.java | 48 +++++++++++++++----- 3 files changed, 47 insertions(+), 14 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/6bf5cf7f/CHANGES.txt ---------------------------------------------------------------------- diff --git a/CHANGES.txt b/CHANGES.txt index 4232084..8ab8422 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 3.0.14 + * nodetool scrub/cleanup/upgradesstables exit code is wrong (CASSANDRA-13542) * Fix the reported number of sstable data files accessed per read (CASSANDRA-13120) * Fix schema digest mismatch during rolling upgrades from versions before 3.0.12 (CASSANDRA-13559) * Upgrade JNA version to 4.4.0 (CASSANDRA-13072) http://git-wip-us.apache.org/repos/asf/cassandra/blob/6bf5cf7f/src/java/org/apache/cassandra/db/compaction/CompactionManager.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java index 8d470d5..e0fe4ec 100644 --- a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java +++ b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java @@ -287,7 +287,10 @@ public class CompactionManager implements CompactionManagerMBean List transactions = new ArrayList<>(); try (LifecycleTransaction compacting = cfs.markAllCompacting(operationType)) { - Iterable sstables = compacting != null ? Lists.newArrayList(operation.filterSSTables(compacting)) : Collections.emptyList(); + if (compacting == null) + return AllSSTableOpStatus.UNABLE_TO_CANCEL; + + Iterable sstables = Lists.newArrayList(operation.filterSSTables(compacting)); if (Iterables.isEmpty(sstables)) { logger.info("No sstables for {}.{}", cfs.keyspace.getName(), cfs.name); @@ -339,7 +342,12 @@ public class CompactionManager implements CompactionManagerMBean void execute(LifecycleTransaction input) throws IOException; } - public enum AllSSTableOpStatus { ABORTED(1), SUCCESSFUL(0); + public enum AllSSTableOpStatus + { + SUCCESSFUL(0), + ABORTED(1), + UNABLE_TO_CANCEL(2); + public final int statusCode; AllSSTableOpStatus(int statusCode) http://git-wip-us.apache.org/repos/asf/cassandra/blob/6bf5cf7f/src/java/org/apache/cassandra/tools/NodeProbe.java ---------------------------------------------------------------------- diff --git a/src/java/org/apache/cassandra/tools/NodeProbe.java b/src/java/org/apache/cassandra/tools/NodeProbe.java index 394ce6e..5ffdf3b 100644 --- a/src/java/org/apache/cassandra/tools/NodeProbe.java +++ b/src/java/org/apache/cassandra/tools/NodeProbe.java @@ -275,29 +275,47 @@ public class NodeProbe implements AutoCloseable public void forceKeyspaceCleanup(PrintStream out, int jobs, String keyspaceName, String... tableNames) throws IOException, ExecutionException, InterruptedException { checkJobs(out, jobs); - if (forceKeyspaceCleanup(jobs, keyspaceName, tableNames) != 0) + switch (forceKeyspaceCleanup(jobs, keyspaceName, tableNames)) { - failed = true; - out.println("Aborted cleaning up at least one table in keyspace "+keyspaceName+", check server logs for more information."); + case 1: + failed = true; + out.println("Aborted cleaning up at least one table in keyspace "+keyspaceName+", check server logs for more information."); + break; + case 2: + failed = true; + out.println("Failed marking some sstables compacting in keyspace "+keyspaceName+", check server logs for more information"); + break; } } public void scrub(PrintStream out, boolean disableSnapshot, boolean skipCorrupted, boolean checkData, int jobs, String keyspaceName, String... tables) throws IOException, ExecutionException, InterruptedException { checkJobs(out, jobs); - if (scrub(disableSnapshot, skipCorrupted, checkData, jobs, keyspaceName, tables) != 0) + switch (scrub(disableSnapshot, skipCorrupted, checkData, jobs, keyspaceName, tables)) { - failed = true; - out.println("Aborted scrubbing at least one table in keyspace "+keyspaceName+", check server logs for more information."); + case 1: + failed = true; + out.println("Aborted scrubbing at least one table in keyspace "+keyspaceName+", check server logs for more information."); + break; + case 2: + failed = true; + out.println("Failed marking some sstables compacting in keyspace "+keyspaceName+", check server logs for more information"); + break; } } public void verify(PrintStream out, boolean extendedVerify, String keyspaceName, String... tableNames) throws IOException, ExecutionException, InterruptedException { - if (verify(extendedVerify, keyspaceName, tableNames) != 0) + switch (verify(extendedVerify, keyspaceName, tableNames)) { - failed = true; - out.println("Aborted verifying at least one table in keyspace "+keyspaceName+", check server logs for more information."); + case 1: + failed = true; + out.println("Aborted verifying at least one table in keyspace "+keyspaceName+", check server logs for more information."); + break; + case 2: + failed = true; + out.println("Failed marking some sstables compacting in keyspace "+keyspaceName+", check server logs for more information"); + break; } } @@ -305,10 +323,16 @@ public class NodeProbe implements AutoCloseable public void upgradeSSTables(PrintStream out, String keyspaceName, boolean excludeCurrentVersion, int jobs, String... tableNames) throws IOException, ExecutionException, InterruptedException { checkJobs(out, jobs); - if (upgradeSSTables(keyspaceName, excludeCurrentVersion, jobs, tableNames) != 0) + switch (upgradeSSTables(keyspaceName, excludeCurrentVersion, jobs, tableNames)) { - failed = true; - out.println("Aborted upgrading sstables for atleast one table in keyspace "+keyspaceName+", check server logs for more information."); + case 1: + failed = true; + out.println("Aborted upgrading sstables for atleast one table in keyspace "+keyspaceName+", check server logs for more information."); + break; + case 2: + failed = true; + out.println("Failed marking some sstables compacting in keyspace "+keyspaceName+", check server logs for more information"); + break; } } --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org For additional commands, e-mail: commits-help@cassandra.apache.org