Merge branch 'cassandra-2.1' into cassandra-2.2
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/84d44885 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/84d44885 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/84d44885 Branch: refs/heads/trunk Commit: 84d4488537605a86373325f86bbc4cd358921223 Parents: d84b42b ecd66de Author: Aleksey Yeschenko <alek...@apache.org> Authored: Thu Nov 12 17:58:38 2015 +0000 Committer: Aleksey Yeschenko <alek...@apache.org> Committed: Thu Nov 12 17:58:38 2015 +0000 ---------------------------------------------------------------------- CHANGES.txt | 1 + .../cassandra/service/StorageService.java | 6 ++++ .../cassandra/service/StorageServiceMBean.java | 5 +++ .../org/apache/cassandra/tools/NodeProbe.java | 12 +++++++ .../org/apache/cassandra/tools/NodeTool.java | 3 +- .../tools/nodetool/RefreshSizeEstimates.java | 33 ++++++++++++++++++++ 6 files changed, 59 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/84d44885/CHANGES.txt ---------------------------------------------------------------------- diff --cc CHANGES.txt index 2cfcb55,2eeda94..9c834f3 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,15 -1,5 +1,16 @@@ -2.1.12 +2.2.4 + * (Hadoop) fix splits calculation (CASSANDRA-10640) + * (Hadoop) ensure that Cluster instances are always closed (CASSANDRA-10058) + * (cqlsh) show partial trace if incomplete after max_trace_wait (CASSANDRA-7645) + * Use most up-to-date version of schema for system tables (CASSANDRA-10652) + * Deprecate memory_allocator in cassandra.yaml (CASSANDRA-10581,10628) + * Expose phi values from failure detector via JMX and tweak debug + and trace logging (CASSANDRA-9526) + * Fix RangeNamesQueryPager (CASSANDRA-10509) + * Deprecate Pig support (CASSANDRA-10542) + * Reduce contention getting instances of CompositeType (CASSANDRA-10433) +Merged from 2.1: + * Add a nodetool command to refresh size_estimates (CASSANDRA-9579) * Shutdown compaction in drain to prevent leak (CASSANDRA-10079) * Invalidate cache after stream receive task is completed (CASSANDRA-10341) * Reject counter writes in CQLSSTableWriter (CASSANDRA-10258) http://git-wip-us.apache.org/repos/asf/cassandra/blob/84d44885/src/java/org/apache/cassandra/service/StorageService.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/84d44885/src/java/org/apache/cassandra/service/StorageServiceMBean.java ---------------------------------------------------------------------- diff --cc src/java/org/apache/cassandra/service/StorageServiceMBean.java index 2c92d43,1351fea..00060ae --- a/src/java/org/apache/cassandra/service/StorageServiceMBean.java +++ b/src/java/org/apache/cassandra/service/StorageServiceMBean.java @@@ -239,9 -248,14 +239,14 @@@ public interface StorageServiceMBean ex public long trueSnapshotsSize(); /** + * Forces refresh of values stored in system.size_estimates of all column families. + */ + public void refreshSizeEstimates() throws ExecutionException; + + /** * Forces major compaction of a single keyspace */ - public void forceKeyspaceCompaction(String keyspaceName, String... columnFamilies) throws IOException, ExecutionException, InterruptedException; + public void forceKeyspaceCompaction(boolean splitOutput, String keyspaceName, String... columnFamilies) throws IOException, ExecutionException, InterruptedException; /** * Trigger a cleanup of keys on a single keyspace http://git-wip-us.apache.org/repos/asf/cassandra/blob/84d44885/src/java/org/apache/cassandra/tools/NodeProbe.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/84d44885/src/java/org/apache/cassandra/tools/NodeTool.java ---------------------------------------------------------------------- diff --cc src/java/org/apache/cassandra/tools/NodeTool.java index 175b325,1d4a420..fcb6ed0 --- a/src/java/org/apache/cassandra/tools/NodeTool.java +++ b/src/java/org/apache/cassandra/tools/NodeTool.java @@@ -129,23 -187,14 +129,24 @@@ public class NodeToo TpStats.class, TopPartitions.class, SetLoggingLevel.class, - GetLoggingLevels.class + GetLoggingLevels.class, - FailureDetectorInfo.class ++ FailureDetectorInfo.class, ++ RefreshSizeEstimates.class ); - Cli<Runnable> parser = Cli.<Runnable>builder("nodetool") - .withDescription("Manage your Cassandra cluster") + Cli.CliBuilder<Runnable> builder = Cli.builder("nodetool"); + + builder.withDescription("Manage your Cassandra cluster") + .withDefaultCommand(Help.class) + .withCommands(commands); + + // bootstrap commands + builder.withGroup("bootstrap") + .withDescription("Monitor/manage node's bootstrap process") .withDefaultCommand(Help.class) - .withCommands(commands) - .build(); + .withCommand(BootstrapResume.class); + + Cli<Runnable> parser = builder.build(); int status = 0; try http://git-wip-us.apache.org/repos/asf/cassandra/blob/84d44885/src/java/org/apache/cassandra/tools/nodetool/RefreshSizeEstimates.java ---------------------------------------------------------------------- diff --cc src/java/org/apache/cassandra/tools/nodetool/RefreshSizeEstimates.java index 0000000,0000000..870c7b4 new file mode 100644 --- /dev/null +++ b/src/java/org/apache/cassandra/tools/nodetool/RefreshSizeEstimates.java @@@ -1,0 -1,0 +1,33 @@@ ++/* ++ * Licensed to the Apache Software Foundation (ASF) under one ++ * or more contributor license agreements. See the NOTICE file ++ * distributed with this work for additional information ++ * regarding copyright ownership. The ASF licenses this file ++ * to you under the Apache License, Version 2.0 (the ++ * "License"); you may not use this file except in compliance ++ * with the License. You may obtain a copy of the License at ++ * ++ * http://www.apache.org/licenses/LICENSE-2.0 ++ * ++ * Unless required by applicable law or agreed to in writing, software ++ * distributed under the License is distributed on an "AS IS" BASIS, ++ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. ++ * See the License for the specific language governing permissions and ++ * limitations under the License. ++ */ ++ ++package org.apache.cassandra.tools.nodetool; ++ ++import io.airlift.command.Command; ++import org.apache.cassandra.tools.NodeProbe; ++import org.apache.cassandra.tools.NodeTool; ++ ++@Command(name = "refreshsizeestimates", description = "Refresh system.size_estimates") ++public class RefreshSizeEstimates extends NodeTool.NodeToolCmd ++{ ++ @Override ++ public void execute(NodeProbe probe) ++ { ++ probe.refreshSizeEstimates(); ++ } ++}