Merge branch 'cassandra-2.1' into trunk Conflicts: src/java/org/apache/cassandra/cli/CliClient.java src/java/org/apache/cassandra/cli/CliMain.java src/java/org/apache/cassandra/cli/CliSessionState.java src/java/org/apache/cassandra/config/DatabaseDescriptor.java src/java/org/apache/cassandra/db/compaction/AbstractCompactionStrategy.java
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/0705e8ac Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/0705e8ac Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/0705e8ac Branch: refs/heads/trunk Commit: 0705e8ac9be2f3cd58463bb5050c89e03b010a82 Parents: 7e7cb6e f25da97 Author: Joshua McKenzie <jmcken...@apache.org> Authored: Mon Oct 27 16:41:39 2014 -0500 Committer: Joshua McKenzie <jmcken...@apache.org> Committed: Mon Oct 27 16:41:39 2014 -0500 ---------------------------------------------------------------------- CHANGES.txt | 1 + .../apache/cassandra/cache/AutoSavingCache.java | 2 + .../cassandra/config/DatabaseDescriptor.java | 2 + .../cassandra/db/BlacklistedDirectories.java | 3 + .../apache/cassandra/db/ColumnFamilyStore.java | 1 + .../cassandra/db/HintedHandOffManager.java | 2 + .../compaction/AbstractCompactionStrategy.java | 2 + src/java/org/apache/cassandra/gms/Gossiper.java | 1 + .../hadoop/ColumnFamilyRecordWriter.java | 2 + .../apache/cassandra/hadoop/HadoopCompat.java | 2 + .../cassandra/hadoop/cql3/CqlRecordWriter.java | 6 +- .../cassandra/hadoop/pig/CassandraStorage.java | 4 +- .../apache/cassandra/hadoop/pig/CqlStorage.java | 2 + .../cassandra/io/compress/SnappyCompressor.java | 3 + .../cassandra/io/util/MmappedSegmentedFile.java | 2 + .../cassandra/locator/CloudstackSnitch.java | 2 + .../cassandra/net/OutboundTcpConnection.java | 2 + .../apache/cassandra/service/ClientState.java | 2 + .../cassandra/streaming/StreamLockfile.java | 2 + .../cassandra/streaming/StreamSession.java | 2 + .../thrift/CustomTThreadPoolServer.java | 6 +- .../org/apache/cassandra/tools/BulkLoader.java | 2 + .../org/apache/cassandra/tools/NodeTool.java | 4 +- .../apache/cassandra/tools/SSTableImport.java | 2 + .../cassandra/tools/StandaloneScrubber.java | 2 + .../cassandra/tools/StandaloneSplitter.java | 2 + .../cassandra/tools/StandaloneUpgrader.java | 2 + .../org/apache/cassandra/transport/Client.java | 2 + .../cassandra/transport/FrameCompressor.java | 3 + .../transport/messages/BatchMessage.java | 2 + .../transport/messages/ExecuteMessage.java | 2 + .../transport/messages/PrepareMessage.java | 2 + .../transport/messages/QueryMessage.java | 2 + .../org/apache/cassandra/utils/CLibrary.java | 1 + .../org/apache/cassandra/utils/FBUtilities.java | 1 + src/java/org/apache/cassandra/utils/Hex.java | 1 + .../cassandra/utils/JVMStabilityInspector.java | 8 ++ .../org/apache/cassandra/db/CommitLogTest.java | 1 - .../utils/JVMStabilityInspectorTest.java | 36 ++++++++ .../apache/cassandra/utils/KillerForTests.java | 86 ++++++++++---------- 40 files changed, 162 insertions(+), 50 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/0705e8ac/CHANGES.txt ---------------------------------------------------------------------- diff --cc CHANGES.txt index f8457f7,fbcf460..2c75cbc --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,36 -1,5 +1,37 @@@ +3.0 + * 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 pure user-defined functions (CASSANDRA-7395, 7526, 7562, 7740, 7781, 7929, + 7924, 7812, 8063) + * 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) + + 2.1.2 + * Shutdown JVM on file descriptor exhaustion (CASSANDRA-7579) * Add 'die' policy for commit log and disk failure (CASSANDRA-7927) * Fix installing as service on Windows (CASSANDRA-8115) * Fix CREATE TABLE for CQL2 (CASSANDRA-8144) http://git-wip-us.apache.org/repos/asf/cassandra/blob/0705e8ac/src/java/org/apache/cassandra/cache/AutoSavingCache.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/0705e8ac/src/java/org/apache/cassandra/config/DatabaseDescriptor.java ---------------------------------------------------------------------- diff --cc src/java/org/apache/cassandra/config/DatabaseDescriptor.java index a448463,ba84610..577ddcb --- a/src/java/org/apache/cassandra/config/DatabaseDescriptor.java +++ b/src/java/org/apache/cassandra/config/DatabaseDescriptor.java @@@ -66,9 -66,9 +66,10 @@@ import org.apache.cassandra.net.Messagi import org.apache.cassandra.scheduler.IRequestScheduler; import org.apache.cassandra.scheduler.NoScheduler; import org.apache.cassandra.service.CacheService; +import org.apache.cassandra.thrift.ThriftServer; import org.apache.cassandra.utils.ByteBufferUtil; import org.apache.cassandra.utils.FBUtilities; + import org.apache.cassandra.utils.JVMStabilityInspector; import org.apache.cassandra.utils.memory.HeapPool; import org.apache.cassandra.utils.memory.NativePool; import org.apache.cassandra.utils.memory.MemtablePool; @@@ -125,7 -141,10 +126,8 @@@ public class DatabaseDescripto } 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."); + throw new ExceptionInInitializerError(e.getMessage() + "\nFatal configuration error; unable to start. See log for stacktrace."); + JVMStabilityInspector.inspectThrowable(e); - System.exit(1); } } http://git-wip-us.apache.org/repos/asf/cassandra/blob/0705e8ac/src/java/org/apache/cassandra/db/ColumnFamilyStore.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/0705e8ac/src/java/org/apache/cassandra/db/HintedHandOffManager.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/0705e8ac/src/java/org/apache/cassandra/db/compaction/AbstractCompactionStrategy.java ---------------------------------------------------------------------- diff --cc src/java/org/apache/cassandra/db/compaction/AbstractCompactionStrategy.java index d228cba,288c475..eec006d --- a/src/java/org/apache/cassandra/db/compaction/AbstractCompactionStrategy.java +++ b/src/java/org/apache/cassandra/db/compaction/AbstractCompactionStrategy.java @@@ -34,6 -34,8 +34,7 @@@ import org.apache.cassandra.dht.Range import org.apache.cassandra.dht.Token; import org.apache.cassandra.exceptions.ConfigurationException; import org.apache.cassandra.io.sstable.Component; -import org.apache.cassandra.io.sstable.SSTableReader; + import org.apache.cassandra.utils.JVMStabilityInspector; /** * Pluggable compaction strategy determines how SSTables get merged. http://git-wip-us.apache.org/repos/asf/cassandra/blob/0705e8ac/src/java/org/apache/cassandra/gms/Gossiper.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/0705e8ac/src/java/org/apache/cassandra/hadoop/cql3/CqlRecordWriter.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/0705e8ac/src/java/org/apache/cassandra/hadoop/pig/CassandraStorage.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/0705e8ac/src/java/org/apache/cassandra/hadoop/pig/CqlStorage.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/0705e8ac/src/java/org/apache/cassandra/locator/CloudstackSnitch.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/0705e8ac/src/java/org/apache/cassandra/service/ClientState.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/0705e8ac/src/java/org/apache/cassandra/streaming/StreamLockfile.java ---------------------------------------------------------------------- diff --cc src/java/org/apache/cassandra/streaming/StreamLockfile.java index a0cf5fc,0b1d832..83ae5f0 --- a/src/java/org/apache/cassandra/streaming/StreamLockfile.java +++ b/src/java/org/apache/cassandra/streaming/StreamLockfile.java @@@ -34,7 -33,9 +34,8 @@@ import org.slf4j.LoggerFactory import org.apache.cassandra.io.sstable.Descriptor; import org.apache.cassandra.io.sstable.SSTable; -import org.apache.cassandra.io.sstable.SSTableWriter; import org.apache.cassandra.io.util.FileUtils; + import org.apache.cassandra.utils.JVMStabilityInspector; /** * Encapsulates the behavior for 'locking' any streamed sttables to a node. http://git-wip-us.apache.org/repos/asf/cassandra/blob/0705e8ac/src/java/org/apache/cassandra/streaming/StreamSession.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/0705e8ac/src/java/org/apache/cassandra/tools/BulkLoader.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/0705e8ac/src/java/org/apache/cassandra/tools/NodeTool.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/0705e8ac/src/java/org/apache/cassandra/tools/SSTableImport.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/0705e8ac/src/java/org/apache/cassandra/tools/StandaloneScrubber.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/0705e8ac/src/java/org/apache/cassandra/tools/StandaloneSplitter.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/0705e8ac/src/java/org/apache/cassandra/tools/StandaloneUpgrader.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/0705e8ac/src/java/org/apache/cassandra/transport/FrameCompressor.java ---------------------------------------------------------------------- diff --cc src/java/org/apache/cassandra/transport/FrameCompressor.java index c2fc662,fa337ec..db4350c --- a/src/java/org/apache/cassandra/transport/FrameCompressor.java +++ b/src/java/org/apache/cassandra/transport/FrameCompressor.java @@@ -23,8 -23,12 +23,10 @@@ import io.netty.buffer.ByteBuf import org.xerial.snappy.Snappy; import org.xerial.snappy.SnappyError; -import net.jpountz.lz4.LZ4Exception; import net.jpountz.lz4.LZ4Factory; + import org.apache.cassandra.utils.JVMStabilityInspector; + public interface FrameCompressor { public Frame compress(Frame frame) throws IOException; http://git-wip-us.apache.org/repos/asf/cassandra/blob/0705e8ac/src/java/org/apache/cassandra/transport/messages/BatchMessage.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/0705e8ac/src/java/org/apache/cassandra/transport/messages/PrepareMessage.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/0705e8ac/src/java/org/apache/cassandra/transport/messages/QueryMessage.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/0705e8ac/src/java/org/apache/cassandra/utils/CLibrary.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/0705e8ac/src/java/org/apache/cassandra/utils/FBUtilities.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/0705e8ac/src/java/org/apache/cassandra/utils/Hex.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cassandra/blob/0705e8ac/test/unit/org/apache/cassandra/db/CommitLogTest.java ----------------------------------------------------------------------