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/trunk Commit: ae8aad47456563ea1d2cb0d97d0919c548b8959b Parents: 00628e7 b48a17b Author: Brandon Williams <brandonwilli...@apache.org> Authored: Thu Jun 12 09:46:56 2014 -0500 Committer: Brandon Williams <brandonwilli...@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) {