DATACASS-346 - Upgrade embedded Cassandra to 3.9.

This commit is contained in:
Mark Paluch
2016-10-12 11:20:28 +02:00
parent 5f57ce33e1
commit b07c708c7c
5 changed files with 68 additions and 16 deletions

View File

@@ -10,14 +10,17 @@ env:
- PROFILE=spring43
- PROFILE=spring43-next
- PROFILE=spring5-next
- PROFILE=external-cassandra CASSANDRA_VERSION=2.2.6
- PROFILE=external-cassandra CASSANDRA_VERSION=3.0.7
- PROFILE=external-cassandra CASSANDRA_VERSION=3.2
- PROFILE=external-cassandra CASSANDRA_VERSION=2.2.8
- PROFILE=external-cassandra CASSANDRA_VERSION=3.0.9
- PROFILE=external-cassandra CASSANDRA_VERSION=3.1.1
- PROFILE=external-cassandra CASSANDRA_VERSION=3.2.1
- PROFILE=external-cassandra CASSANDRA_VERSION=3.3
- PROFILE=external-cassandra CASSANDRA_VERSION=3.4
- PROFILE=external-cassandra CASSANDRA_VERSION=3.5
- PROFILE=external-cassandra CASSANDRA_VERSION=3.6
- PROFILE=external-cassandra CASSANDRA_VERSION=3.7
- PROFILE=external-cassandra CASSANDRA_VERSION=3.8
- PROFILE=external-cassandra CASSANDRA_VERSION=3.9
cache:
directories:
- $HOME/.m2

View File

@@ -69,7 +69,7 @@
<build.cassandra.rpc_port>19160</build.cassandra.rpc_port>
<build.cassandra.ssl_storage_port>17001</build.cassandra.ssl_storage_port>
<build.cassandra.storage_port>17000</build.cassandra.storage_port>
<cassandra.version>3.7</cassandra.version>
<cassandra.version>3.9</cassandra.version>
<cassandra-driver.version>3.1.0</cassandra-driver.version>
<dist.id>spring-data-cassandra</dist.id>
<el.version>1.0</el.version>

View File

@@ -25,6 +25,7 @@ import java.io.OutputStream;
import java.util.concurrent.*;
import java.util.concurrent.atomic.AtomicReference;
import org.apache.cassandra.config.Config;
import org.apache.cassandra.config.DatabaseDescriptor;
import org.apache.cassandra.db.commitlog.CommitLog;
import org.apache.cassandra.io.util.FileUtils;
@@ -189,7 +190,7 @@ class EmbeddedCassandraServerHelper {
createCassandraDirectories();
CommitLog commitLog = CommitLog.instance;
commitLog.getContext(); // wait for commit log allocator instantiation to avoid hanging on a race condition
commitLog.getCurrentPosition(); // wait for commit log allocator instantiation to avoid hanging on a race condition
commitLog.resetUnsafe(true); // cleanup screws w/ CommitLog, this brings it back to safe state
}

View File

