You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by br...@apache.org on 2014/06/12 16:47:28 UTC

[11/13] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1

Merge branch 'cassandra-2.0' into cassandra-2.1

Conflicts:
	conf/cassandra.yaml
	src/java/org/apache/cassandra/transport/Server.java


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/ae8aad47
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ae8aad47
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ae8aad47

Branch: refs/heads/cassandra-2.1
Commit: ae8aad47456563ea1d2cb0d97d0919c548b8959b
Parents: 00628e7 b48a17b
Author: Brandon Williams <br...@apache.org>
Authored: Thu Jun 12 09:46:56 2014 -0500
Committer: Brandon Williams <br...@apache.org>
Committed: Thu Jun 12 09:46:56 2014 -0500

----------------------------------------------------------------------
 CHANGES.txt                                         | 1 +
 conf/cassandra.yaml                                 | 2 +-
 src/java/org/apache/cassandra/transport/Server.java | 1 +
 3 files changed, 3 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/ae8aad47/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 9dd54f9,94e2c5a..7d277db
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,69 -1,30 +1,70 @@@
 -2.0.9
 +2.1.0
 + * Use node's host id in place of counter ids (CASSANDRA-7366)
 + * Explicitly use Long.MAX_VALUE timestamp for counter deletions
 +   (CASSANDRA-7346)
   * Fix native protocol CAS batches (CASSANDRA-7337)
 + * Reduce likelihood of contention on local paxos locking (CASSANDRA-7359)
 + * Upgrade to Pig 0.12.1 (CASSANDRA-6556)
 + * Make sure we clear out repair sessions from netstats (CASSANDRA-7329)
 + * Don't fail streams on failure detector downs (CASSANDRA-3569)
 + * Add optional keyspace to DROP INDEX statement (CASSANDRA-7314)
 + * Reduce run time for CQL tests (CASSANDRA-7327)
 + * Fix heap size calculation on Windows (CASSANDRA-7352)
 + * RefCount native frames from netty (CASSANDRA-7245)
 + * Use tarball dir instead of /var for default paths (CASSANDRA-7136)
 +Merged from 2.0:
   * Add per-CF range read request latency metrics (CASSANDRA-7338)
   * Fix NPE in StreamTransferTask.createMessageForRetry() (CASSANDRA-7323)
 - * Add conditional CREATE/DROP USER support (CASSANDRA-7264)
 - * Swap local and global default read repair chances (CASSANDRA-7320)
 - * Add missing iso8601 patterns for date strings (CASSANDRA-6973)
 - * Support selecting multiple rows in a partition using IN (CASSANDRA-6875)
 - * cqlsh: always emphasize the partition key in DESC output (CASSANDRA-7274)
 - * Copy compaction options to make sure they are reloaded (CASSANDRA-7290)
 - * Add option to do more aggressive tombstone compactions (CASSANDRA-6563)
 - * Don't try to compact already-compacting files in HHOM (CASSANDRA-7288)
 - * Add authentication support to shuffle (CASSANDRA-6484)
 - * Cqlsh counts non-empty lines for "Blank lines" warning (CASSANDRA-7325)
   * Make StreamSession#closeSession() idempotent (CASSANDRA-7262)
   * Fix infinite loop on exception while streaming (CASSANDRA-7330)
 - * Reference sstables before populating key cache (CASSANDRA-7234)
  Merged from 1.2:
