You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by sl...@apache.org on 2016/01/07 12:04:48 UTC
[08/15] cassandra git commit: Merge branch 'cassandra-2.1' into
cassandra-2.2
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/e41fa341
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e41fa341
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e41fa341
Branch: refs/heads/cassandra-3.0
Commit: e41fa3419195a1b512efa478135d82d3295de5cd
Parents: 202cf9b 6d6d189
Author: Sylvain Lebresne <sy...@datastax.com>
Authored: Thu Jan 7 12:03:26 2016 +0100
Committer: Sylvain Lebresne <sy...@datastax.com>
Committed: Thu Jan 7 12:03:26 2016 +0100
----------------------------------------------------------------------
CHANGES.txt | 1 +
NEWS.txt | 7 ++++
conf/cassandra.yaml | 3 +-
.../org/apache/cassandra/config/Config.java | 2 +-
.../cassandra/service/StorageService.java | 12 +++++++
.../cassandra/service/StorageServiceMBean.java | 3 ++
.../org/apache/cassandra/tools/BulkLoader.java | 12 ++++++-
.../org/apache/cassandra/tools/NodeProbe.java | 15 +++++++-
.../org/apache/cassandra/tools/NodeTool.java | 2 ++
.../nodetool/GetInterDCStreamThroughput.java | 33 +++++++++++++++++
.../nodetool/SetInterDCStreamThroughput.java | 37 ++++++++++++++++++++
11 files changed, 123 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/e41fa341/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index b12f593,14c5ee6..90d990e
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,20 -1,8 +1,21 @@@
-2.1.13
+2.2.5
+ * Enable GC logging by default (CASSANDRA-10140)
+ * Optimize pending range computation (CASSANDRA-9258)
+ * Skip commit log and saved cache directories in SSTable version startup check (CASSANDRA-10902)
+ * drop/alter user should be case sensitive (CASSANDRA-10817)
+ * jemalloc detection fails due to quoting issues in regexv (CASSANDRA-10946)
+ * Support counter-columns for native aggregates (sum,avg,max,min) (CASSANDRA-9977)
+ * (cqlsh) show correct column names for empty result sets (CASSANDRA-9813)
+ * Add new types to Stress (CASSANDRA-9556)
+ * Add property to allow listening on broadcast interface (CASSANDRA-9748)
+ * Fix regression in split size on CqlInputFormat (CASSANDRA-10835)
+ * Better handling of SSL connection errors inter-node (CASSANDRA-10816)
+ * Disable reloading of GossipingPropertyFileSnitch (CASSANDRA-9474)
+ * Verify tables in pseudo-system keyspaces at startup (CASSANDRA-10761)
+Merged from 2.1:
+ * Sane default (200Mbps) for inter-DC streaming througput (CASSANDRA-9708)
* Match cassandra-loader options in COPY FROM (CASSANDRA-9303)
* Fix binding to any address in CqlBulkRecordWriter (CASSANDRA-9309)
- * Fix the way we replace sstables after anticompaction (CASSANDRA-10831)
* cqlsh fails to decode utf-8 characters for text typed columns (CASSANDRA-10875)
* Log error when stream session fails (CASSANDRA-9294)
* Fix bugs in commit log archiving startup behavior (CASSANDRA-10593)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/e41fa341/NEWS.txt
----------------------------------------------------------------------
diff --cc NEWS.txt
index 8cbe4f7,845801d..f26fe3b
--- a/NEWS.txt
+++ b/NEWS.txt
@@@ -13,29 -13,23 +13,36 @@@ restore snapshots created with the prev
'sstableloader' tool. You can upgrade the file format of your snapshots
using the provided 'sstableupgrade' tool.
-2.1.13
-======
+2.2.4
+=====
-New features
-------------
- - New options for cqlsh COPY FROM and COPY TO, see CASSANDRA-9303 for details.
+Deprecation
+-----------
+ - Pig support has been deprecated, and will be removed in 3.0.
+ Please see CASSANDRA-10542 for more details.
+ - Configuration parameter memory_allocator in cassandra.yaml has been deprecated
+ and will be removed in 3.0.0. As mentioned below for 2.2.0, jemalloc is
+ automatically preloaded on Unix platforms.
+
+Operations
+----------
+ - Switching data center or racks is no longer an allowed operation on a node
+ which has data. Instead, the node will need to be decommissioned and
+ rebootstrapped. If moving from the SimpleSnitch, make sure that the data
+ center and rack containing all current nodes is named "datacenter1" and
+ "rack1". To override this behaviour use -Dcassandra.ignore_rack=true and/or
+ -Dcassandra.ignore_dc=true.
+ - Reloading the configuration file of GossipingPropertyFileSnitch has been disabled.
+ - GC logging is now enabled by default (but you can disable it if you want by
+ commenting the relevant lines of the cassandra-env file).
+ Upgrading
+ ---------
+ - The default for the inter-DC stream throughput setting
+ (inter_dc_stream_throughput_outbound_megabits_per_sec in cassandra.yaml) is
+ the same than the one for intra-DC one (200Mbps) instead of being unlimited.
+ Having it unlimited was never intended and was a bug.
+
-2.1.12
-======
-
New features
------------
- Time windows in DTCS are now limited to 1 day by default to be able to
http://git-wip-us.apache.org/repos/asf/cassandra/blob/e41fa341/conf/cassandra.yaml
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/e41fa341/src/java/org/apache/cassandra/config/Config.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/e41fa341/src/java/org/apache/cassandra/service/StorageService.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/e41fa341/src/java/org/apache/cassandra/service/StorageServiceMBean.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/service/StorageServiceMBean.java
index b7784d6,8fa2433..7c5cd0a
--- a/src/java/org/apache/cassandra/service/StorageServiceMBean.java
+++ b/src/java/org/apache/cassandra/service/StorageServiceMBean.java
@@@ -482,8 -470,14 +482,11 @@@ public interface StorageServiceMBean ex
public void joinRing() throws IOException;
public boolean isJoined();
- @Deprecated
- public int getExceptionCount();
-
public void setStreamThroughputMbPerSec(int value);
public int getStreamThroughputMbPerSec();
+
+ public void setInterDCStreamThroughputMbPerSec(int value);
+ public int getInterDCStreamThroughputMbPerSec();
public int getCompactionThroughputMbPerSec();
public void setCompactionThroughputMbPerSec(int value);
http://git-wip-us.apache.org/repos/asf/cassandra/blob/e41fa341/src/java/org/apache/cassandra/tools/BulkLoader.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/tools/BulkLoader.java
index 73194a1,37317d5..8a85c54
--- a/src/java/org/apache/cassandra/tools/BulkLoader.java
+++ b/src/java/org/apache/cassandra/tools/BulkLoader.java
@@@ -51,7 -59,10 +51,8 @@@ public class BulkLoade
private static final String USER_OPTION = "username";
private static final String PASSWD_OPTION = "password";
private static final String THROTTLE_MBITS = "throttle";
+ private static final String INTER_DC_THROTTLE_MBITS = "inter-dc-throttle";
- private static final String TRANSPORT_FACTORY = "transport-factory";
-
/* client encryption options */
private static final String SSL_TRUSTSTORE = "truststore";
private static final String SSL_TRUSTSTORE_PW = "truststore-password";
@@@ -308,8 -403,10 +310,9 @@@
public String user;
public String passwd;
public int throttle = 0;
+ public int interDcThrottle = 0;
public int storagePort;
public int sslStoragePort;
- public ITransportFactory transportFactory = new TFramedTransportFactory();
public EncryptionOptions encOptions = new EncryptionOptions.ClientEncryptionOptions();
public int connectionsPerHost = 1;
public EncryptionOptions.ServerEncryptionOptions serverEncOptions = new EncryptionOptions.ServerEncryptionOptions();
@@@ -509,10 -663,12 +518,11 @@@
options.addOption(null, NOPROGRESS_OPTION, "don't display progress");
options.addOption("i", IGNORE_NODES_OPTION, "NODES", "don't stream to this (comma separated) list of nodes");
options.addOption("d", INITIAL_HOST_ADDRESS_OPTION, "initial hosts", "Required. try to connect to these hosts (comma separated) initially for ring information");
- options.addOption("p", RPC_PORT_OPTION, "rpc port", "port used for rpc (default 9160)");
+ options.addOption("p", NATIVE_PORT_OPTION, "rpc port", "port used for native connection (default 9042)");
options.addOption("t", THROTTLE_MBITS, "throttle", "throttle speed in Mbits (default unlimited)");
+ options.addOption("idct", INTER_DC_THROTTLE_MBITS, "inter-dc-throttle", "inter-datacenter throttle speed in Mbits (default unlimited)");
options.addOption("u", USER_OPTION, "username", "username for cassandra authentication");
options.addOption("pw", PASSWD_OPTION, "password", "password for cassandra authentication");
- options.addOption("tf", TRANSPORT_FACTORY, "transport factory", "Fully-qualified ITransportFactory class name for creating a connection to cassandra");
options.addOption("cph", CONNECTIONS_PER_HOST, "connectionsPerHost", "number of concurrent connections-per-host.");
// ssl connection-related options
options.addOption("ts", SSL_TRUSTSTORE, "TRUSTSTORE", "Client SSL: full path to truststore");
http://git-wip-us.apache.org/repos/asf/cassandra/blob/e41fa341/src/java/org/apache/cassandra/tools/NodeProbe.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/tools/NodeProbe.java
index dbc0357,1ad1147..93804a8
--- a/src/java/org/apache/cassandra/tools/NodeProbe.java
+++ b/src/java/org/apache/cassandra/tools/NodeProbe.java
@@@ -941,11 -983,14 +941,19 @@@ public class NodeProbe implements AutoC
return ssProxy.getStreamThroughputMbPerSec();
}
- public double getTraceProbability() {return ssProxy.getTraceProbability();}
+ public int getInterDCStreamThroughput()
+ {
+ return ssProxy.getInterDCStreamThroughputMbPerSec();
+ }
+
++ public double getTraceProbability()
++ {
++ return ssProxy.getTraceProbability();
++ }
+
public int getExceptionCount()
{
- return ssProxy.getExceptionCount();
+ return (int)StorageMetrics.exceptions.getCount();
}
public Map<String, Integer> getDroppedMessages()
http://git-wip-us.apache.org/repos/asf/cassandra/blob/e41fa341/src/java/org/apache/cassandra/tools/NodeTool.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/tools/NodeTool.java
index fcb6ed0,819049e..966b785
--- a/src/java/org/apache/cassandra/tools/NodeTool.java
+++ b/src/java/org/apache/cassandra/tools/NodeTool.java
@@@ -80,7 -138,7 +80,8 @@@ public class NodeToo
GetCompactionThreshold.class,
GetCompactionThroughput.class,
GetStreamThroughput.class,
+ GetTraceProbability.class,
+ GetInterDCStreamThroughput.class,
GetEndpoints.class,
GetSSTables.class,
GossipInfo.class,
http://git-wip-us.apache.org/repos/asf/cassandra/blob/e41fa341/src/java/org/apache/cassandra/tools/nodetool/GetInterDCStreamThroughput.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/tools/nodetool/GetInterDCStreamThroughput.java
index 0000000,0000000..4c354c0
new file mode 100644
--- /dev/null
+++ b/src/java/org/apache/cassandra/tools/nodetool/GetInterDCStreamThroughput.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.NodeToolCmd;
++
++@Command(name = "getinterdcstreamthroughput", description = "Print the Mb/s throughput cap for inter-datacenter streaming in the system")
++public class GetInterDCStreamThroughput extends NodeToolCmd
++{
++ @Override
++ public void execute(NodeProbe probe)
++ {
++ System.out.println("Current inter-datacenter stream throughput: " + probe.getInterDCStreamThroughput() + " Mb/s");
++ }
++}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/e41fa341/src/java/org/apache/cassandra/tools/nodetool/SetInterDCStreamThroughput.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/tools/nodetool/SetInterDCStreamThroughput.java
index 0000000,0000000..41ce43a
new file mode 100644
--- /dev/null
+++ b/src/java/org/apache/cassandra/tools/nodetool/SetInterDCStreamThroughput.java
@@@ -1,0 -1,0 +1,37 @@@
++/*
++ * 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.Arguments;
++import io.airlift.command.Command;
++
++import org.apache.cassandra.tools.NodeProbe;
++import org.apache.cassandra.tools.NodeTool.NodeToolCmd;
++
++@Command(name = "setinterdcstreamthroughput", description = "Set the Mb/s throughput cap for inter-datacenter streaming in the system, or 0 to disable throttling")
++public class SetInterDCStreamThroughput extends NodeToolCmd
++{
++ @Arguments(title = "inter_dc_stream_throughput", usage = "<value_in_mb>", description = "Value in Mb, 0 to disable throttling", required = true)
++ private Integer interDCStreamThroughput = null;
++
++ @Override
++ public void execute(NodeProbe probe)
++ {
++ probe.setInterDCStreamThroughput(interDCStreamThroughput);
++ }
++}