@@ -1,4 +1,4 @@
# Cassandra storage config YAML
# Cassandra storage config YAML
# See http://wiki.apache.org/cassandra/StorageConfiguration for
# full explanations of configuration directives
@@ -18,7 +18,7 @@ cluster_name: 'Test Cluster'
#
# Specifying initial_token will override this setting.
#
# If you already have a cluster with 1 token per node, and wish to migrate to
# If you already have a cluster with 1 token per node, and wish to migrate to
# multiple tokens per node, see http://wiki.apache.org/cassandra/Operations
# num_tokens: 256
@@ -84,7 +84,7 @@ authorizer: org.apache.cassandra.auth.AllowAllAuthorizer
# own as long as it is on the classpath. Out of the box, Cassandra
# provides org.apache.cassandra.dht.{Murmur3Partitioner, RandomPartitioner
# ByteOrderedPartitioner, OrderPreservingPartitioner (deprecated)}.
#
#
# - RandomPartitioner distributes rows across the cluster evenly by md5.
# This is the default prior to 1.2 and is retained for compatibility.
# - Murmur3Partitioner is similar to RandomPartioner but uses Murmur3_128
@@ -102,6 +102,30 @@ authorizer: org.apache.cassandra.auth.AllowAllAuthorizer
# partitioners and token selection.
partitioner: org.apache.cassandra.dht.Murmur3Partitioner
# Directories where Cassandra should store data on disk. Cassandra
# will spread data evenly across them, subject to the granularity of
# the configured compaction strategy.
# If not set, the default directory is $CASSANDRA_HOME/data/data.
# data_file_directories:
# - /var/lib/cassandra/data
# commit log. when running on magnetic HDD, this should be a
# separate spindle than the data directories.
# If not set, the default directory is $CASSANDRA_HOME/data/commitlog.
# commitlog_directory: /var/lib/cassandra/commitlog
# Enable / disable CDC functionality on a per-node basis. This modifies the logic used
# for write path allocation rejection (standard: never reject. cdc: reject Mutation
# containing a CDC-enabled table if at space limit in cdc_raw_directory).
cdc_enabled: false
# CommitLogSegments are moved to this directory on flush if cdc_enabled: true and the
# segment contains mutations for a CDC-enabled table. This should be placed on a
# separate spindle than the data directories. If not set, the default directory is
# $CASSANDRA_HOME/data/cdc_raw.
cdc_raw_directory: target/embeddedCassandra/data/cdc_raw
# Directories where Cassandra should store data on disk. Cassandra
# will spread data evenly across them, subject to the granularity of
# the configured compaction strategy.
@@ -176,7 +200,7 @@ row_cache_save_period: 0
# saved caches
saved_caches_directory: target/embeddedCassandra/saved_caches
# commitlog_sync may be either "periodic" or "batch."
# commitlog_sync may be either "periodic" or "batch."
# When in batch mode, Cassandra won't ack writes until the commit log
# has been fsynced to disk. It will wait up to
# commitlog_sync_batch_window_in_ms milliseconds for other writes, before
@@ -194,7 +218,7 @@ commitlog_sync_period_in_ms: 5000
# The size of the individual commitlog file segments. A commitlog
# segment may be archived, deleted, or recycled once all the data
# in it (potentially from each columnfamily in the system) has been
# flushed to sstables.
# flushed to sstables.
#
# The default size is 32, which is almost always fine, but if you are
# archiving commitlog segments (see commitlog_archiving.properties),
@@ -205,7 +229,7 @@ commitlog_segment_size_in_mb: 8
# any class that implements the SeedProvider interface and has a
# constructor that takes a Map<String, String> of parameters will do.
seed_provider:
# Addresses of hosts that are deemed contact points.
# Addresses of hosts that are deemed contact points.
# Cassandra nodes use this list of hosts to find each other and learn
# the topology of the ring. You must change this if you are running
# multiple nodes!
@@ -267,7 +291,7 @@ ssl_storage_port: ${build.cassandra.ssl_storage_port}
# Address to bind to and tell other Cassandra nodes to connect to. You
# _must_ change this if you want multiple nodes to be able to
# communicate!
#
#
# Leaving it blank leaves it up to InetAddress.getLocalHost(). This
# will always do the Right Thing _if_ the node is properly configured
# (hostname, name resolution, etc), and the Right Thing is to use the
@@ -302,7 +326,7 @@ start_rpc: false
# The address to bind the Thrift RPC service to -- clients connect
# here. Unlike ListenAddress above, you _can_ specify 0.0.0.0 here if
# you want Thrift to listen on all interfaces.
#
#
# Leaving this blank has the same effect it does for ListenAddress,
# (i.e. it will be based on the configured hostname of the node).
rpc_address: localhost
@@ -380,7 +404,7 @@ incremental_backups: false
snapshot_before_compaction: false
# Whether or not a snapshot is taken of the data before keyspace truncation
# or dropping of column families. The STRONGLY advised default of true
# or dropping of column families. The STRONGLY advised default of true
# should be used to provide data safety. If you set this flag to false, you will
# lose data on truncation or drop.
auto_snapshot: false
@@ -507,7 +531,7 @@ endpoint_snitch: SimpleSnitch
# controls how often to perform the more expensive part of host score
# calculation
dynamic_snitch_update_interval_in_ms: 100
dynamic_snitch_update_interval_in_ms: 100
# controls how often to reset all host scores, allowing a bad host to
# possibly recover
dynamic_snitch_reset_interval_in_ms: 600000
@@ -537,7 +561,7 @@ request_scheduler: org.apache.cassandra.scheduler.NoScheduler
# NoScheduler - Has no options
# RoundRobin
# - throttle_limit -- The throttle_limit is the number of in-flight
# requests per client. Requests beyond
# requests per client. Requests beyond
# that limit are queued up until
# running requests can complete.
# The value of 80 here is twice the number of

View File

@@ -102,6 +102,30 @@ authorizer: org.apache.cassandra.auth.AllowAllAuthorizer
# partitioners and token selection.
partitioner: org.apache.cassandra.dht.Murmur3Partitioner
# Directories where Cassandra should store data on disk. Cassandra
# will spread data evenly across them, subject to the granularity of
# the configured compaction strategy.
# If not set, the default directory is $CASSANDRA_HOME/data/data.
# data_file_directories:
# - /var/lib/cassandra/data
# commit log. when running on magnetic HDD, this should be a
# separate spindle than the data directories.
# If not set, the default directory is $CASSANDRA_HOME/data/commitlog.
# commitlog_directory: /var/lib/cassandra/commitlog
# Enable / disable CDC functionality on a per-node basis. This modifies the logic used
# for write path allocation rejection (standard: never reject. cdc: reject Mutation
# containing a CDC-enabled table if at space limit in cdc_raw_directory).
cdc_enabled: false
# CommitLogSegments are moved to this directory on flush if cdc_enabled: true and the
# segment contains mutations for a CDC-enabled table. This should be placed on a
# separate spindle than the data directories. If not set, the default directory is
# $CASSANDRA_HOME/data/cdc_raw.
cdc_raw_directory: target/embeddedCassandra/data/cdc_raw
# Directories where Cassandra should store data on disk. Cassandra
# will spread data evenly across them, subject to the granularity of
# the configured compaction strategy.