+  * Enable keepalive for native protocol (CASSANDRA-7380)
   * Check internal addresses for seeds (CASSANDRA-6523)
   * Fix potential / by 0 in HHOM page size calculation (CASSANDRA-7354)
 - * Fix availability validation for LOCAL_ONE CL (CASSANDRA-7319)
   * Use LOCAL_ONE for non-superuser auth queries (CASSANDRA-7328)
 - * Fix handling of empty counter replication mutations (CASSANDRA-7144)
  
  
 -2.0.8
 +2.1.0-rc1
 + * Revert flush directory (CASSANDRA-6357)
 + * More efficient executor service for fast operations (CASSANDRA-4718)
 + * Move less common tools into a new cassandra-tools package (CASSANDRA-7160)
 + * Support more concurrent requests in native protocol (CASSANDRA-7231)
 + * Add tab-completion to debian nodetool packaging (CASSANDRA-6421)
 + * Change concurrent_compactors defaults (CASSANDRA-7139)
 + * Add PowerShell Windows launch scripts (CASSANDRA-7001)
 + * Make commitlog archive+restore more robust (CASSANDRA-6974)
 + * Fix marking commitlogsegments clean (CASSANDRA-6959)
 + * Add snapshot "manifest" describing files included (CASSANDRA-6326)
 + * Parallel streaming for sstableloader (CASSANDRA-3668)
 + * Fix bugs in supercolumns handling (CASSANDRA-7138)
 + * Fix ClassClassException on composite dense tables (CASSANDRA-7112)
 + * Cleanup and optimize collation and slice iterators (CASSANDRA-7107)
 + * Upgrade NBHM lib (CASSANDRA-7128)
 + * Optimize netty server (CASSANDRA-6861)
 + * Fix repair hang when given CF does not exist (CASSANDRA-7189)
 + * Allow c* to be shutdown in an embedded mode (CASSANDRA-5635)
 + * Add server side batching to native transport (CASSANDRA-5663)
 + * Make batchlog replay asynchronous (CASSANDRA-6134)
 + * remove unused classes (CASSANDRA-7197)
 + * Limit user types to the keyspace they are defined in (CASSANDRA-6643)
 + * Add validate method to CollectionType (CASSANDRA-7208)
 + * New serialization format for UDT values (CASSANDRA-7209, CASSANDRA-7261)
 + * Fix nodetool netstats (CASSANDRA-7270)
 + * Fix potential ClassCastException in HintedHandoffManager (CASSANDRA-7284)
 + * Use prepared statements internally (CASSANDRA-6975)
 + * Fix broken paging state with prepared statement (CASSANDRA-7120)
 + * Fix IllegalArgumentException in CqlStorage (CASSANDRA-7287)
 + * Allow nulls/non-existant fields in UDT (CASSANDRA-7206)
 + * Backport Thrift MultiSliceRequest (CASSANDRA-7027)
 + * Handle overlapping MultiSlices (CASSANDRA-7279)
 + * Fix DataOutputTest on Windows (CASSANDRA-7265)
 + * Embedded sets in user defined data-types are not updating (CASSANDRA-7267)
 + * Add tuple type to CQL/native protocol (CASSANDRA-7248)
 + * Fix CqlPagingRecordReader on tables with few rows (CASSANDRA-7322)
 +Merged from 2.0:
 + * Copy compaction options to make sure they are reloaded (CASSANDRA-7290)
 + * Add option to do more aggressive tombstone compactions (CASSANDRA-6563)
 + * Don't try to compact already-compacting files in HHOM (CASSANDRA-7288)
   * Always reallocate buffers in HSHA (CASSANDRA-6285)
   * (Hadoop) support authentication in CqlRecordReader (CASSANDRA-7221)
   * (Hadoop) Close java driver Cluster in CQLRR.close (CASSANDRA-7228)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/ae8aad47/conf/cassandra.yaml
----------------------------------------------------------------------
diff --cc conf/cassandra.yaml
index e6c34e0,ef8194e..102e304
--- a/conf/cassandra.yaml
+++ b/conf/cassandra.yaml
@@@ -379,13 -336,7 +379,13 @@@ rpc_address: localhos
  # port for Thrift to listen for clients on
  rpc_port: 9160
  
 +# RPC address to broadcast to drivers and other Cassandra nodes. This cannot
 +# be set to 0.0.0.0. If left blank, this will be set to the value of
 +# rpc_address. If rpc_address is set to 0.0.0.0, broadcast_rpc_address must
 +# be set.
 +# broadcast_rpc_address: 1.2.3.4
 +
- # enable or disable keepalive on rpc connections
+ # enable or disable keepalive on rpc/native connections
  rpc_keepalive: true
  
  # Cassandra provides two out-of-the-box options for the RPC Server:

http://git-wip-us.apache.org/repos/asf/cassandra/blob/ae8aad47/src/java/org/apache/cassandra/transport/Server.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/transport/Server.java
index 2fed889,f095776..d10b934
--- a/src/java/org/apache/cassandra/transport/Server.java
+++ b/src/java/org/apache/cassandra/transport/Server.java
@@@ -137,17 -133,14 +137,18 @@@ public class Server implements Cassandr
          }
  
          // Configure the server.
 -        executionHandler = new ExecutionHandler(new RequestThreadPoolExecutor());
 -        factory = new NioServerSocketChannelFactory(Executors.newCachedThreadPool(), Executors.newCachedThreadPool());
 -        ServerBootstrap bootstrap = new ServerBootstrap(factory);
 +        eventExecutorGroup = new RequestThreadPoolExecutor();
 +        workerGroup = new NioEventLoopGroup();
 +
 +        ServerBootstrap bootstrap = new ServerBootstrap()
 +                                    .group(workerGroup)
 +                                    .channel(NioServerSocketChannel.class)
 +                                    .childOption(ChannelOption.TCP_NODELAY, true)
++                                    .childOption(ChannelOption.SO_KEEPALIVE, DatabaseDescriptor.getRpcKeepAlive())
 +                                    .childOption(ChannelOption.ALLOCATOR, CBUtil.allocator)
 +                                    .childOption(ChannelOption.WRITE_BUFFER_HIGH_WATER_MARK, 32 * 1024)
 +                                    .childOption(ChannelOption.WRITE_BUFFER_LOW_WATER_MARK, 8 * 1024);
  
 -        bootstrap.setOption("child.tcpNoDelay", true);
 -        bootstrap.setOption("child.keepAlive", DatabaseDescriptor.getRpcKeepAlive());
 -
 -        // Set up the event pipeline factory.
          final EncryptionOptions.ClientEncryptionOptions clientEnc = DatabaseDescriptor.getClientEncryptionOptions();
          if (clientEnc.enabled)
          {