[6/6] cassandra git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/1e44d2bd Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/1e44d2bd Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/1e44d2bd Branch: refs/heads/trunk Commit: 1e44d2bd8b7edc57738229e1b8fc70c48933384f Parents: 2b3bcb7 5e631a8 Author: Robert Stupp Authored: Thu May 14 10:39:19 2015 +0200 Committer: Robert Stupp Committed: Thu May 14 10:39:19 2015 +0200 -- CHANGES.txt | 1 + tools/bin/token-generator | 53 +++--- tools/bin/token-generator.bat | 34 3 files changed, 73 insertions(+), 15 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/1e44d2bd/CHANGES.txt --
[6/6] cassandra git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Conflicts: src/java/org/apache/cassandra/config/DatabaseDescriptor.java Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/e0d25874 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e0d25874 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e0d25874 Branch: refs/heads/trunk Commit: e0d25874c40ae56661fc4df3b3bd52a82880b285 Parents: d26bfe9 98eb8ba Author: Brandon Williams Authored: Tue May 12 14:40:25 2015 -0500 Committer: Brandon Williams Committed: Tue May 12 14:40:25 2015 -0500 -- src/java/org/apache/cassandra/config/DatabaseDescriptor.java | 2 ++ 1 file changed, 2 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/e0d25874/src/java/org/apache/cassandra/config/DatabaseDescriptor.java -- diff --cc src/java/org/apache/cassandra/config/DatabaseDescriptor.java index 68d7e82,803591f..7da9066 --- a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java +++ b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java @@@ -420,8 -447,9 +420,10 @@@ public class DatabaseDescripto if (ThriftServer.HSHA.equals(conf.rpc_server_type) && conf.rpc_max_threads == Integer.MAX_VALUE) throw new ConfigurationException("The hsha rpc_server_type is not compatible with an rpc_max_threads " + "setting of 'unlimited'. Please see the comments in cassandra.yaml " + - "for rpc_server_type and rpc_max_threads."); + "for rpc_server_type and rpc_max_threads.", + false); + if (ThriftServer.HSHA.equals(conf.rpc_server_type) && conf.rpc_max_threads > (FBUtilities.getAvailableProcessors() * 2 + 1024)) + logger.warn("rpc_max_threads setting of {} may be too high for the hsha server and cause unnecessary thread contention, reducing performance", conf.rpc_max_threads); /* end point snitch */ if (conf.endpoint_snitch == null)
[6/6] cassandra git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/5ff69f2c Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/5ff69f2c Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/5ff69f2c Branch: refs/heads/trunk Commit: 5ff69f2c92c170505fc7749fd814db7c74a38653 Parents: fa4a020 2e7b088 Author: Jonathan Ellis Authored: Tue May 12 10:56:50 2015 -0500 Committer: Jonathan Ellis Committed: Tue May 12 10:56:50 2015 -0500 -- CHANGES.txt | 1 + .../cassandra/locator/ReconnectableSnitchHelper.java | 1 - .../apache/cassandra/net/IncomingTcpConnection.java | 14 -- 3 files changed, 5 insertions(+), 11 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/5ff69f2c/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/5ff69f2c/src/java/org/apache/cassandra/net/IncomingTcpConnection.java -- diff --cc src/java/org/apache/cassandra/net/IncomingTcpConnection.java index d8721eb,2456050..c325717 --- a/src/java/org/apache/cassandra/net/IncomingTcpConnection.java +++ b/src/java/org/apache/cassandra/net/IncomingTcpConnection.java @@@ -131,11 -130,14 +131,14 @@@ public class IncomingTcpConnection exte { // handshake (true) endpoint versions DataOutputStream out = new DataOutputStream(socket.getOutputStream()); + // if this version is < the MS version the other node is trying + // to connect with, the other node will disconnect out.writeInt(MessagingService.current_version); out.flush(); -DataInputStream in = new DataInputStream(socket.getInputStream()); +DataInput in = new DataInputStream(socket.getInputStream()); int maxVersion = in.readInt(); - + // outbound side will reconnect if necessary to upgrade version + assert version <= MessagingService.current_version; from = CompactEndpointSerializationHelper.deserialize(in); // record the (true) version of the endpoint MessagingService.instance().setVersion(from, maxVersion); @@@ -159,18 -161,9 +162,9 @@@ } else { -in = new DataInputStream(new BufferedInputStream(socket.getInputStream(), BUFFER_SIZE)); +in = new NIODataInputStream(socket.getChannel(), BUFFER_SIZE); } - if (version > MessagingService.current_version) - { - // save the endpoint so gossip will reconnect to it - Gossiper.instance.addSavedEndpoint(from); - logger.info("Received messages from newer protocol version {}. Ignoring", version); - return; - } - // outbound side will reconnect if necessary to upgrade version - while (true) { MessagingService.validateMagic(in.readInt());
[6/6] cassandra git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/2499baeb Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/2499baeb Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/2499baeb Branch: refs/heads/trunk Commit: 2499baeb3c0e3965a52e334e7cbbcfb64640bd47 Parents: aedce5f 8c5ce66 Author: Benedict Elliott Smith Authored: Thu May 7 11:58:04 2015 +0100 Committer: Benedict Elliott Smith Committed: Thu May 7 11:58:04 2015 +0100 -- CHANGES.txt | 2 ++ .../cassandra/db/index/SecondaryIndex.java | 13 .../db/index/SecondaryIndexManager.java | 4 ++-- .../cassandra/db/ColumnFamilyStoreTest.java | 21 +--- .../db/index/PerRowSecondaryIndexTest.java | 20 +-- 5 files changed, 40 insertions(+), 20 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/2499baeb/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/2499baeb/src/java/org/apache/cassandra/db/index/SecondaryIndex.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/2499baeb/src/java/org/apache/cassandra/db/index/SecondaryIndexManager.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/2499baeb/test/unit/org/apache/cassandra/db/ColumnFamilyStoreTest.java -- diff --cc test/unit/org/apache/cassandra/db/ColumnFamilyStoreTest.java index 349edbe,5faab78..60fb195 --- a/test/unit/org/apache/cassandra/db/ColumnFamilyStoreTest.java +++ b/test/unit/org/apache/cassandra/db/ColumnFamilyStoreTest.java @@@ -2257,27 -2171,24 +2257,24 @@@ public class ColumnFamilyStoreTes CellName indexedCellName = cellname("indexed"); Mutation rm; -rm = new Mutation("PerRowSecondaryIndex", ByteBufferUtil.bytes("k1")); +rm = new Mutation(KEYSPACE4, ByteBufferUtil.bytes("k1")); rm.add("Indexed1", indexedCellName, ByteBufferUtil.bytes("foo"), 1); + rm.apply(); assertTrue(Arrays.equals("k1".getBytes(), PerRowSecondaryIndexTest.TestIndex.LAST_INDEXED_KEY.array())); - - ColumnFamilyStore cfs = Keyspace.open("PerRowSecondaryIndex").getColumnFamilyStore("Indexed1"); - cfs.forceBlockingFlush(); - + + Keyspace.open("PerRowSecondaryIndex").getColumnFamilyStore("Indexed1").forceBlockingFlush(); + PerRowSecondaryIndexTest.TestIndex.reset(); - + ColumnFamilyStore.rebuildSecondaryIndex("PerRowSecondaryIndex", "Indexed1", PerRowSecondaryIndexTest.TestIndex.class.getSimpleName()); assertTrue(Arrays.equals("k1".getBytes(), PerRowSecondaryIndexTest.TestIndex.LAST_INDEXED_KEY.array())); - + PerRowSecondaryIndexTest.TestIndex.reset(); - - ColumnDefinition indexedColumnDef = cfs.metadata.getColumnDefinition(indexedCellName); - cfs.indexManager.getIndexForColumn(indexedColumnDef.name.bytes).getColumnDefs().remove(indexedColumnDef); - + PerRowSecondaryIndexTest.TestIndex.ACTIVE = false; ColumnFamilyStore.rebuildSecondaryIndex("PerRowSecondaryIndex", "Indexed1", PerRowSecondaryIndexTest.TestIndex.class.getSimpleName()); assertNull(PerRowSecondaryIndexTest.TestIndex.LAST_INDEXED_KEY); - + PerRowSecondaryIndexTest.TestIndex.reset(); } } http://git-wip-us.apache.org/repos/asf/cassandra/blob/2499baeb/test/unit/org/apache/cassandra/db/index/PerRowSecondaryIndexTest.java --
[6/6] cassandra git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/bbc796df Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/bbc796df Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/bbc796df Branch: refs/heads/trunk Commit: bbc796dfd092e01c8c42e1885819f6ba193260f9 Parents: be6295e 0276c2a Author: Yuki Morishita Authored: Fri May 1 16:56:37 2015 -0500 Committer: Yuki Morishita Committed: Fri May 1 16:56:37 2015 -0500 -- CHANGES.txt | 1 + .../cassandra/streaming/messages/IncomingFileMessage.java | 7 +++ 2 files changed, 8 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/bbc796df/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/bbc796df/src/java/org/apache/cassandra/streaming/messages/IncomingFileMessage.java --
[6/6] cassandra git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/527c12a0 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/527c12a0 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/527c12a0 Branch: refs/heads/trunk Commit: 527c12a0115629ad0fa7ec95a24c55fc115739a1 Parents: 49b0898 4f9c9ce Author: Benedict Elliott Smith Authored: Fri May 1 11:33:52 2015 +0100 Committer: Benedict Elliott Smith Committed: Fri May 1 11:33:52 2015 +0100 -- CHANGES.txt| 1 + src/java/org/apache/cassandra/db/Memtable.java | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/527c12a0/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/527c12a0/src/java/org/apache/cassandra/db/Memtable.java -- diff --cc src/java/org/apache/cassandra/db/Memtable.java index aa5fb1b,9a8596a..ef47aba --- a/src/java/org/apache/cassandra/db/Memtable.java +++ b/src/java/org/apache/cassandra/db/Memtable.java @@@ -196,8 -197,9 +197,9 @@@ public class Memtabl previous = empty; // allocate the row overhead after the fact; this saves over allocating and having to free after, but // means we can overshoot our declared limit. -int overhead = (int) (cfs.partitioner.getHeapSizeOf(key.getToken()) + ROW_OVERHEAD_HEAP_SIZE); +int overhead = (int) (key.getToken().getHeapSize() + ROW_OVERHEAD_HEAP_SIZE); allocator.onHeap().allocate(overhead, opGroup); + initialSize = 8; } else {
[6/6] cassandra git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/c5798421 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c5798421 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c5798421 Branch: refs/heads/trunk Commit: c57984216e3c962455895f4a6df83ac1a79c6486 Parents: 33f37f8 9bcdd0f Author: Brandon Williams Authored: Wed Apr 29 16:06:14 2015 -0500 Committer: Brandon Williams Committed: Wed Apr 29 16:06:14 2015 -0500 -- CHANGES.txt | 1 + .../gms/GossipDigestSynVerbHandler.java | 8 src/java/org/apache/cassandra/gms/Gossiper.java | 26 - .../net/IncomingStreamingConnection.java| 31 .../cassandra/net/IncomingTcpConnection.java| 39 +--- .../apache/cassandra/net/MessagingService.java | 11 +- 6 files changed, 59 insertions(+), 57 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/c5798421/CHANGES.txt -- diff --cc CHANGES.txt index b7d9c75,ac68df9..f859110 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,111 -1,12 +1,112 @@@ +3.0 + * Disable memory mapping of hsperfdata file for JVM statistics (CASSANDRA-9242) + * Add pre-startup checks to detect potential incompatibilities (CASSANDRA-8049) + * Distinguish between null and unset in protocol v4 (CASSANDRA-7304) + * Add user/role permissions for user-defined functions (CASSANDRA-7557) + * Allow cassandra config to be updated to restart daemon without unloading classes (CASSANDRA-9046) + * Don't initialize compaction writer before checking if iter is empty (CASSANDRA-9117) + * Remove line number generation from default logback.xml + * Don't execute any functions at prepare-time (CASSANDRA-9037) + * Share file handles between all instances of a SegmentedFile (CASSANDRA-8893) + * Make it possible to major compact LCS (CASSANDRA-7272) + * Make FunctionExecutionException extend RequestExecutionException + (CASSANDRA-9055) + * Add support for SELECT JSON, INSERT JSON syntax and new toJson(), fromJson() + functions (CASSANDRA-7970) + * Optimise max purgeable timestamp calculation in compaction (CASSANDRA-8920) + * Constrain internode message buffer sizes, and improve IO class hierarchy (CASSANDRA-8670) + * New tool added to validate all sstables in a node (CASSANDRA-5791) + * Push notification when tracing completes for an operation (CASSANDRA-7807) + * Delay "node up" and "node added" notifications until native protocol server is started (CASSANDRA-8236) + * Compressed Commit Log (CASSANDRA-6809) + * Optimise IntervalTree (CASSANDRA-8988) + * Add a key-value payload for third party usage (CASSANDRA-8553, 9212) + * Bump metrics-reporter-config dependency for metrics 3.0 (CASSANDRA-8149) + * Partition intra-cluster message streams by size, not type (CASSANDRA-8789) + * Add WriteFailureException to native protocol, notify coordinator of + write failures (CASSANDRA-8592) + * Convert SequentialWriter to nio (CASSANDRA-8709) + * Add role based access control (CASSANDRA-7653, 8650, 7216, 8760, 8849, 8761, 8850) + * Record client ip address in tracing sessions (CASSANDRA-8162) + * Indicate partition key columns in response metadata for prepared + statements (CASSANDRA-7660) + * Merge UUIDType and TimeUUIDType parse logic (CASSANDRA-8759) + * Avoid memory allocation when searching index summary (CASSANDRA-8793) + * Optimise (Time)?UUIDType Comparisons (CASSANDRA-8730) + * Make CRC32Ex into a separate maven dependency (CASSANDRA-8836) + * Use preloaded jemalloc w/ Unsafe (CASSANDRA-8714) + * Avoid accessing partitioner through StorageProxy (CASSANDRA-8244, 8268) + * Upgrade Metrics library and remove depricated metrics (CASSANDRA-5657) + * Serializing Row cache alternative, fully off heap (CASSANDRA-7438) + * Duplicate rows returned when in clause has repeated values (CASSANDRA-6707) + * Make CassandraException unchecked, extend RuntimeException (CASSANDRA-8560) + * Support direct buffer decompression for reads (CASSANDRA-8464) + * DirectByteBuffer compatible LZ4 methods (CASSANDRA-7039) + * Group sstables for anticompaction correctly (CASSANDRA-8578) + * Add ReadFailureException to native protocol, respond + immediately when replicas encounter errors while handling + a read request (CASSANDRA-7886) + * Switch CommitLogSegment from RandomAccessFile to nio (CASSANDRA-8308) + * Allow mixing token and partition key restrictions (CASSANDRA-7016) + * Support index key/value entries on map collections (CASSANDRA-8473) + * Modernize schema tables (CASSANDRA-8261) + * Support for user-defined aggregation functions (CASSANDRA-8053) + * Fix NPE in Selec
[6/6] cassandra git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/1a11d523 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/1a11d523 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/1a11d523 Branch: refs/heads/trunk Commit: 1a11d5239e3e26ff5e5110f9d4198a1bbe28a514 Parents: 194bad2 8322d18 Author: Robert Stupp Authored: Wed Apr 29 18:53:30 2015 +0200 Committer: Robert Stupp Committed: Wed Apr 29 18:53:30 2015 +0200 -- CHANGES.txt | 4 src/java/org/apache/cassandra/net/IncomingTcpConnection.java | 2 +- src/java/org/apache/cassandra/net/OutboundTcpConnection.java | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/1a11d523/CHANGES.txt -- diff --cc CHANGES.txt index 0f0439d,c23b99f..c6f0813 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,102 -1,7 +1,106 @@@ +3.0 + * Add pre-startup checks to detect potential incompatibilities (CASSANDRA-8049) + * Distinguish between null and unset in protocol v4 (CASSANDRA-7304) + * Add user/role permissions for user-defined functions (CASSANDRA-7557) + * Allow cassandra config to be updated to restart daemon without unloading classes (CASSANDRA-9046) + * Don't initialize compaction writer before checking if iter is empty (CASSANDRA-9117) + * Remove line number generation from default logback.xml + * Don't execute any functions at prepare-time (CASSANDRA-9037) + * Share file handles between all instances of a SegmentedFile (CASSANDRA-8893) + * Make it possible to major compact LCS (CASSANDRA-7272) + * Make FunctionExecutionException extend RequestExecutionException + (CASSANDRA-9055) + * Add support for SELECT JSON, INSERT JSON syntax and new toJson(), fromJson() + functions (CASSANDRA-7970) + * Optimise max purgeable timestamp calculation in compaction (CASSANDRA-8920) + * Constrain internode message buffer sizes, and improve IO class hierarchy (CASSANDRA-8670) + * New tool added to validate all sstables in a node (CASSANDRA-5791) + * Push notification when tracing completes for an operation (CASSANDRA-7807) + * Delay "node up" and "node added" notifications until native protocol server is started (CASSANDRA-8236) + * Compressed Commit Log (CASSANDRA-6809) + * Optimise IntervalTree (CASSANDRA-8988) + * Add a key-value payload for third party usage (CASSANDRA-8553, 9212) + * Bump metrics-reporter-config dependency for metrics 3.0 (CASSANDRA-8149) + * Partition intra-cluster message streams by size, not type (CASSANDRA-8789) + * Add WriteFailureException to native protocol, notify coordinator of + write failures (CASSANDRA-8592) + * Convert SequentialWriter to nio (CASSANDRA-8709) + * Add role based access control (CASSANDRA-7653, 8650, 7216, 8760, 8849, 8761, 8850) + * Record client ip address in tracing sessions (CASSANDRA-8162) + * Indicate partition key columns in response metadata for prepared + statements (CASSANDRA-7660) + * Merge UUIDType and TimeUUIDType parse logic (CASSANDRA-8759) + * Avoid memory allocation when searching index summary (CASSANDRA-8793) + * Optimise (Time)?UUIDType Comparisons (CASSANDRA-8730) + * Make CRC32Ex into a separate maven dependency (CASSANDRA-8836) + * Use preloaded jemalloc w/ Unsafe (CASSANDRA-8714) + * Avoid accessing partitioner through StorageProxy (CASSANDRA-8244, 8268) + * Upgrade Metrics library and remove depricated metrics (CASSANDRA-5657) + * Serializing Row cache alternative, fully off heap (CASSANDRA-7438) + * Duplicate rows returned when in clause has repeated values (CASSANDRA-6707) + * Make CassandraException unchecked, extend RuntimeException (CASSANDRA-8560) + * Support direct buffer decompression for reads (CASSANDRA-8464) + * DirectByteBuffer compatible LZ4 methods (CASSANDRA-7039) + * Group sstables for anticompaction correctly (CASSANDRA-8578) + * Add ReadFailureException to native protocol, respond + immediately when replicas encounter errors while handling + a read request (CASSANDRA-7886) + * Switch CommitLogSegment from RandomAccessFile to nio (CASSANDRA-8308) + * Allow mixing token and partition key restrictions (CASSANDRA-7016) + * Support index key/value entries on map collections (CASSANDRA-8473) + * Modernize schema tables (CASSANDRA-8261) + * Support for user-defined aggregation functions (CASSANDRA-8053) + * Fix NPE in SelectStatement with empty IN values (CASSANDRA-8419) + * Refactor SelectStatement, return IN results in natural order instead + of IN value list order and ignore duplicate values in partition key IN restrictions (CASSANDRA-7981) + * Support UDTs, tuples, and collections in
[6/6] cassandra git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/d4f2354e Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/d4f2354e Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/d4f2354e Branch: refs/heads/trunk Commit: d4f2354e455f00499479e7a801c691d074f3ec86 Parents: cc5128a ea1beda Author: Brandon Williams Authored: Mon Apr 27 14:38:46 2015 -0500 Committer: Brandon Williams Committed: Mon Apr 27 14:38:46 2015 -0500 -- CHANGES.txt | 1 + .../gms/GossipDigestSynVerbHandler.java | 8 ++ src/java/org/apache/cassandra/gms/Gossiper.java | 26 3 files changed, 35 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/d4f2354e/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/d4f2354e/src/java/org/apache/cassandra/gms/GossipDigestSynVerbHandler.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/d4f2354e/src/java/org/apache/cassandra/gms/Gossiper.java --
[6/6] cassandra git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/ae3edb2a Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ae3edb2a Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ae3edb2a Branch: refs/heads/trunk Commit: ae3edb2abee8c847b4b76349ba5dece54450ebac Parents: 0f72f79 b4fae85 Author: Jonathan Ellis Authored: Fri Apr 17 11:24:27 2015 -0500 Committer: Jonathan Ellis Committed: Fri Apr 17 11:24:27 2015 -0500 -- src/java/org/apache/cassandra/utils/MurmurHash.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/ae3edb2a/src/java/org/apache/cassandra/utils/MurmurHash.java --
[6/6] cassandra git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/46c3f7d8 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/46c3f7d8 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/46c3f7d8 Branch: refs/heads/trunk Commit: 46c3f7d875926d10f53cc5d05e3b0a666fda3af4 Parents: f6b424f 3c17ac6 Author: Brandon Williams Authored: Wed Apr 15 10:40:36 2015 -0500 Committer: Brandon Williams Committed: Wed Apr 15 10:40:36 2015 -0500 -- src/java/org/apache/cassandra/gms/Gossiper.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/46c3f7d8/src/java/org/apache/cassandra/gms/Gossiper.java --
[6/6] cassandra git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/854406f4 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/854406f4 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/854406f4 Branch: refs/heads/trunk Commit: 854406f47ed8ac564ce1ebc41149258884413dd4 Parents: 68f9e90 f7884c5 Author: Brandon Williams Authored: Wed Apr 15 09:35:55 2015 -0500 Committer: Brandon Williams Committed: Wed Apr 15 09:35:55 2015 -0500 -- src/java/org/apache/cassandra/gms/Gossiper.java | 1 - 1 file changed, 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/854406f4/src/java/org/apache/cassandra/gms/Gossiper.java --
[6/6] cassandra git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Conflicts: src/java/org/apache/cassandra/gms/VersionedValue.java Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/68f9e904 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/68f9e904 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/68f9e904 Branch: refs/heads/trunk Commit: 68f9e9040bcbd7460c7289014712cd2fff037593 Parents: b7151fb 4f2c372 Author: Brandon Williams Authored: Wed Apr 15 09:34:48 2015 -0500 Committer: Brandon Williams Committed: Wed Apr 15 09:34:48 2015 -0500 -- CHANGES.txt | 1 + .../gms/GossipShutdownVerbHandler.java | 2 +- src/java/org/apache/cassandra/gms/Gossiper.java | 86 ++-- .../apache/cassandra/gms/HeartBeatState.java| 5 ++ .../apache/cassandra/gms/VersionedValue.java| 6 ++ .../cassandra/service/StorageService.java | 13 ++- 6 files changed, 101 insertions(+), 12 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/68f9e904/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/68f9e904/src/java/org/apache/cassandra/gms/Gossiper.java -- diff --cc src/java/org/apache/cassandra/gms/Gossiper.java index 34f54a1,cfcc9fd..d79b973 --- a/src/java/org/apache/cassandra/gms/Gossiper.java +++ b/src/java/org/apache/cassandra/gms/Gossiper.java @@@ -977,21 -1007,19 +1015,24 @@@ public class Gossiper implements IFailu } for (IEndpointStateChangeSubscriber subscriber : subscribers) subscriber.onJoin(ep, epState); + // check this at the end so nodes will learn about the endpoint + if (isShutdown(ep)) + markAsShutdown(ep); } +public boolean isAlive(InetAddress endpoint) +{ +EndpointState epState = getEndpointStateForEndpoint(endpoint); +if (epState == null) +return false; +return epState.isAlive() && !isDeadState(epState); +} + public boolean isDeadState(EndpointState epState) { -if (epState.getApplicationState(ApplicationState.STATUS) == null) +String state = epState.getStatus(); +if (state.isEmpty()) return false; -String value = epState.getApplicationState(ApplicationState.STATUS).value; -String[] pieces = value.split(VersionedValue.DELIMITER_STR, -1); -assert (pieces.length > 0); -String state = pieces[0]; for (String deadstate : DEAD_STATES) { if (state.equals(deadstate)) http://git-wip-us.apache.org/repos/asf/cassandra/blob/68f9e904/src/java/org/apache/cassandra/gms/VersionedValue.java -- diff --cc src/java/org/apache/cassandra/gms/VersionedValue.java index 203f3a7,1d33642..a142f41 --- a/src/java/org/apache/cassandra/gms/VersionedValue.java +++ b/src/java/org/apache/cassandra/gms/VersionedValue.java @@@ -211,12 -208,12 +212,17 @@@ public class VersionedValue implements { return new VersionedValue(VersionedValue.HIBERNATE + VersionedValue.DELIMITER + value); } + +public VersionedValue rpcReady(boolean value) +{ +return new VersionedValue(String.valueOf(value)); +} + public VersionedValue shutdown(boolean value) + { + return new VersionedValue(VersionedValue.SHUTDOWN + VersionedValue.DELIMITER + value); + } + public VersionedValue datacenter(String dcId) { return new VersionedValue(dcId); http://git-wip-us.apache.org/repos/asf/cassandra/blob/68f9e904/src/java/org/apache/cassandra/service/StorageService.java --
[6/6] cassandra git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/30812dd9 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/30812dd9 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/30812dd9 Branch: refs/heads/trunk Commit: 30812dd91d5c6fd8ca029c2ab2ab499fa6668384 Parents: e180d6e 1c0a8d5 Author: Yuki Morishita Authored: Tue Apr 7 13:14:03 2015 -0500 Committer: Yuki Morishita Committed: Tue Apr 7 13:14:03 2015 -0500 -- --
[6/6] cassandra git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/51908e24 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/51908e24 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/51908e24 Branch: refs/heads/trunk Commit: 51908e240c97ac6fa228950fbdea2eb790345525 Parents: 23c84b1 9449a70 Author: Yuki Morishita Authored: Fri Apr 3 09:19:51 2015 -0500 Committer: Yuki Morishita Committed: Fri Apr 3 09:19:51 2015 -0500 -- .../cassandra/db/compaction/LazilyCompactedRow.java | 10 +++--- 1 file changed, 7 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/51908e24/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java --
[6/6] cassandra git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/230cca58 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/230cca58 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/230cca58 Branch: refs/heads/trunk Commit: 230cca580aa9a2c8704b41b29c0b6b2343478adc Parents: 4a4ea06 c9b83e0 Author: Yuki Morishita Authored: Tue Mar 31 11:58:47 2015 -0500 Committer: Yuki Morishita Committed: Tue Mar 31 11:58:47 2015 -0500 -- --
[6/6] cassandra git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/8e808aed Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/8e808aed Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/8e808aed Branch: refs/heads/trunk Commit: 8e808aed6f181b5551eed72b33dbe50a5c51b23f Parents: f91cfc7 a2b66bf Author: Robert Stupp Authored: Tue Mar 31 11:22:19 2015 +0200 Committer: Robert Stupp Committed: Tue Mar 31 11:22:27 2015 +0200 -- CHANGES.txt | 1 + src/java/org/apache/cassandra/cache/AutoSavingCache.java | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/8e808aed/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/8e808aed/src/java/org/apache/cassandra/cache/AutoSavingCache.java --
[6/6] cassandra git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/f91cfc7e Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/f91cfc7e Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/f91cfc7e Branch: refs/heads/trunk Commit: f91cfc7e400fc446f248d2eddae72b5e589a4372 Parents: f6217ae 3575cd3 Author: Robert Stupp Authored: Tue Mar 31 10:50:46 2015 +0200 Committer: Robert Stupp Committed: Tue Mar 31 10:51:07 2015 +0200 -- CHANGES.txt | 1 + src/java/org/apache/cassandra/db/ColumnFamilyStore.java | 5 + 2 files changed, 6 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/f91cfc7e/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/f91cfc7e/src/java/org/apache/cassandra/db/ColumnFamilyStore.java -- diff --cc src/java/org/apache/cassandra/db/ColumnFamilyStore.java index 7f1bf98,430259e..dbd55a0 --- a/src/java/org/apache/cassandra/db/ColumnFamilyStore.java +++ b/src/java/org/apache/cassandra/db/ColumnFamilyStore.java @@@ -1356,6 -1368,11 +1356,11 @@@ public class ColumnFamilyStore implemen for (Pair position : positions) expectedFileSize += position.right - position.left; } + -double compressionRatio = getCompressionRatio(); ++double compressionRatio = metric.compressionRatio.getValue(); + if (compressionRatio > 0d) + expectedFileSize *= compressionRatio; + return expectedFileSize; }
[6/6] cassandra git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/a7e6e0f5 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/a7e6e0f5 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/a7e6e0f5 Branch: refs/heads/trunk Commit: a7e6e0f55c1cf6f2a5668cdf00e08b8e963e9269 Parents: ff5ed7a 5abab57 Author: Yuki Morishita Authored: Mon Mar 30 17:02:16 2015 -0500 Committer: Yuki Morishita Committed: Mon Mar 30 17:02:16 2015 -0500 -- CHANGES.txt | 1 + src/java/org/apache/cassandra/service/StorageService.java | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/a7e6e0f5/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/a7e6e0f5/src/java/org/apache/cassandra/service/StorageService.java --
[6/6] cassandra git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/87b7aad2 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/87b7aad2 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/87b7aad2 Branch: refs/heads/trunk Commit: 87b7aad23771ded45c30dbaf47a7ed3049044475 Parents: 9129b6e 7b1331f Author: Robert Stupp Authored: Sat Mar 28 12:20:34 2015 +0100 Committer: Robert Stupp Committed: Sat Mar 28 12:20:34 2015 +0100 -- src/java/org/apache/cassandra/db/Directories.java | 4 1 file changed, 4 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/87b7aad2/src/java/org/apache/cassandra/db/Directories.java --
[6/6] cassandra git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/a2d1bfbc Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/a2d1bfbc Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/a2d1bfbc Branch: refs/heads/trunk Commit: a2d1bfbc7068eb5b7ee09157809ed6461a3d23c4 Parents: 2989edb 8715fff Author: Yuki Morishita Authored: Fri Mar 27 16:31:21 2015 -0500 Committer: Yuki Morishita Committed: Fri Mar 27 16:31:21 2015 -0500 -- --
[6/6] cassandra git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/05a86fd8 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/05a86fd8 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/05a86fd8 Branch: refs/heads/trunk Commit: 05a86fd85a004bf53bff5859d74461ccbbf398e8 Parents: 9c482fd 89a8f4a Author: Yuki Morishita Authored: Fri Mar 27 13:35:52 2015 -0500 Committer: Yuki Morishita Committed: Fri Mar 27 13:35:52 2015 -0500 -- CHANGES.txt | 1 + .../db/compaction/LazilyCompactedRow.java| 7 ++- .../org/apache/cassandra/repair/Validator.java | 19 --- 3 files changed, 23 insertions(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/05a86fd8/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/05a86fd8/src/java/org/apache/cassandra/db/compaction/LazilyCompactedRow.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/05a86fd8/src/java/org/apache/cassandra/repair/Validator.java -- diff --cc src/java/org/apache/cassandra/repair/Validator.java index 972afd6,8f8bf6d..4db1cfb --- a/src/java/org/apache/cassandra/repair/Validator.java +++ b/src/java/org/apache/cassandra/repair/Validator.java @@@ -34,9 -34,9 +34,10 @@@ import org.apache.cassandra.db.Decorate import org.apache.cassandra.db.compaction.AbstractCompactedRow; import org.apache.cassandra.net.MessagingService; import org.apache.cassandra.repair.messages.ValidationComplete; +import org.apache.cassandra.tracing.Tracing; import org.apache.cassandra.utils.FBUtilities; import org.apache.cassandra.utils.MerkleTree; + import org.apache.cassandra.utils.MerkleTree.RowHash; /** * Handles the building of a merkle tree for a column family.
[6/6] cassandra git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/1e1302e7 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/1e1302e7 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/1e1302e7 Branch: refs/heads/trunk Commit: 1e1302e7756d8b1cbfa41557508992e98665d0f5 Parents: ec9d0d1 f9c57a5 Author: Brandon Williams Authored: Wed Mar 25 10:11:39 2015 -0500 Committer: Brandon Williams Committed: Wed Mar 25 10:11:39 2015 -0500 -- CHANGES.txt | 1 + src/java/org/apache/cassandra/service/StorageService.java | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/1e1302e7/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/1e1302e7/src/java/org/apache/cassandra/service/StorageService.java -- diff --cc src/java/org/apache/cassandra/service/StorageService.java index 996791e,7c1d2a2..a75c08c --- a/src/java/org/apache/cassandra/service/StorageService.java +++ b/src/java/org/apache/cassandra/service/StorageService.java @@@ -1753,11 -1650,15 +1753,11 @@@ public class StorageService extends Not if (!localTokensToRemove.isEmpty()) SystemKeyspace.updateLocalTokens(Collections.emptyList(), localTokensToRemove); - if (isMoving) + if (isMoving || operationMode == Mode.MOVING) { tokenMetadata.removeFromMoving(endpoint); - -if (!isClientMode) -{ -for (IEndpointLifecycleSubscriber subscriber : lifecycleSubscribers) -subscriber.onMove(endpoint); -} +for (IEndpointLifecycleSubscriber subscriber : lifecycleSubscribers) +subscriber.onMove(endpoint); } else {
[6/6] cassandra git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/ec9d0d1b Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ec9d0d1b Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ec9d0d1b Branch: refs/heads/trunk Commit: ec9d0d1b7e535a4d8dda2ef0601f3467c8a7e0fe Parents: c15ac66 768f83d Author: Brandon Williams Authored: Wed Mar 25 09:36:55 2015 -0500 Committer: Brandon Williams Committed: Wed Mar 25 09:36:55 2015 -0500 -- CHANGES.txt | 1 + src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/ec9d0d1b/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/ec9d0d1b/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java --
[6/6] cassandra git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Conflicts: src/java/org/apache/cassandra/metrics/HintedHandoffMetrics.java src/java/org/apache/cassandra/metrics/StreamingMetrics.java Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/c15ac661 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c15ac661 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c15ac661 Branch: refs/heads/trunk Commit: c15ac661dbe8cff7a22fffa22045867e4bf7bbcc Parents: 8a03181 86a3802 Author: Robert Stupp Authored: Wed Mar 25 11:46:00 2015 +0100 Committer: Robert Stupp Committed: Wed Mar 25 11:46:00 2015 +0100 -- CHANGES.txt | 1 + src/java/org/apache/cassandra/metrics/ConnectionMetrics.java| 2 +- src/java/org/apache/cassandra/metrics/HintedHandoffMetrics.java | 4 ++-- src/java/org/apache/cassandra/metrics/StreamingMetrics.java | 2 +- 4 files changed, 5 insertions(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/c15ac661/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/c15ac661/src/java/org/apache/cassandra/metrics/ConnectionMetrics.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/c15ac661/src/java/org/apache/cassandra/metrics/HintedHandoffMetrics.java -- diff --cc src/java/org/apache/cassandra/metrics/HintedHandoffMetrics.java index d3d8388,ea81a9a..e44279a --- a/src/java/org/apache/cassandra/metrics/HintedHandoffMetrics.java +++ b/src/java/org/apache/cassandra/metrics/HintedHandoffMetrics.java @@@ -56,7 -55,7 +56,7 @@@ public class HintedHandoffMetric { public Counter load(InetAddress address) { - return Metrics.counter(factory.createMetricName("Hints_created-" + address.getHostAddress())); -return Metrics.newCounter(factory.createMetricName("Hints_created-" + address.getHostAddress().replace(':', '.'))); ++return Metrics.counter(factory.createMetricName("Hints_created-" + address.getHostAddress().replace(':', '.'))); } }); @@@ -89,7 -88,7 +89,7 @@@ public DifferencingCounter(InetAddress address) { - this.meter = Metrics.counter(factory.createMetricName("Hints_not_stored-" + address.getHostAddress())); -this.meter = Metrics.newCounter(factory.createMetricName("Hints_not_stored-" + address.getHostAddress().replace(':', '.'))); ++this.meter = Metrics.counter(factory.createMetricName("Hints_not_stored-" + address.getHostAddress().replace(':', '.'))); } public long difference() http://git-wip-us.apache.org/repos/asf/cassandra/blob/c15ac661/src/java/org/apache/cassandra/metrics/StreamingMetrics.java -- diff --cc src/java/org/apache/cassandra/metrics/StreamingMetrics.java index d00513c,4c57812..72e9b23 --- a/src/java/org/apache/cassandra/metrics/StreamingMetrics.java +++ b/src/java/org/apache/cassandra/metrics/StreamingMetrics.java @@@ -54,8 -52,8 +54,8 @@@ public class StreamingMetric public StreamingMetrics(final InetAddress peer) { - MetricNameFactory factory = new DefaultNameFactory("Streaming", peer.getHostAddress().replaceAll(":", ".")); + MetricNameFactory factory = new DefaultNameFactory("Streaming", peer.getHostAddress().replace(':', '.')); -incomingBytes = Metrics.newCounter(factory.createMetricName("IncomingBytes")); -outgoingBytes= Metrics.newCounter(factory.createMetricName("OutgoingBytes")); +incomingBytes = Metrics.counter(factory.createMetricName("IncomingBytes")); +outgoingBytes= Metrics.counter(factory.createMetricName("OutgoingBytes")); } }
[6/6] cassandra git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Conflicts: CHANGES.txt Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/db1cf3e0 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/db1cf3e0 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/db1cf3e0 Branch: refs/heads/trunk Commit: db1cf3e084c2b36d66610e78ef89351df5d5d76a Parents: 8d570fa 77d58f9 Author: Brandon Williams Authored: Tue Mar 17 14:34:59 2015 -0500 Committer: Brandon Williams Committed: Tue Mar 17 14:34:59 2015 -0500 -- CHANGES.txt | 2 +- build.xml | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/db1cf3e0/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/db1cf3e0/build.xml -- diff --cc build.xml index 3fb4240,bdb3646..c99e8f8 --- a/build.xml +++ b/build.xml @@@ -62,9 -60,9 +62,10 @@@ + +
[6/6] cassandra git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Conflicts: src/java/org/apache/cassandra/gms/Gossiper.java Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/65d5ef26 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/65d5ef26 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/65d5ef26 Branch: refs/heads/trunk Commit: 65d5ef26c50c2e394637f6ba1afe0b80fd1d36a2 Parents: c059a56 1376b8e Author: Brandon Williams Authored: Fri Mar 13 08:06:15 2015 -0500 Committer: Brandon Williams Committed: Fri Mar 13 08:06:15 2015 -0500 -- CHANGES.txt | 1 + .../org/apache/cassandra/gms/EndpointState.java | 12 ++ src/java/org/apache/cassandra/gms/Gossiper.java | 25 +++- 3 files changed, 32 insertions(+), 6 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/65d5ef26/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/65d5ef26/src/java/org/apache/cassandra/gms/Gossiper.java -- diff --cc src/java/org/apache/cassandra/gms/Gossiper.java index 4584044,ac98c53..1820c06 --- a/src/java/org/apache/cassandra/gms/Gossiper.java +++ b/src/java/org/apache/cassandra/gms/Gossiper.java @@@ -958,12 -959,14 +967,14 @@@ public class Gossiper implements IFailu logger.info("Node {} is now part of the cluster", ep); } if (logger.isTraceEnabled()) -logger.trace("Adding endpoint state for " + ep); +logger.trace("Adding endpoint state for {}", ep); endpointStateMap.put(ep, epState); - // the node restarted: it is up to the subscriber to take whatever action is necessary - for (IEndpointStateChangeSubscriber subscriber : subscribers) - subscriber.onRestart(ep, epState); + if (localEpState != null) + { // the node restarted: it is up to the subscriber to take whatever action is necessary + for (IEndpointStateChangeSubscriber subscriber : subscribers) + subscriber.onRestart(ep, localEpState); + } if (!isDeadState(epState)) markAlive(ep, epState); @@@ -1042,7 -1046,8 +1054,8 @@@ applyNewStates(ep, localEpStatePtr, remoteState); } else if (logger.isTraceEnabled()) -logger.trace("Ignoring remote version " + remoteMaxVersion + " <= " + localMaxVersion + " for " + ep); +logger.trace("Ignoring remote version {} <= {} for {}", remoteMaxVersion, localMaxVersion, ep); + if (!localEpStatePtr.isAlive() && !isDeadState(localEpStatePtr)) // unless of course, it was dead markAlive(ep, localEpStatePtr); }
[6/6] cassandra git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/258e59fc Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/258e59fc Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/258e59fc Branch: refs/heads/trunk Commit: 258e59fcf3eae9f808e9c37c0aee2c54458e3cf9 Parents: ac75ce3 ecf48dd Author: Yuki Morishita Authored: Thu Mar 5 11:52:37 2015 -0600 Committer: Yuki Morishita Committed: Thu Mar 5 11:52:37 2015 -0600 -- CHANGES.txt | 2 + .../org/apache/cassandra/config/Config.java | 12 +++ .../cassandra/config/DatabaseDescriptor.java| 12 ++- .../cql3/statements/UpdateStatement.java| 41 ++-- src/java/org/apache/cassandra/db/Keyspace.java | 8 +- .../cassandra/io/sstable/CQLSSTableWriter.java | 56 ++ .../io/sstable/CQLSSTableWriterClientTest.java | 102 +++ .../io/sstable/CQLSSTableWriterTest.java| 23 +++-- 8 files changed, 215 insertions(+), 41 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/258e59fc/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/258e59fc/src/java/org/apache/cassandra/config/Config.java -- diff --cc src/java/org/apache/cassandra/config/Config.java index 7e1e9ee,c683d7b..a174a0f --- a/src/java/org/apache/cassandra/config/Config.java +++ b/src/java/org/apache/cassandra/config/Config.java @@@ -205,9 -200,10 +205,11 @@@ public class Confi public volatile int counter_cache_save_period = 7200; public volatile int counter_cache_keys_to_save = Integer.MAX_VALUE; -public String memory_allocator = NativeAllocator.class.getSimpleName(); +@Deprecated +public String memory_allocator; + private static boolean isClientMode = false; + public Integer file_cache_size_in_mb; public boolean inter_dc_tcp_nodelay = true; @@@ -239,6 -231,16 +241,16 @@@ outboundBindAny = value; } + public static boolean isClientMode() + { - return isClientMode; ++return isClientMode; + } + + public static void setClientMode(boolean clientMode) + { + isClientMode = clientMode; + } + public void configHintedHandoff() throws ConfigurationException { if (hinted_handoff_enabled != null && !hinted_handoff_enabled.isEmpty()) http://git-wip-us.apache.org/repos/asf/cassandra/blob/258e59fc/src/java/org/apache/cassandra/config/DatabaseDescriptor.java -- diff --cc src/java/org/apache/cassandra/config/DatabaseDescriptor.java index b1a2684,924ab3c..af21f74 --- a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java +++ b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java @@@ -92,16 -115,36 +92,26 @@@ public class DatabaseDescripto private static String localDC; private static Comparator localComparator; +public static void forceStaticInitialization() {} static { + // In client mode, we use a default configuration. Note that the fields of this class will be + // left unconfigured however (the partitioner or localDC will be null for instance) so this + // should be used with care. try { - applyConfig(loadConfig()); + if (Config.isClientMode()) + { + conf = new Config(); -// at least we have to set memoryAllocator to open SSTable in client mode -memoryAllocator = FBUtilities.newOffHeapAllocator(conf.memory_allocator); + } + else + { + applyConfig(loadConfig()); + } } -catch (ConfigurationException e) -{ -logger.error("Fatal configuration error", e); -System.err.println(e.getMessage() + "\nFatal configuration error; unable to start. See log for stacktrace."); -System.exit(1); -} catch (Exception e) { -logger.error("Fatal error during configuration loading", e); -System.err.println(e.getMessage() + "\nFatal error during configuration loading; unable to start. See log for stacktrace."); -JVMStabilityInspector.inspectThrowable(e); -System.exit(1); +throw new ExceptionInInitializerError(e); } } http://git-wip-us.apache.org/repos/asf/cassandra/blob/258e59fc/src/java/org/apache/cassandra/cql3/statements/UpdateStatement.java -
[6/6] cassandra git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Conflicts: build.xml Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/847f413e Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/847f413e Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/847f413e Branch: refs/heads/trunk Commit: 847f413ead4b57fee689d2bdc2364578c795c869 Parents: 2c15d82 322e8f0 Author: Brandon Williams Authored: Thu Feb 26 09:50:58 2015 -0800 Committer: Brandon Williams Committed: Thu Feb 26 09:50:58 2015 -0800 -- build.xml | 3 +++ 1 file changed, 3 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/847f413e/build.xml -- diff --cc build.xml index 0b9d1a2,4ced4e2..6305556 --- a/build.xml +++ b/build.xml @@@ -1214,18 -1199,9 +1214,21 @@@ + + + + + + + + + + +
[6/6] cassandra git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/7f8a0984 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/7f8a0984 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/7f8a0984 Branch: refs/heads/trunk Commit: 7f8a098403692e18f77e3173f7d92537dd842de4 Parents: 4807f12 3b3570c8 Author: Yuki Morishita Authored: Wed Feb 25 08:59:02 2015 -0800 Committer: Yuki Morishita Committed: Wed Feb 25 08:59:02 2015 -0800 -- src/java/org/apache/cassandra/streaming/StreamManager.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) --
[6/6] cassandra git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/4b16c111 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/4b16c111 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/4b16c111 Branch: refs/heads/trunk Commit: 4b16c11169ab8c854d2ffdb3e8f2900ac8fee979 Parents: e887336 9d421f3 Author: Benedict Elliott Smith Authored: Thu Feb 19 11:59:58 2015 + Committer: Benedict Elliott Smith Committed: Thu Feb 19 11:59:58 2015 + -- CHANGES.txt | 3 +++ .../io/sstable/SSTableSimpleUnsortedWriter.java | 21 ++-- 2 files changed, 14 insertions(+), 10 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/4b16c111/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/4b16c111/src/java/org/apache/cassandra/io/sstable/SSTableSimpleUnsortedWriter.java --
[6/6] cassandra git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/f6879b20 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/f6879b20 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/f6879b20 Branch: refs/heads/trunk Commit: f6879b205880551729169d4cc506fe2ba7f7ab11 Parents: f9d4044 cd9da44 Author: Robert Stupp Authored: Tue Feb 17 17:27:56 2015 +0100 Committer: Robert Stupp Committed: Tue Feb 17 17:27:56 2015 +0100 -- --
[6/6] cassandra git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/51293ed0 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/51293ed0 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/51293ed0 Branch: refs/heads/trunk Commit: 51293ed08d5318f99f295cb9d72fce83eadacb61 Parents: 99739ee 15c92c3 Author: Benedict Elliott Smith Authored: Fri Feb 13 10:42:29 2015 + Committer: Benedict Elliott Smith Committed: Fri Feb 13 10:42:29 2015 + -- --
[6/6] cassandra git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/51057f4c Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/51057f4c Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/51057f4c Branch: refs/heads/trunk Commit: 51057f4cf7674363c5a65383315dadbe431c70fb Parents: 8f5435d 88b226b Author: Brandon Williams Authored: Tue Feb 10 12:19:58 2015 -0600 Committer: Brandon Williams Committed: Tue Feb 10 12:19:58 2015 -0600 -- conf/cassandra.yaml | 2 ++ 1 file changed, 2 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/51057f4c/conf/cassandra.yaml --
[6/6] cassandra git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/8f5435d0 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/8f5435d0 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/8f5435d0 Branch: refs/heads/trunk Commit: 8f5435d0630c048569eee8f7a88d7f56487bcbc6 Parents: 307e4f2 69d07fb Author: Brandon Williams Authored: Tue Feb 10 12:07:49 2015 -0600 Committer: Brandon Williams Committed: Tue Feb 10 12:07:49 2015 -0600 -- conf/cassandra-env.sh | 1 + conf/cassandra.yaml | 3 +++ 2 files changed, 4 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/8f5435d0/conf/cassandra-env.sh -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/8f5435d0/conf/cassandra.yaml --
[6/6] cassandra git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/6e9aec31 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/6e9aec31 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/6e9aec31 Branch: refs/heads/trunk Commit: 6e9aec3125d5e549669e07f0c4b3ff22ffc9d8c2 Parents: 97d7d13 2a283e1 Author: Yuki Morishita Authored: Sun Feb 1 16:10:40 2015 -0600 Committer: Yuki Morishita Committed: Sun Feb 1 16:10:40 2015 -0600 -- --
[6/6] cassandra git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/08e7b3e7 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/08e7b3e7 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/08e7b3e7 Branch: refs/heads/trunk Commit: 08e7b3e778fef3c42d68faf8af72f4af348eb82f Parents: cb22dd6 2bff135 Author: Benedict Elliott Smith Authored: Wed Jan 28 22:59:30 2015 + Committer: Benedict Elliott Smith Committed: Wed Jan 28 22:59:30 2015 + -- CHANGES.txt | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/08e7b3e7/CHANGES.txt -- diff --cc CHANGES.txt index 86dbf56,d273350..ab4621d --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,62 -1,4 +1,61 @@@ +3.0 + * Upgrade Metrics library and remove depricated metrics (CASSANDRA-5657) + * Serializing Row cache alternative, fully off heap (CASSANDRA-7438) + * Duplicate rows returned when in clause has repeated values (CASSANDRA-6707) + * Make CassandraException unchecked, extend RuntimeException (CASSANDRA-8560) + * Support direct buffer decompression for reads (CASSANDRA-8464) + * DirectByteBuffer compatible LZ4 methods (CASSANDRA-7039) + * Add role based access control (CASSANDRA-7653) + * Group sstables for anticompaction correctly (CASSANDRA-8578) + * Add ReadFailureException to native protocol, respond + immediately when replicas encounter errors while handling + a read request (CASSANDRA-7886) + * Switch CommitLogSegment from RandomAccessFile to nio (CASSANDRA-8308) + * Allow mixing token and partition key restrictions (CASSANDRA-7016) + * Support index key/value entries on map collections (CASSANDRA-8473) + * Modernize schema tables (CASSANDRA-8261) + * Support for user-defined aggregation functions (CASSANDRA-8053) + * Fix NPE in SelectStatement with empty IN values (CASSANDRA-8419) + * Refactor SelectStatement, return IN results in natural order instead + of IN value list order and ignore duplicate values in partition key IN restrictions (CASSANDRA-7981) + * Support UDTs, tuples, and collections in user-defined + functions (CASSANDRA-7563) + * Fix aggregate fn results on empty selection, result column name, + and cqlsh parsing (CASSANDRA-8229) + * Mark sstables as repaired after full repair (CASSANDRA-7586) + * Extend Descriptor to include a format value and refactor reader/writer + APIs (CASSANDRA-7443) + * Integrate JMH for microbenchmarks (CASSANDRA-8151) + * Keep sstable levels when bootstrapping (CASSANDRA-7460) + * Add Sigar library and perform basic OS settings check on startup (CASSANDRA-7838) + * Support for aggregation functions (CASSANDRA-4914) + * Remove cassandra-cli (CASSANDRA-7920) + * Accept dollar quoted strings in CQL (CASSANDRA-7769) + * Make assassinate a first class command (CASSANDRA-7935) + * Support IN clause on any clustering column (CASSANDRA-4762) + * Improve compaction logging (CASSANDRA-7818) + * Remove YamlFileNetworkTopologySnitch (CASSANDRA-7917) + * Do anticompaction in groups (CASSANDRA-6851) + * Support user-defined functions (CASSANDRA-7395, 7526, 7562, 7740, 7781, 7929, + 7924, 7812, 8063, 7813, 7708) + * Permit configurable timestamps with cassandra-stress (CASSANDRA-7416) + * Move sstable RandomAccessReader to nio2, which allows using the + FILE_SHARE_DELETE flag on Windows (CASSANDRA-4050) + * Remove CQL2 (CASSANDRA-5918) + * Add Thrift get_multi_slice call (CASSANDRA-6757) + * Optimize fetching multiple cells by name (CASSANDRA-6933) + * Allow compilation in java 8 (CASSANDRA-7028) + * Make incremental repair default (CASSANDRA-7250) + * Enable code coverage thru JaCoCo (CASSANDRA-7226) + * Switch external naming of 'column families' to 'tables' (CASSANDRA-4369) + * Shorten SSTable path (CASSANDRA-6962) + * Use unsafe mutations for most unit tests (CASSANDRA-6969) + * Fix race condition during calculation of pending ranges (CASSANDRA-7390) + * Fail on very large batch sizes (CASSANDRA-8011) + * Improve concurrency of repair (CASSANDRA-6455, 8208) + + 2.1.3 - * Fix SSTableSimpleUnsortedWriter ConcurrentModificationException (CASSANDRA-8619) * Update tools/stress/README.txt to match current behaviour (CASSANDRA-7933) * Fix schema from Thrift conversion with empty metadata (CASSANDRA-8695) * Safer Resource Management (CASSANDRA-7705)
[6/6] cassandra git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/4537b327 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/4537b327 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/4537b327 Branch: refs/heads/trunk Commit: 4537b32772ed1b5116214a23f7f3b7c7f06613a1 Parents: ca1b065 bda3258 Author: Benedict Elliott Smith Authored: Wed Jan 28 22:39:39 2015 + Committer: Benedict Elliott Smith Committed: Wed Jan 28 22:39:39 2015 + -- --
[6/6] cassandra git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Conflicts: src/java/org/apache/cassandra/config/DatabaseDescriptor.java src/java/org/apache/cassandra/tools/SSTableExport.java src/java/org/apache/cassandra/tools/SSTableImport.java src/java/org/apache/cassandra/tools/StandaloneScrubber.java src/java/org/apache/cassandra/tools/StandaloneSplitter.java src/java/org/apache/cassandra/tools/StandaloneUpgrader.java Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/27ad2db0 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/27ad2db0 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/27ad2db0 Branch: refs/heads/trunk Commit: 27ad2db02f5ae0b3c59e817a7eb82163a4695f95 Parents: d4b23b0 3a5f79e Author: Yuki Morishita Authored: Fri Jan 23 09:27:53 2015 -0600 Committer: Yuki Morishita Committed: Fri Jan 23 09:27:53 2015 -0600 -- src/java/org/apache/cassandra/config/Schema.java | 18 -- .../org/apache/cassandra/tools/SSTableExport.java | 2 +- .../org/apache/cassandra/tools/SSTableImport.java | 2 +- .../cassandra/tools/SSTableLevelResetter.java | 2 +- .../cassandra/tools/StandaloneScrubber.java | 2 +- .../cassandra/tools/StandaloneSplitter.java | 2 +- .../cassandra/tools/StandaloneUpgrader.java | 2 +- 7 files changed, 22 insertions(+), 8 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/27ad2db0/src/java/org/apache/cassandra/config/Schema.java -- diff --cc src/java/org/apache/cassandra/config/Schema.java index 694c05c,8e9802f..af1b502 --- a/src/java/org/apache/cassandra/config/Schema.java +++ b/src/java/org/apache/cassandra/config/Schema.java @@@ -82,20 -80,10 +82,34 @@@ public class Schem } /** - * Initialize empty schema object + * Initialize empty schema object and load the hardcoded system tables */ public Schema() -{} +{ +load(SystemKeyspace.definition()); +} + - /** load keyspace (keyspace) definitions, but do not initialize the keyspace instances. */ ++/** ++ * load keyspace (keyspace) definitions, but do not initialize the keyspace instances. ++ * Schema version may be updated as the result. ++ */ +public Schema loadFromDisk() +{ ++return loadFromDisk(true); ++} ++ ++/** ++ * Load schema definitions from disk. ++ * ++ * @param updateVersion true if schema version needs to be updated ++ */ ++public Schema loadFromDisk(boolean updateVersion) ++{ +load(LegacySchemaTables.readSchemaFromSystemTables()); - updateVersion(); ++if (updateVersion) ++updateVersion(); +return this; +} /** * Load up non-system keyspaces http://git-wip-us.apache.org/repos/asf/cassandra/blob/27ad2db0/src/java/org/apache/cassandra/tools/SSTableExport.java -- diff --cc src/java/org/apache/cassandra/tools/SSTableExport.java index 76bfa3b,a90f405..b62f516 --- a/src/java/org/apache/cassandra/tools/SSTableExport.java +++ b/src/java/org/apache/cassandra/tools/SSTableExport.java @@@ -418,7 -419,7 +418,7 @@@ public class SSTableExpor String[] excludes = cmd.getOptionValues(EXCLUDEKEY_OPTION); String ssTableFileName = new File(cmd.getArgs()[0]).getAbsolutePath(); - Schema.instance.loadFromDisk(); -DatabaseDescriptor.loadSchemas(false); ++Schema.instance.loadFromDisk(false); Descriptor descriptor = Descriptor.fromFilename(ssTableFileName); // Start by validating keyspace name http://git-wip-us.apache.org/repos/asf/cassandra/blob/27ad2db0/src/java/org/apache/cassandra/tools/SSTableImport.java -- diff --cc src/java/org/apache/cassandra/tools/SSTableImport.java index ee6bf59,87d52be..84613e9 --- a/src/java/org/apache/cassandra/tools/SSTableImport.java +++ b/src/java/org/apache/cassandra/tools/SSTableImport.java @@@ -501,7 -501,7 +501,7 @@@ public class SSTableImpor isSorted = true; } - Schema.instance.loadFromDisk(); -DatabaseDescriptor.loadSchemas(false); ++Schema.instance.loadFromDisk(false); if (Schema.instance.getNonSystemKeyspaces().size() < 1) { String msg = "no non-system keyspaces are defined"; http://git-wip-us.apache.org/repos/asf/cassandra/blob/27ad2db0/src/java/org/apache/cassandra/tools/SSTableLevelResetter.java -- diff --cc src/java/org/apache/cassandra/tools/SSTableLevelResetter.ja
[6/6] cassandra git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/7bd6d56b Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/7bd6d56b Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/7bd6d56b Branch: refs/heads/trunk Commit: 7bd6d56b5acbece45f31d38b2bc51132388d2c20 Parents: caeef17 f136bac Author: Yuki Morishita Authored: Mon Jan 12 11:52:13 2015 -0600 Committer: Yuki Morishita Committed: Mon Jan 12 11:52:13 2015 -0600 -- tools/bin/sstablemetadata | 37 - 1 file changed, 20 insertions(+), 17 deletions(-) --
[6/6] cassandra git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/fa0cc903 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/fa0cc903 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/fa0cc903 Branch: refs/heads/trunk Commit: fa0cc90393d079aee40e91d02846f915093efe13 Parents: c6525da e906192 Author: Dave Brosius Authored: Fri Jan 9 19:59:14 2015 -0500 Committer: Dave Brosius Committed: Fri Jan 9 19:59:14 2015 -0500 -- CHANGES.txt | 2 +- src/java/org/apache/cassandra/net/MessageOut.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/fa0cc903/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/fa0cc903/src/java/org/apache/cassandra/net/MessageOut.java --
[6/6] cassandra git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/9606a17b Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/9606a17b Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/9606a17b Branch: refs/heads/trunk Commit: 9606a17b364a10d2aeb2977dd448fd6d51bfcada Parents: 12f17b2 5ac5ee6 Author: Yuki Morishita Authored: Wed Jan 7 22:13:21 2015 -0600 Committer: Yuki Morishita Committed: Wed Jan 7 22:13:21 2015 -0600 -- .../apache/cassandra/db/DirectoriesTest.java| 25 1 file changed, 10 insertions(+), 15 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/9606a17b/test/unit/org/apache/cassandra/db/DirectoriesTest.java --
[6/6] cassandra git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/729ebe07 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/729ebe07 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/729ebe07 Branch: refs/heads/trunk Commit: 729ebe078a67fd1aa779b26a4738b76da23af04d Parents: e1e28d0 55750e0 Author: Benedict Elliott Smith Authored: Wed Jan 7 13:05:33 2015 + Committer: Benedict Elliott Smith Committed: Wed Jan 7 13:05:33 2015 + -- CHANGES.txt | 3 ++ .../io/compress/CompressedSequentialWriter.java | 6 +++ .../io/compress/CompressionMetadata.java| 9 + .../io/sstable/format/big/BigTableWriter.java | 21 ++- .../io/util/ChecksummedSequentialWriter.java| 6 +++ .../cassandra/io/util/SequentialWriter.java | 39 6 files changed, 67 insertions(+), 17 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/729ebe07/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/729ebe07/src/java/org/apache/cassandra/io/compress/CompressedSequentialWriter.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/729ebe07/src/java/org/apache/cassandra/io/compress/CompressionMetadata.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/729ebe07/src/java/org/apache/cassandra/io/sstable/format/big/BigTableWriter.java -- diff --cc src/java/org/apache/cassandra/io/sstable/format/big/BigTableWriter.java index c52184b,000..2d34209 mode 100644,00..100644 --- a/src/java/org/apache/cassandra/io/sstable/format/big/BigTableWriter.java +++ b/src/java/org/apache/cassandra/io/sstable/format/big/BigTableWriter.java @@@ -1,588 -1,0 +1,591 @@@ +/* + * 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.io.sstable.format.big; + +import java.io.Closeable; +import java.io.DataInput; +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.nio.ByteBuffer; +import java.util.Collections; +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import org.apache.cassandra.db.*; +import org.apache.cassandra.io.sstable.*; +import org.apache.cassandra.io.sstable.format.SSTableReader; +import org.apache.cassandra.io.sstable.format.SSTableWriter; +import org.apache.cassandra.io.sstable.format.Version; +import org.apache.cassandra.io.util.*; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import org.apache.cassandra.config.CFMetaData; +import org.apache.cassandra.config.DatabaseDescriptor; +import org.apache.cassandra.db.compaction.AbstractCompactedRow; +import org.apache.cassandra.dht.IPartitioner; +import org.apache.cassandra.io.FSWriteError; +import org.apache.cassandra.io.compress.CompressedSequentialWriter; +import org.apache.cassandra.io.sstable.metadata.MetadataCollector; +import org.apache.cassandra.io.sstable.metadata.MetadataComponent; +import org.apache.cassandra.io.sstable.metadata.MetadataType; +import org.apache.cassandra.io.sstable.metadata.StatsMetadata; +import org.apache.cassandra.io.util.DataOutputPlus; +import org.apache.cassandra.io.util.DataOutputStreamAndChannel; +import org.apache.cassandra.io.util.FileMark; +import org.apache.cassandra.io.util.FileUtils; +import org.apache.cassandra.io.util.SegmentedFile; +import org.apache.cassandra.io.util.SequentialWriter; +import org.apache.cassandra.service.ActiveRepairService; +import org.apache.cassandra.service.StorageService; +import org.apache.cassandra.utils.ByteBufferUtil; +import org.apache.cassandra.utils.FBUtilities; +import org.apache.cassandra.utils.FilterFactory; +imp
[6/6] cassandra git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Conflicts: src/java/org/apache/cassandra/service/StorageService.java src/java/org/apache/cassandra/service/StorageServiceMBean.java src/java/org/apache/cassandra/tools/NodeProbe.java Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/9529fba6 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/9529fba6 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/9529fba6 Branch: refs/heads/trunk Commit: 9529fba6679e903375ec935467de1017a1f4574f Parents: ffb7f64 f8b43d4 Author: Yuki Morishita Authored: Tue Jan 6 16:02:12 2015 -0600 Committer: Yuki Morishita Committed: Tue Jan 6 16:02:12 2015 -0600 -- .../cassandra/service/StorageService.java | 30 +--- .../cassandra/service/StorageServiceMBean.java | 23 +++ 2 files changed, 37 insertions(+), 16 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/9529fba6/src/java/org/apache/cassandra/service/StorageService.java -- diff --cc src/java/org/apache/cassandra/service/StorageService.java index 391f890,b961381..4740cd3 --- a/src/java/org/apache/cassandra/service/StorageService.java +++ b/src/java/org/apache/cassandra/service/StorageService.java @@@ -2430,153 -2495,122 +2430,163 @@@ public class StorageService extends Not sendNotification(jmxNotification); } -public int forceRepairAsync(String keyspace, boolean isSequential, Collection dataCenters, Collection hosts, boolean primaryRange, boolean fullRepair, String... columnFamilies) throws IOException +public int repairAsync(String keyspace, Map repairSpec) +{ +RepairOption option = RepairOption.parse(repairSpec, getPartitioner()); +// if ranges are not specified +if (option.getRanges().isEmpty()) +{ +if (option.isPrimaryRange()) +{ +// when repairing only primary range, neither dataCenters nor hosts can be set +if (option.getDataCenters().isEmpty() && option.getHosts().isEmpty()) +option.getRanges().addAll(getPrimaryRanges(keyspace)); +// except dataCenters only contain local DC (i.e. -local) +else if (option.getDataCenters().size() == 1 && option.getDataCenters().contains(DatabaseDescriptor.getLocalDataCenter())) + option.getRanges().addAll(getPrimaryRangesWithinDC(keyspace)); +else +throw new IllegalArgumentException("You need to run primary range repair on all nodes in the cluster."); +} +else +{ +option.getRanges().addAll(getLocalRanges(keyspace)); +} +} +return forceRepairAsync(keyspace, option); +} + +@Deprecated +public int forceRepairAsync(String keyspace, +boolean isSequential, +Collection dataCenters, +Collection hosts, +boolean primaryRange, +boolean fullRepair, +String... columnFamilies) { - return forceRepairAsync(keyspace, isSequential ? RepairParallelism.SEQUENTIAL : RepairParallelism.PARALLEL, dataCenters, hosts, primaryRange, fullRepair, columnFamilies); + return forceRepairAsync(keyspace, isSequential ? RepairParallelism.SEQUENTIAL.ordinal() : RepairParallelism.PARALLEL.ordinal(), dataCenters, hosts, primaryRange, fullRepair, columnFamilies); } -public int forceRepairAsync(String keyspace, int parallelismDegree, Collection dataCenters, Collection hosts, boolean primaryRange, boolean fullRepair, String... columnFamilies) +@Deprecated +public int forceRepairAsync(String keyspace, - RepairParallelism parallelismDegree, ++int parallelismDegree, +Collection dataCenters, +Collection hosts, +boolean primaryRange, +boolean fullRepair, +String... columnFamilies) { - if (FBUtilities.isWindows() && parallelismDegree != RepairParallelism.PARALLEL) + if (parallelismDegree < 0 || parallelismDegree > RepairParallelism.values().length - 1) + { + throw new IllegalArgumentException("Invalid parallelism degree specified: " + parallelismDegree); + } -Collection> ranges; -if (primaryRange) -{ -// whe
[6/6] cassandra git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/ffb7f649 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ffb7f649 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ffb7f649 Branch: refs/heads/trunk Commit: ffb7f6491d905cd2edaba3a710a1c0bb1f1bf797 Parents: 0f024a6 136042e Author: Brandon Williams Authored: Tue Jan 6 09:31:16 2015 -0600 Committer: Brandon Williams Committed: Tue Jan 6 09:31:16 2015 -0600 -- .../apache/cassandra/gms/FailureDetector.java | 8 +++ .../apache/cassandra/gms/ArrivalWindowTest.java | 24 +++- 2 files changed, 22 insertions(+), 10 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/ffb7f649/src/java/org/apache/cassandra/gms/FailureDetector.java --
[6/6] cassandra git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/6ce8b3fc Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/6ce8b3fc Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/6ce8b3fc Branch: refs/heads/trunk Commit: 6ce8b3fcbbd5f6638ee635fbc395541afdb5eef8 Parents: c64ac41 27c67ad Author: Jonathan Ellis Authored: Wed Dec 10 15:19:54 2014 -0600 Committer: Jonathan Ellis Committed: Wed Dec 10 15:19:54 2014 -0600 -- CHANGES.txt| 1 + .../db/compaction/DateTieredCompactionStrategyOptions.java | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/6ce8b3fc/CHANGES.txt --
[6/6] cassandra git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Conflicts: src/java/org/apache/cassandra/db/ColumnFamilyStore.java Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/a7208383 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/a7208383 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/a7208383 Branch: refs/heads/trunk Commit: a7208383fba67fda025d354c66491c668887602a Parents: f5866ca b7a0cd9 Author: Yuki Morishita Authored: Thu Dec 4 17:30:09 2014 -0600 Committer: Yuki Morishita Committed: Thu Dec 4 17:30:09 2014 -0600 -- CHANGES.txt | 1 + .../apache/cassandra/db/ColumnFamilyStore.java | 34 ++-- 2 files changed, 33 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/a7208383/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/a7208383/src/java/org/apache/cassandra/db/ColumnFamilyStore.java --
[6/6] cassandra git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/3916e486 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/3916e486 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/3916e486 Branch: refs/heads/trunk Commit: 3916e48674c75af6f03f8ff762c8d6e00342dab8 Parents: 65a7088 587657d Author: Jonathan Ellis Authored: Tue Dec 2 16:07:24 2014 -0600 Committer: Jonathan Ellis Committed: Tue Dec 2 16:07:24 2014 -0600 -- CHANGES.txt | 2 ++ src/java/org/apache/cassandra/db/ColumnFamilyStore.java | 5 +++-- 2 files changed, 5 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/3916e486/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/3916e486/src/java/org/apache/cassandra/db/ColumnFamilyStore.java --
[6/6] cassandra git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/a1094419 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/a1094419 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/a1094419 Branch: refs/heads/trunk Commit: a109441996e4b9e36a6470120f7b28e800fc37b1 Parents: 986b7a6 c8848bc Author: Brandon Williams Authored: Mon Dec 1 13:45:05 2014 -0600 Committer: Brandon Williams Committed: Mon Dec 1 13:45:05 2014 -0600 -- --
[6/6] cassandra git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/94ba744b Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/94ba744b Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/94ba744b Branch: refs/heads/trunk Commit: 94ba744b373a741c2a42786249f54b73bda02e11 Parents: 6348957 9a4712e Author: Brandon Williams Authored: Mon Dec 1 10:37:04 2014 -0600 Committer: Brandon Williams Committed: Mon Dec 1 10:37:04 2014 -0600 -- CHANGES.txt | 1 + src/java/org/apache/cassandra/gms/Gossiper.java | 25 +++- .../cassandra/service/StorageService.java | 4 3 files changed, 29 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/94ba744b/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/94ba744b/src/java/org/apache/cassandra/gms/Gossiper.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/94ba744b/src/java/org/apache/cassandra/service/StorageService.java --
[6/6] cassandra git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/999ce832 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/999ce832 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/999ce832 Branch: refs/heads/trunk Commit: 999ce832dd0b133f92b44284e5fff8eca6b99d16 Parents: 7eea53e 3faff8b Author: Yuki Morishita Authored: Tue Nov 25 19:48:17 2014 -0600 Committer: Yuki Morishita Committed: Tue Nov 25 19:48:17 2014 -0600 -- --