[jira] [Updated] (CASSANDRA-6774) Cleanup fails with assertion error after stopping previous run
[ https://issues.apache.org/jira/browse/CASSANDRA-6774?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Marcus Eriksson updated CASSANDRA-6774: --- Attachment: 0001-6774-wip.patch hmm, i think we should throw an exception if we fail, so that the nodetool user gets some feedback without having to check logs, attached Cleanup fails with assertion error after stopping previous run -- Key: CASSANDRA-6774 URL: https://issues.apache.org/jira/browse/CASSANDRA-6774 Project: Cassandra Issue Type: Bug Components: Core Environment: 2.0.5 Reporter: Keith Wright Assignee: Marcus Eriksson Fix For: 2.0.7 Attachments: 0001-6774-wip.patch, 0001-Dont-continue-after-failing-to-cancel-in-progress-co.patch, 6774-v2.txt I am stress testing a new 2.0.5 cluster and did the following: - start decommission during heavy write, moderate read load - trigger cleanup on non-decommissioning node (nodetool cleanup) - Started to see higher GC load stop stopped cleanup via nodetool stop CLEANUP - attempt to launch cleanup now fails with the following message in console. Cassandra log shows: http://aep.appspot.com/display/cKmlMcDuKD72iYAcBykDuVZkRWY/ -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Comment Edited] (CASSANDRA-6774) Cleanup fails with assertion error after stopping previous run
[ https://issues.apache.org/jira/browse/CASSANDRA-6774?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13937541#comment-13937541 ] Marcus Eriksson edited comment on CASSANDRA-6774 at 3/17/14 8:31 AM: - hmm, i actually think we should throw an exception if we fail, so that the nodetool user gets some feedback without having to check logs, attached was (Author: krummas): hmm, i think we should throw an exception if we fail, so that the nodetool user gets some feedback without having to check logs, attached Cleanup fails with assertion error after stopping previous run -- Key: CASSANDRA-6774 URL: https://issues.apache.org/jira/browse/CASSANDRA-6774 Project: Cassandra Issue Type: Bug Components: Core Environment: 2.0.5 Reporter: Keith Wright Assignee: Marcus Eriksson Fix For: 2.0.7 Attachments: 0001-6774-wip.patch, 0001-Dont-continue-after-failing-to-cancel-in-progress-co.patch, 6774-v2.txt I am stress testing a new 2.0.5 cluster and did the following: - start decommission during heavy write, moderate read load - trigger cleanup on non-decommissioning node (nodetool cleanup) - Started to see higher GC load stop stopped cleanup via nodetool stop CLEANUP - attempt to launch cleanup now fails with the following message in console. Cassandra log shows: http://aep.appspot.com/display/cKmlMcDuKD72iYAcBykDuVZkRWY/ -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CASSANDRA-6774) Cleanup fails with assertion error after stopping previous run
[ https://issues.apache.org/jira/browse/CASSANDRA-6774?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13937550#comment-13937550 ] Marcus Eriksson commented on CASSANDRA-6774: or.. maybe we should return a status code from scrub/upgradesstables/cleanup instead... i'll fix Cleanup fails with assertion error after stopping previous run -- Key: CASSANDRA-6774 URL: https://issues.apache.org/jira/browse/CASSANDRA-6774 Project: Cassandra Issue Type: Bug Components: Core Environment: 2.0.5 Reporter: Keith Wright Assignee: Marcus Eriksson Fix For: 2.0.7 Attachments: 0001-6774-wip.patch, 0001-Dont-continue-after-failing-to-cancel-in-progress-co.patch, 6774-v2.txt I am stress testing a new 2.0.5 cluster and did the following: - start decommission during heavy write, moderate read load - trigger cleanup on non-decommissioning node (nodetool cleanup) - Started to see higher GC load stop stopped cleanup via nodetool stop CLEANUP - attempt to launch cleanup now fails with the following message in console. Cassandra log shows: http://aep.appspot.com/display/cKmlMcDuKD72iYAcBykDuVZkRWY/ -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Created] (CASSANDRA-6873) Static columns with IF NOT EXISTS don't always work as expected
Sylvain Lebresne created CASSANDRA-6873: --- Summary: Static columns with IF NOT EXISTS don't always work as expected Key: CASSANDRA-6873 URL: https://issues.apache.org/jira/browse/CASSANDRA-6873 Project: Cassandra Issue Type: Bug Reporter: Sylvain Lebresne Assignee: Sylvain Lebresne Priority: Minor Given: {noformat} CREATE TABLE test ( id int, k text, version int static, v int, PRIMARY KEY (id, k) ) INSERT INTO test(id, k, v) VALUES (1, 'foo', 'foo') {noformat} the following conditional update should not apply: {noformat} INSERT INTO test(id, k, version) VALUES (1, 'foo', 1) IF NOT EXISTS {noformat} since said query involves the clustering column and the CQL row with said clustering column already exists. It does currently apply however. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Updated] (CASSANDRA-6873) Static columns with IF NOT EXISTS don't always work as expected
[ https://issues.apache.org/jira/browse/CASSANDRA-6873?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Sylvain Lebresne updated CASSANDRA-6873: Attachment: 6873.txt Patch attached to fix this and clean somewhat the relevant logic. I've basically [pushed the test of the description|https://github.com/riptano/cassandra-dtest/commit/c3644ca97f6c240137ed9791b84a0bc424f21626] to dtest. Static columns with IF NOT EXISTS don't always work as expected --- Key: CASSANDRA-6873 URL: https://issues.apache.org/jira/browse/CASSANDRA-6873 Project: Cassandra Issue Type: Bug Reporter: Sylvain Lebresne Assignee: Sylvain Lebresne Priority: Minor Fix For: 2.0.7 Attachments: 6873.txt Given: {noformat} CREATE TABLE test ( id int, k text, version int static, v int, PRIMARY KEY (id, k) ) INSERT INTO test(id, k, v) VALUES (1, 'foo', 'foo') {noformat} the following conditional update should not apply: {noformat} INSERT INTO test(id, k, version) VALUES (1, 'foo', 1) IF NOT EXISTS {noformat} since said query involves the clustering column and the CQL row with said clustering column already exists. It does currently apply however. -- This message was sent by Atlassian JIRA (v6.2#6252)
git commit: Properly use the paxos consistency for (non-protocol) batches
Repository: cassandra Updated Branches: refs/heads/cassandra-2.0 245038fd2 - 9527b17f1 Properly use the paxos consistency for (non-protocol) batches patch by slebresne; reviewed by jbellis for CASSANDRA-6837 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/9527b17f Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/9527b17f Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/9527b17f Branch: refs/heads/cassandra-2.0 Commit: 9527b17f1f1eaa572b036ce2c33300b36fc533e6 Parents: 245038f Author: Sylvain Lebresne sylv...@datastax.com Authored: Mon Mar 17 11:01:28 2014 +0100 Committer: Sylvain Lebresne sylv...@datastax.com Committed: Mon Mar 17 11:01:28 2014 +0100 -- CHANGES.txt | 1 + .../org/apache/cassandra/cql3/statements/BatchStatement.java | 8 2 files changed, 5 insertions(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/9527b17f/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 61b1ee1..c4e1bd4 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -11,6 +11,7 @@ * Fix CompactionManager.needsCleanup (CASSANDRA-6845) * Correctly compare BooleanType values other than 0 and 1 (CASSANDRA-6779) * Read message id as string from earlier versions (CASSANDRA-6840) + * Properly use the Paxos consistency for (non-protocol) batch (CASSANDRA-6837) Merged from 1.2: * fix nodetool getsstables for blob PK (CASSANDRA-6803) http://git-wip-us.apache.org/repos/asf/cassandra/blob/9527b17f/src/java/org/apache/cassandra/cql3/statements/BatchStatement.java -- diff --git a/src/java/org/apache/cassandra/cql3/statements/BatchStatement.java b/src/java/org/apache/cassandra/cql3/statements/BatchStatement.java index b1dbb31..675ce7a 100644 --- a/src/java/org/apache/cassandra/cql3/statements/BatchStatement.java +++ b/src/java/org/apache/cassandra/cql3/statements/BatchStatement.java @@ -181,7 +181,7 @@ public class BatchStatement implements CQLStatement, MeasurableForPreparedCache if (options.getConsistency() == null) throw new InvalidRequestException(Invalid empty consistency level); -return execute(new PreparedBatchVariables(options.getValues()), false, options.getConsistency(), queryState.getTimestamp()); +return execute(new PreparedBatchVariables(options.getValues()), false, options.getConsistency(), options.getSerialConsistency(), queryState.getTimestamp()); } public ResultMessage executeWithPerStatementVariables(ConsistencyLevel cl, QueryState queryState, ListListByteBuffer variables) throws RequestExecutionException, RequestValidationException @@ -189,16 +189,16 @@ public class BatchStatement implements CQLStatement, MeasurableForPreparedCache if (cl == null) throw new InvalidRequestException(Invalid empty consistency level); -return execute(new BatchOfPreparedVariables(variables), false, cl, queryState.getTimestamp()); +return execute(new BatchOfPreparedVariables(variables), false, cl, ConsistencyLevel.SERIAL, queryState.getTimestamp()); } -public ResultMessage execute(BatchVariables variables, boolean local, ConsistencyLevel cl, long now) +public ResultMessage execute(BatchVariables variables, boolean local, ConsistencyLevel cl, ConsistencyLevel serialCl, long now) throws RequestExecutionException, RequestValidationException { // TODO: we don't support a serial consistency for batches in the protocol so defaulting to SERIAL for now. // We'll need to fix that. if (hasConditions) -return executeWithConditions(variables, cl, ConsistencyLevel.SERIAL, now); +return executeWithConditions(variables, cl, serialCl, now); executeWithoutConditions(getMutations(variables, local, cl, now), cl); return null;
git commit: Update copyright date in NOTICE file
Repository: cassandra Updated Branches: refs/heads/cassandra-1.2 8c52cc0e7 - 8526347ca Update copyright date in NOTICE file Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/8526347c Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/8526347c Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/8526347c Branch: refs/heads/cassandra-1.2 Commit: 8526347cad86037ce0caefa711e0568f88c87da0 Parents: 8c52cc0 Author: Sylvain Lebresne sylv...@datastax.com Authored: Mon Mar 17 11:03:32 2014 +0100 Committer: Sylvain Lebresne sylv...@datastax.com Committed: Mon Mar 17 11:03:32 2014 +0100 -- NOTICE.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/8526347c/NOTICE.txt -- diff --git a/NOTICE.txt b/NOTICE.txt index 9826990..36cacce 100644 --- a/NOTICE.txt +++ b/NOTICE.txt @@ -1,5 +1,5 @@ Apache Cassandra -Copyright 2009, 2010 The Apache Software Foundation +Copyright 2009-2014 The Apache Software Foundation This product includes software developed by The Apache Software Foundation (http://www.apache.org/).
[1/2] git commit: Update copyright date in NOTICE file
Repository: cassandra Updated Branches: refs/heads/cassandra-2.0 9527b17f1 - 1e64972be Update copyright date in NOTICE file Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/8526347c Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/8526347c Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/8526347c Branch: refs/heads/cassandra-2.0 Commit: 8526347cad86037ce0caefa711e0568f88c87da0 Parents: 8c52cc0 Author: Sylvain Lebresne sylv...@datastax.com Authored: Mon Mar 17 11:03:32 2014 +0100 Committer: Sylvain Lebresne sylv...@datastax.com Committed: Mon Mar 17 11:03:32 2014 +0100 -- NOTICE.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/8526347c/NOTICE.txt -- diff --git a/NOTICE.txt b/NOTICE.txt index 9826990..36cacce 100644 --- a/NOTICE.txt +++ b/NOTICE.txt @@ -1,5 +1,5 @@ Apache Cassandra -Copyright 2009, 2010 The Apache Software Foundation +Copyright 2009-2014 The Apache Software Foundation This product includes software developed by The Apache Software Foundation (http://www.apache.org/).
[2/2] git commit: Merge branch 'cassandra-1.2' into cassandra-2.0
Merge branch 'cassandra-1.2' into cassandra-2.0 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/1e64972b Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/1e64972b Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/1e64972b Branch: refs/heads/cassandra-2.0 Commit: 1e64972be5c9237a10b4b2635206b0790d7489ff Parents: 9527b17 8526347 Author: Sylvain Lebresne sylv...@datastax.com Authored: Mon Mar 17 11:03:47 2014 +0100 Committer: Sylvain Lebresne sylv...@datastax.com Committed: Mon Mar 17 11:03:47 2014 +0100 -- NOTICE.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/1e64972b/NOTICE.txt --
[2/4] git commit: Update copyright date in NOTICE file
Update copyright date in NOTICE file Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/8526347c Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/8526347c Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/8526347c Branch: refs/heads/cassandra-2.1 Commit: 8526347cad86037ce0caefa711e0568f88c87da0 Parents: 8c52cc0 Author: Sylvain Lebresne sylv...@datastax.com Authored: Mon Mar 17 11:03:32 2014 +0100 Committer: Sylvain Lebresne sylv...@datastax.com Committed: Mon Mar 17 11:03:32 2014 +0100 -- NOTICE.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/8526347c/NOTICE.txt -- diff --git a/NOTICE.txt b/NOTICE.txt index 9826990..36cacce 100644 --- a/NOTICE.txt +++ b/NOTICE.txt @@ -1,5 +1,5 @@ Apache Cassandra -Copyright 2009, 2010 The Apache Software Foundation +Copyright 2009-2014 The Apache Software Foundation This product includes software developed by The Apache Software Foundation (http://www.apache.org/).
[1/4] git commit: Properly use the paxos consistency for (non-protocol) batches
Repository: cassandra Updated Branches: refs/heads/cassandra-2.1 4bed978ae - 67119a5ab Properly use the paxos consistency for (non-protocol) batches patch by slebresne; reviewed by jbellis for CASSANDRA-6837 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/9527b17f Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/9527b17f Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/9527b17f Branch: refs/heads/cassandra-2.1 Commit: 9527b17f1f1eaa572b036ce2c33300b36fc533e6 Parents: 245038f Author: Sylvain Lebresne sylv...@datastax.com Authored: Mon Mar 17 11:01:28 2014 +0100 Committer: Sylvain Lebresne sylv...@datastax.com Committed: Mon Mar 17 11:01:28 2014 +0100 -- CHANGES.txt | 1 + .../org/apache/cassandra/cql3/statements/BatchStatement.java | 8 2 files changed, 5 insertions(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/9527b17f/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 61b1ee1..c4e1bd4 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -11,6 +11,7 @@ * Fix CompactionManager.needsCleanup (CASSANDRA-6845) * Correctly compare BooleanType values other than 0 and 1 (CASSANDRA-6779) * Read message id as string from earlier versions (CASSANDRA-6840) + * Properly use the Paxos consistency for (non-protocol) batch (CASSANDRA-6837) Merged from 1.2: * fix nodetool getsstables for blob PK (CASSANDRA-6803) http://git-wip-us.apache.org/repos/asf/cassandra/blob/9527b17f/src/java/org/apache/cassandra/cql3/statements/BatchStatement.java -- diff --git a/src/java/org/apache/cassandra/cql3/statements/BatchStatement.java b/src/java/org/apache/cassandra/cql3/statements/BatchStatement.java index b1dbb31..675ce7a 100644 --- a/src/java/org/apache/cassandra/cql3/statements/BatchStatement.java +++ b/src/java/org/apache/cassandra/cql3/statements/BatchStatement.java @@ -181,7 +181,7 @@ public class BatchStatement implements CQLStatement, MeasurableForPreparedCache if (options.getConsistency() == null) throw new InvalidRequestException(Invalid empty consistency level); -return execute(new PreparedBatchVariables(options.getValues()), false, options.getConsistency(), queryState.getTimestamp()); +return execute(new PreparedBatchVariables(options.getValues()), false, options.getConsistency(), options.getSerialConsistency(), queryState.getTimestamp()); } public ResultMessage executeWithPerStatementVariables(ConsistencyLevel cl, QueryState queryState, ListListByteBuffer variables) throws RequestExecutionException, RequestValidationException @@ -189,16 +189,16 @@ public class BatchStatement implements CQLStatement, MeasurableForPreparedCache if (cl == null) throw new InvalidRequestException(Invalid empty consistency level); -return execute(new BatchOfPreparedVariables(variables), false, cl, queryState.getTimestamp()); +return execute(new BatchOfPreparedVariables(variables), false, cl, ConsistencyLevel.SERIAL, queryState.getTimestamp()); } -public ResultMessage execute(BatchVariables variables, boolean local, ConsistencyLevel cl, long now) +public ResultMessage execute(BatchVariables variables, boolean local, ConsistencyLevel cl, ConsistencyLevel serialCl, long now) throws RequestExecutionException, RequestValidationException { // TODO: we don't support a serial consistency for batches in the protocol so defaulting to SERIAL for now. // We'll need to fix that. if (hasConditions) -return executeWithConditions(variables, cl, ConsistencyLevel.SERIAL, now); +return executeWithConditions(variables, cl, serialCl, now); executeWithoutConditions(getMutations(variables, local, cl, now), cl); return null;
[4/4] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1
Merge branch 'cassandra-2.0' into cassandra-2.1 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/67119a5a Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/67119a5a Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/67119a5a Branch: refs/heads/cassandra-2.1 Commit: 67119a5ab57eb254fea4e78133a63bf28644c01f Parents: 4bed978 1e64972 Author: Sylvain Lebresne sylv...@datastax.com Authored: Mon Mar 17 11:08:47 2014 +0100 Committer: Sylvain Lebresne sylv...@datastax.com Committed: Mon Mar 17 11:08:47 2014 +0100 -- CHANGES.txt | 2 ++ NOTICE.txt | 2 +- .../org/apache/cassandra/cql3/statements/BatchStatement.java | 8 3 files changed, 7 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/67119a5a/CHANGES.txt -- diff --cc CHANGES.txt index ea436f0,c4e1bd4..0cd9d4a --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -75,51 -55,23 +75,53 @@@ Merged from 2.0 * Fix CQLSStableWriter.addRow(MapString, Object) (CASSANDRA-6526) * Fix HSHA server introducing corrupt data (CASSANDRA-6285) * Fix CAS conditions for COMPACT STORAGE tables (CASSANDRA-6813) -Merged from 1.2: - * Add CMSClassUnloadingEnabled JVM option (CASSANDRA-6541) - * Catch memtable flush exceptions during shutdown (CASSANDRA-6735) - * Fix broken streams when replacing with same IP (CASSANDRA-6622) - * Fix upgradesstables NPE for non-CF-based indexes (CASSANDRA-6645) - * Fix partition and range deletes not triggering flush (CASSANDRA-6655) - * Fix mean cells and mean row size per sstable calculations (CASSANDRA-6667) - * Compact hints after partial replay to clean out tombstones (CASSANDRA-) - * Log USING TTL/TIMESTAMP in a counter update warning (CASSANDRA-6649) - * Don't exchange schema between nodes with different versions (CASSANDRA-6695) - * Use real node messaging versions for schema exchange decisions (CASSANDRA-6700) - * IN on the last clustering columns + ORDER BY DESC yield no results (CASSANDRA-6701) - * Fix SecondaryIndexManager#deleteFromIndexes() (CASSANDRA-6711) - * Fix snapshot repair not snapshotting coordinator itself (CASSANDRA-6713) - * Support negative timestamps for CQL3 dates in query string (CASSANDRA-6718) - * Avoid NPEs when receiving table changes for an unknown keyspace (CASSANDRA-5631) - * Fix bootstrapping when there is no schema (CASSANDRA-6685) + * Fix saving triggers to schema (CASSANDRA-6789) + * Fix trigger mutations when base mutation list is immutable (CASSANDRA-6790) + * Fix accounting in FileCacheService to allow re-using RAR (CASSANDRA-6838) + * Fix static counter columns (CASSANDRA-6827) + * Restore expiring-deleted (cell) compaction optimization (CASSANDRA-6844) + * Fix CompactionManager.needsCleanup (CASSANDRA-6845) + * Correctly compare BooleanType values other than 0 and 1 (CASSANDRA-6779) ++ * Read message id as string from earlier versions (CASSANDRA-6840) ++ * Properly use the Paxos consistency for (non-protocol) batch (CASSANDRA-6837) + + +2.1.0-beta1 + * Add flush directory distinct from compaction directories (CASSANDRA-6357) + * Require JNA by default (CASSANDRA-6575) + * add listsnapshots command to nodetool (CASSANDRA-5742) + * Introduce AtomicBTreeColumns (CASSANDRA-6271, 6692) + * Multithreaded commitlog (CASSANDRA-3578) + * allocate fixed index summary memory pool and resample cold index summaries + to use less memory (CASSANDRA-5519) + * Removed multithreaded compaction (CASSANDRA-6142) + * Parallelize fetching rows for low-cardinality indexes (CASSANDRA-1337) + * change logging from log4j to logback (CASSANDRA-5883) + * switch to LZ4 compression for internode communication (CASSANDRA-5887) + * Stop using Thrift-generated Index* classes internally (CASSANDRA-5971) + * Remove 1.2 network compatibility code (CASSANDRA-5960) + * Remove leveled json manifest migration code (CASSANDRA-5996) + * Remove CFDefinition (CASSANDRA-6253) + * Use AtomicIntegerFieldUpdater in RefCountedMemory (CASSANDRA-6278) + * User-defined types for CQL3 (CASSANDRA-5590) + * Use of o.a.c.metrics in nodetool (CASSANDRA-5871, 6406) + * Batch read from OTC's queue and cleanup (CASSANDRA-1632) + * Secondary index support for collections (CASSANDRA-4511, 6383) + * SSTable metadata(Stats.db) format change (CASSANDRA-6356) + * Push composites support in the storage engine + (CASSANDRA-5417, CASSANDRA-6520) + * Add snapshot space used to cfstats (CASSANDRA-6231) + * Add cardinality estimator for key count estimation (CASSANDRA-5906) + * CF id is changed to be non-deterministic. Data dir/key cache are
[3/4] git commit: Merge branch 'cassandra-1.2' into cassandra-2.0
Merge branch 'cassandra-1.2' into cassandra-2.0 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/1e64972b Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/1e64972b Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/1e64972b Branch: refs/heads/cassandra-2.1 Commit: 1e64972be5c9237a10b4b2635206b0790d7489ff Parents: 9527b17 8526347 Author: Sylvain Lebresne sylv...@datastax.com Authored: Mon Mar 17 11:03:47 2014 +0100 Committer: Sylvain Lebresne sylv...@datastax.com Committed: Mon Mar 17 11:03:47 2014 +0100 -- NOTICE.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/1e64972b/NOTICE.txt --
[2/5] git commit: Update copyright date in NOTICE file
Update copyright date in NOTICE file Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/8526347c Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/8526347c Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/8526347c Branch: refs/heads/trunk Commit: 8526347cad86037ce0caefa711e0568f88c87da0 Parents: 8c52cc0 Author: Sylvain Lebresne sylv...@datastax.com Authored: Mon Mar 17 11:03:32 2014 +0100 Committer: Sylvain Lebresne sylv...@datastax.com Committed: Mon Mar 17 11:03:32 2014 +0100 -- NOTICE.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/8526347c/NOTICE.txt -- diff --git a/NOTICE.txt b/NOTICE.txt index 9826990..36cacce 100644 --- a/NOTICE.txt +++ b/NOTICE.txt @@ -1,5 +1,5 @@ Apache Cassandra -Copyright 2009, 2010 The Apache Software Foundation +Copyright 2009-2014 The Apache Software Foundation This product includes software developed by The Apache Software Foundation (http://www.apache.org/).
[1/5] git commit: Properly use the paxos consistency for (non-protocol) batches
Repository: cassandra Updated Branches: refs/heads/trunk b74c2ade5 - 67b852182 Properly use the paxos consistency for (non-protocol) batches patch by slebresne; reviewed by jbellis for CASSANDRA-6837 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/9527b17f Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/9527b17f Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/9527b17f Branch: refs/heads/trunk Commit: 9527b17f1f1eaa572b036ce2c33300b36fc533e6 Parents: 245038f Author: Sylvain Lebresne sylv...@datastax.com Authored: Mon Mar 17 11:01:28 2014 +0100 Committer: Sylvain Lebresne sylv...@datastax.com Committed: Mon Mar 17 11:01:28 2014 +0100 -- CHANGES.txt | 1 + .../org/apache/cassandra/cql3/statements/BatchStatement.java | 8 2 files changed, 5 insertions(+), 4 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/9527b17f/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 61b1ee1..c4e1bd4 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -11,6 +11,7 @@ * Fix CompactionManager.needsCleanup (CASSANDRA-6845) * Correctly compare BooleanType values other than 0 and 1 (CASSANDRA-6779) * Read message id as string from earlier versions (CASSANDRA-6840) + * Properly use the Paxos consistency for (non-protocol) batch (CASSANDRA-6837) Merged from 1.2: * fix nodetool getsstables for blob PK (CASSANDRA-6803) http://git-wip-us.apache.org/repos/asf/cassandra/blob/9527b17f/src/java/org/apache/cassandra/cql3/statements/BatchStatement.java -- diff --git a/src/java/org/apache/cassandra/cql3/statements/BatchStatement.java b/src/java/org/apache/cassandra/cql3/statements/BatchStatement.java index b1dbb31..675ce7a 100644 --- a/src/java/org/apache/cassandra/cql3/statements/BatchStatement.java +++ b/src/java/org/apache/cassandra/cql3/statements/BatchStatement.java @@ -181,7 +181,7 @@ public class BatchStatement implements CQLStatement, MeasurableForPreparedCache if (options.getConsistency() == null) throw new InvalidRequestException(Invalid empty consistency level); -return execute(new PreparedBatchVariables(options.getValues()), false, options.getConsistency(), queryState.getTimestamp()); +return execute(new PreparedBatchVariables(options.getValues()), false, options.getConsistency(), options.getSerialConsistency(), queryState.getTimestamp()); } public ResultMessage executeWithPerStatementVariables(ConsistencyLevel cl, QueryState queryState, ListListByteBuffer variables) throws RequestExecutionException, RequestValidationException @@ -189,16 +189,16 @@ public class BatchStatement implements CQLStatement, MeasurableForPreparedCache if (cl == null) throw new InvalidRequestException(Invalid empty consistency level); -return execute(new BatchOfPreparedVariables(variables), false, cl, queryState.getTimestamp()); +return execute(new BatchOfPreparedVariables(variables), false, cl, ConsistencyLevel.SERIAL, queryState.getTimestamp()); } -public ResultMessage execute(BatchVariables variables, boolean local, ConsistencyLevel cl, long now) +public ResultMessage execute(BatchVariables variables, boolean local, ConsistencyLevel cl, ConsistencyLevel serialCl, long now) throws RequestExecutionException, RequestValidationException { // TODO: we don't support a serial consistency for batches in the protocol so defaulting to SERIAL for now. // We'll need to fix that. if (hasConditions) -return executeWithConditions(variables, cl, ConsistencyLevel.SERIAL, now); +return executeWithConditions(variables, cl, serialCl, now); executeWithoutConditions(getMutations(variables, local, cl, now), cl); return null;
[3/5] git commit: Merge branch 'cassandra-1.2' into cassandra-2.0
Merge branch 'cassandra-1.2' into cassandra-2.0 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/1e64972b Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/1e64972b Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/1e64972b Branch: refs/heads/trunk Commit: 1e64972be5c9237a10b4b2635206b0790d7489ff Parents: 9527b17 8526347 Author: Sylvain Lebresne sylv...@datastax.com Authored: Mon Mar 17 11:03:47 2014 +0100 Committer: Sylvain Lebresne sylv...@datastax.com Committed: Mon Mar 17 11:03:47 2014 +0100 -- NOTICE.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/1e64972b/NOTICE.txt --
[4/5] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1
Merge branch 'cassandra-2.0' into cassandra-2.1 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/67119a5a Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/67119a5a Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/67119a5a Branch: refs/heads/trunk Commit: 67119a5ab57eb254fea4e78133a63bf28644c01f Parents: 4bed978 1e64972 Author: Sylvain Lebresne sylv...@datastax.com Authored: Mon Mar 17 11:08:47 2014 +0100 Committer: Sylvain Lebresne sylv...@datastax.com Committed: Mon Mar 17 11:08:47 2014 +0100 -- CHANGES.txt | 2 ++ NOTICE.txt | 2 +- .../org/apache/cassandra/cql3/statements/BatchStatement.java | 8 3 files changed, 7 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/67119a5a/CHANGES.txt -- diff --cc CHANGES.txt index ea436f0,c4e1bd4..0cd9d4a --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -75,51 -55,23 +75,53 @@@ Merged from 2.0 * Fix CQLSStableWriter.addRow(MapString, Object) (CASSANDRA-6526) * Fix HSHA server introducing corrupt data (CASSANDRA-6285) * Fix CAS conditions for COMPACT STORAGE tables (CASSANDRA-6813) -Merged from 1.2: - * Add CMSClassUnloadingEnabled JVM option (CASSANDRA-6541) - * Catch memtable flush exceptions during shutdown (CASSANDRA-6735) - * Fix broken streams when replacing with same IP (CASSANDRA-6622) - * Fix upgradesstables NPE for non-CF-based indexes (CASSANDRA-6645) - * Fix partition and range deletes not triggering flush (CASSANDRA-6655) - * Fix mean cells and mean row size per sstable calculations (CASSANDRA-6667) - * Compact hints after partial replay to clean out tombstones (CASSANDRA-) - * Log USING TTL/TIMESTAMP in a counter update warning (CASSANDRA-6649) - * Don't exchange schema between nodes with different versions (CASSANDRA-6695) - * Use real node messaging versions for schema exchange decisions (CASSANDRA-6700) - * IN on the last clustering columns + ORDER BY DESC yield no results (CASSANDRA-6701) - * Fix SecondaryIndexManager#deleteFromIndexes() (CASSANDRA-6711) - * Fix snapshot repair not snapshotting coordinator itself (CASSANDRA-6713) - * Support negative timestamps for CQL3 dates in query string (CASSANDRA-6718) - * Avoid NPEs when receiving table changes for an unknown keyspace (CASSANDRA-5631) - * Fix bootstrapping when there is no schema (CASSANDRA-6685) + * Fix saving triggers to schema (CASSANDRA-6789) + * Fix trigger mutations when base mutation list is immutable (CASSANDRA-6790) + * Fix accounting in FileCacheService to allow re-using RAR (CASSANDRA-6838) + * Fix static counter columns (CASSANDRA-6827) + * Restore expiring-deleted (cell) compaction optimization (CASSANDRA-6844) + * Fix CompactionManager.needsCleanup (CASSANDRA-6845) + * Correctly compare BooleanType values other than 0 and 1 (CASSANDRA-6779) ++ * Read message id as string from earlier versions (CASSANDRA-6840) ++ * Properly use the Paxos consistency for (non-protocol) batch (CASSANDRA-6837) + + +2.1.0-beta1 + * Add flush directory distinct from compaction directories (CASSANDRA-6357) + * Require JNA by default (CASSANDRA-6575) + * add listsnapshots command to nodetool (CASSANDRA-5742) + * Introduce AtomicBTreeColumns (CASSANDRA-6271, 6692) + * Multithreaded commitlog (CASSANDRA-3578) + * allocate fixed index summary memory pool and resample cold index summaries + to use less memory (CASSANDRA-5519) + * Removed multithreaded compaction (CASSANDRA-6142) + * Parallelize fetching rows for low-cardinality indexes (CASSANDRA-1337) + * change logging from log4j to logback (CASSANDRA-5883) + * switch to LZ4 compression for internode communication (CASSANDRA-5887) + * Stop using Thrift-generated Index* classes internally (CASSANDRA-5971) + * Remove 1.2 network compatibility code (CASSANDRA-5960) + * Remove leveled json manifest migration code (CASSANDRA-5996) + * Remove CFDefinition (CASSANDRA-6253) + * Use AtomicIntegerFieldUpdater in RefCountedMemory (CASSANDRA-6278) + * User-defined types for CQL3 (CASSANDRA-5590) + * Use of o.a.c.metrics in nodetool (CASSANDRA-5871, 6406) + * Batch read from OTC's queue and cleanup (CASSANDRA-1632) + * Secondary index support for collections (CASSANDRA-4511, 6383) + * SSTable metadata(Stats.db) format change (CASSANDRA-6356) + * Push composites support in the storage engine + (CASSANDRA-5417, CASSANDRA-6520) + * Add snapshot space used to cfstats (CASSANDRA-6231) + * Add cardinality estimator for key count estimation (CASSANDRA-5906) + * CF id is changed to be non-deterministic. Data dir/key cache are created
[5/5] 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/67b85218 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/67b85218 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/67b85218 Branch: refs/heads/trunk Commit: 67b852182b73b3ac95f496209c97f5957cc248bf Parents: b74c2ad 67119a5 Author: Sylvain Lebresne sylv...@datastax.com Authored: Mon Mar 17 11:09:02 2014 +0100 Committer: Sylvain Lebresne sylv...@datastax.com Committed: Mon Mar 17 11:09:02 2014 +0100 -- CHANGES.txt | 2 ++ NOTICE.txt | 2 +- .../org/apache/cassandra/cql3/statements/BatchStatement.java | 8 3 files changed, 7 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/67b85218/CHANGES.txt --
[jira] [Commented] (CASSANDRA-6837) Batch CAS does not support LOCAL_SERIAL
[ https://issues.apache.org/jira/browse/CASSANDRA-6837?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13937631#comment-13937631 ] Sylvain Lebresne commented on CASSANDRA-6837: - Committed, thanks. bq. but can we rename to commitCL instead of serialCL? Hum, the thing is that serialCL is the CL for the paxos phase, not the one use during the commit (it corresponds to the consistencyForPaxos argument of SP.cas(), not to consistencyForCommit), so renaming it commitCL is probably a bad idea. I'm fine renaming it to paxosCL or something though, I don't really care much (though we use serialConsistency in other places already like the native protocol, QueryOptions and in thrift/CassandraServer so if it was just me, I'd leave it be). Batch CAS does not support LOCAL_SERIAL --- Key: CASSANDRA-6837 URL: https://issues.apache.org/jira/browse/CASSANDRA-6837 Project: Cassandra Issue Type: Bug Components: Core Reporter: Nicolas Favre-Felix Assignee: Sylvain Lebresne Fix For: 2.0.7 Attachments: 6837.txt The batch CAS feature introduced in Cassandra 2.0.6 does not support the LOCAL_SERIAL consistency level, and always uses SERIAL. Create a cluster with 4 nodes with the following topology: {code} Datacenter: DC2 === Status=Up/Down |/ State=Normal/Leaving/Joining/Moving -- AddressLoad Tokens Owns Host ID Rack UN 127.0.0.3 269 KB 256 26.3% ae92d997-6042-42d9-b447-943080569742 RAC1 UN 127.0.0.4 197.81 KB 256 25.1% 3edc92d7-9d1b-472a-8452-24dddbc4502c RAC1 Datacenter: DC1 === Status=Up/Down |/ State=Normal/Leaving/Joining/Moving -- AddressLoad Tokens Owns Host ID Rack UN 127.0.0.1 226.92 KB 256 24.8% dbc17bd7-1ede-47a2-9b31-6063752d6eb3 RAC1 UN 127.0.0.2 179.27 KB 256 23.7% bb0ad285-34d2-4989-a664-b068986ab6fa RAC1 {code} In cqlsh: {code} cqlsh CREATE KEYSPACE foo WITH replication = {'class': 'NetworkTopologyStrategy', 'DC1': 2, 'DC2': 2}; cqlsh USE foo; cqlsh:foo CREATE TABLE bar (x text, y bigint, z bigint, t bigint, PRIMARY KEY(x,y)); {code} Kill nodes 127.0.0.3 and 127.0.0.4: {code} Datacenter: DC2 === Status=Up/Down |/ State=Normal/Leaving/Joining/Moving -- AddressLoad Tokens Owns Host ID Rack DN 127.0.0.3 262.37 KB 256 26.3% ae92d997-6042-42d9-b447-943080569742 RAC1 DN 127.0.0.4 208.04 KB 256 25.1% 3edc92d7-9d1b-472a-8452-24dddbc4502c RAC1 Datacenter: DC1 === Status=Up/Down |/ State=Normal/Leaving/Joining/Moving -- AddressLoad Tokens Owns Host ID Rack UN 127.0.0.1 214.82 KB 256 24.8% dbc17bd7-1ede-47a2-9b31-6063752d6eb3 RAC1 UN 127.0.0.2 178.23 KB 256 23.7% bb0ad285-34d2-4989-a664-b068986ab6fa RAC1 {code} Connect to 127.0.0.1 in DC1 and run a CAS batch at CL.LOCAL_SERIAL+LOCAL_QUORUM: {code} final Cluster cluster = new Cluster.Builder() .addContactPoint(127.0.0.1) .withLoadBalancingPolicy(new DCAwareRoundRobinPolicy(DC1)) .build(); final Session session = cluster.connect(foo); Batch batch = QueryBuilder.batch(); batch.add(new SimpleStatement(INSERT INTO bar (x,y,z) VALUES ('abc', 123, 1) IF NOT EXISTS)); batch.add(new SimpleStatement(UPDATE bar SET t=2 WHERE x='abc' AND y=123)); batch.setConsistencyLevel(ConsistencyLevel.LOCAL_QUORUM); batch.setSerialConsistencyLevel(ConsistencyLevel.LOCAL_SERIAL); session.execute(batch); {code} The batch fails with: {code} Caused by: com.datastax.driver.core.exceptions.UnavailableException: Not enough replica available for query at consistency SERIAL (3 required but only 2 alive) at com.datastax.driver.core.Responses$Error$1.decode(Responses.java:44) at com.datastax.driver.core.Responses$Error$1.decode(Responses.java:33) at com.datastax.driver.core.Message$ProtocolDecoder.decode(Message.java:182) at org.jboss.netty.handler.codec.oneone.OneToOneDecoder.handleUpstream(OneToOneDecoder.java:66) ... 21 more {code} -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Resolved] (CASSANDRA-6872) Update Notice for 2014
[ https://issues.apache.org/jira/browse/CASSANDRA-6872?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Sylvain Lebresne resolved CASSANDRA-6872. - Resolution: Fixed Committed. Update Notice for 2014 -- Key: CASSANDRA-6872 URL: https://issues.apache.org/jira/browse/CASSANDRA-6872 Project: Cassandra Issue Type: Task Reporter: Edward Capriolo Assignee: Edward Capriolo [edward@jackintosh cassandra]$ git diff NOTICE.txt diff --git a/NOTICE.txt b/NOTICE.txt index 14ffad2..cf7b8dc 100644 --- a/NOTICE.txt +++ b/NOTICE.txt @@ -1,5 +1,5 @@ Apache Cassandra -Copyright 2009, 2010 The Apache Software Foundation +Copyright 2009-2014 The Apache Software Foundation This product includes software developed by The Apache Software Foundation (http://www.apache.org/). -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CASSANDRA-6869) Broken 1.2 sstables support in 2.1
[ https://issues.apache.org/jira/browse/CASSANDRA-6869?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13937650#comment-13937650 ] Sylvain Lebresne commented on CASSANDRA-6869: - Truth is, when we said we would make 2.0 a mandatory stop to upgrade to 2.1, I kind of expected that would include asking people to upgrade their sstables too. To put it another way, since we do make 2.0 a mandatory stop (even 2.0.6+ in fact), I wonder if this is not the right time to additionally force an updatesstables while we're at it, and thus drop old sstable compat code. In a majority of case, upgrading to 2.0 will mean doing an updatesstables anyway since you can't stream without that (i.e. updatesstables is almost implied by an upgrade to a major), so I don't think that's a big additional burden. So anyway, we can indeed add back code to handle the pre-2.0 format, but my vote goes to extending the make 2.0 a mandatory stop definition to include sstables. Broken 1.2 sstables support in 2.1 -- Key: CASSANDRA-6869 URL: https://issues.apache.org/jira/browse/CASSANDRA-6869 Project: Cassandra Issue Type: Bug Reporter: Aleksey Yeschenko Assignee: Sylvain Lebresne Fix For: 2.1 beta2 CASSANDRA-5417 has broken 1.2 (ic) sstables support in at least two ways. 1. CFMetaData.getOnDiskSerializer(), used by SSTableNamesIterator and IndexedSliceReader, doesn't account for pre-2.0 supercolumn sstables 2. More importantly, ACCNT.CompositeDeserializer doesn't handle ic tables' cell counts, and maybeReadNext() might throw EOFException while expecting the partition end marker. SimpleDeserializer is likely just as broken. I'd expect more issues like this, but less obvious, in the code, and thus am torn between forcing people to run upgradesstables on 2.0 and actually fixing these issues, and hoping that we haven't missed anything. Implementing a supercolumn aware AtomDeserializer is not hard, fixing CompositeDeserializer and SimpleDeserializer isn't very hard either, but I really am worried about stuff that's less obvious. Plus, if we drop that support, we can get rid of some legacy supercolumn code in 2.1. Minus, obviously, is a bit of extra pain for 2.0-2.1 upgraders still having 1.2- sstables around. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CASSANDRA-6869) Broken 1.2 sstables support in 2.1
[ https://issues.apache.org/jira/browse/CASSANDRA-6869?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13937701#comment-13937701 ] Aleksey Yeschenko commented on CASSANDRA-6869: -- For the record, I'm also leaning towards making upgradesstables mandatory in 2.0. Broken 1.2 sstables support in 2.1 -- Key: CASSANDRA-6869 URL: https://issues.apache.org/jira/browse/CASSANDRA-6869 Project: Cassandra Issue Type: Bug Reporter: Aleksey Yeschenko Assignee: Sylvain Lebresne Fix For: 2.1 beta2 CASSANDRA-5417 has broken 1.2 (ic) sstables support in at least two ways. 1. CFMetaData.getOnDiskSerializer(), used by SSTableNamesIterator and IndexedSliceReader, doesn't account for pre-2.0 supercolumn sstables 2. More importantly, ACCNT.CompositeDeserializer doesn't handle ic tables' cell counts, and maybeReadNext() might throw EOFException while expecting the partition end marker. SimpleDeserializer is likely just as broken. I'd expect more issues like this, but less obvious, in the code, and thus am torn between forcing people to run upgradesstables on 2.0 and actually fixing these issues, and hoping that we haven't missed anything. Implementing a supercolumn aware AtomDeserializer is not hard, fixing CompositeDeserializer and SimpleDeserializer isn't very hard either, but I really am worried about stuff that's less obvious. Plus, if we drop that support, we can get rid of some legacy supercolumn code in 2.1. Minus, obviously, is a bit of extra pain for 2.0-2.1 upgraders still having 1.2- sstables around. -- This message was sent by Atlassian JIRA (v6.2#6252)
git commit: Fix typo
Repository: cassandra Updated Branches: refs/heads/cassandra-2.1 67119a5ab - 7abfbab72 Fix typo Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/7abfbab7 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/7abfbab7 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/7abfbab7 Branch: refs/heads/cassandra-2.1 Commit: 7abfbab7284648164ee511252197b31b3c5eb509 Parents: 67119a5 Author: Sylvain Lebresne sylv...@datastax.com Authored: Mon Mar 17 12:50:19 2014 +0100 Committer: Sylvain Lebresne sylv...@datastax.com Committed: Mon Mar 17 12:50:19 2014 +0100 -- .../org/apache/cassandra/db/columniterator/IndexedSliceReader.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/7abfbab7/src/java/org/apache/cassandra/db/columniterator/IndexedSliceReader.java -- diff --git a/src/java/org/apache/cassandra/db/columniterator/IndexedSliceReader.java b/src/java/org/apache/cassandra/db/columniterator/IndexedSliceReader.java index 9c1fece..2a22cc6 100644 --- a/src/java/org/apache/cassandra/db/columniterator/IndexedSliceReader.java +++ b/src/java/org/apache/cassandra/db/columniterator/IndexedSliceReader.java @@ -196,7 +196,7 @@ class IndexedSliceReader extends AbstractIteratorOnDiskAtom implements OnDiskA { // See indexFor above. return sstable.metadata.isSuper() sstable.descriptor.version.hasSuperColumns - ? CellNames.compositeDense(SuperColumns.scName(name)) + ? CellNames.simpleDense(SuperColumns.scName(name)) : name; }
[1/2] git commit: Fix typo
Repository: cassandra Updated Branches: refs/heads/trunk 67b852182 - 6a97a9c94 Fix typo Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/7abfbab7 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/7abfbab7 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/7abfbab7 Branch: refs/heads/trunk Commit: 7abfbab7284648164ee511252197b31b3c5eb509 Parents: 67119a5 Author: Sylvain Lebresne sylv...@datastax.com Authored: Mon Mar 17 12:50:19 2014 +0100 Committer: Sylvain Lebresne sylv...@datastax.com Committed: Mon Mar 17 12:50:19 2014 +0100 -- .../org/apache/cassandra/db/columniterator/IndexedSliceReader.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/7abfbab7/src/java/org/apache/cassandra/db/columniterator/IndexedSliceReader.java -- diff --git a/src/java/org/apache/cassandra/db/columniterator/IndexedSliceReader.java b/src/java/org/apache/cassandra/db/columniterator/IndexedSliceReader.java index 9c1fece..2a22cc6 100644 --- a/src/java/org/apache/cassandra/db/columniterator/IndexedSliceReader.java +++ b/src/java/org/apache/cassandra/db/columniterator/IndexedSliceReader.java @@ -196,7 +196,7 @@ class IndexedSliceReader extends AbstractIteratorOnDiskAtom implements OnDiskA { // See indexFor above. return sstable.metadata.isSuper() sstable.descriptor.version.hasSuperColumns - ? CellNames.compositeDense(SuperColumns.scName(name)) + ? CellNames.simpleDense(SuperColumns.scName(name)) : name; }
[2/2] 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/6a97a9c9 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/6a97a9c9 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/6a97a9c9 Branch: refs/heads/trunk Commit: 6a97a9c946ff9731f8c5070ab50db8e75e02a336 Parents: 67b8521 7abfbab Author: Sylvain Lebresne sylv...@datastax.com Authored: Mon Mar 17 12:50:29 2014 +0100 Committer: Sylvain Lebresne sylv...@datastax.com Committed: Mon Mar 17 12:50:29 2014 +0100 -- .../org/apache/cassandra/db/columniterator/IndexedSliceReader.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --
[jira] [Commented] (CASSANDRA-6869) Broken 1.2 sstables support in 2.1
[ https://issues.apache.org/jira/browse/CASSANDRA-6869?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13937713#comment-13937713 ] Jonathan Ellis commented on CASSANDRA-6869: --- wfm Broken 1.2 sstables support in 2.1 -- Key: CASSANDRA-6869 URL: https://issues.apache.org/jira/browse/CASSANDRA-6869 Project: Cassandra Issue Type: Bug Reporter: Aleksey Yeschenko Assignee: Sylvain Lebresne Fix For: 2.1 beta2 CASSANDRA-5417 has broken 1.2 (ic) sstables support in at least two ways. 1. CFMetaData.getOnDiskSerializer(), used by SSTableNamesIterator and IndexedSliceReader, doesn't account for pre-2.0 supercolumn sstables 2. More importantly, ACCNT.CompositeDeserializer doesn't handle ic tables' cell counts, and maybeReadNext() might throw EOFException while expecting the partition end marker. SimpleDeserializer is likely just as broken. I'd expect more issues like this, but less obvious, in the code, and thus am torn between forcing people to run upgradesstables on 2.0 and actually fixing these issues, and hoping that we haven't missed anything. Implementing a supercolumn aware AtomDeserializer is not hard, fixing CompositeDeserializer and SimpleDeserializer isn't very hard either, but I really am worried about stuff that's less obvious. Plus, if we drop that support, we can get rid of some legacy supercolumn code in 2.1. Minus, obviously, is a bit of extra pain for 2.0-2.1 upgraders still having 1.2- sstables around. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Updated] (CASSANDRA-6774) Cleanup fails with assertion error after stopping previous run
[ https://issues.apache.org/jira/browse/CASSANDRA-6774?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Marcus Eriksson updated CASSANDRA-6774: --- Attachment: (was: 0001-6774-wip.patch) Cleanup fails with assertion error after stopping previous run -- Key: CASSANDRA-6774 URL: https://issues.apache.org/jira/browse/CASSANDRA-6774 Project: Cassandra Issue Type: Bug Components: Core Environment: 2.0.5 Reporter: Keith Wright Assignee: Marcus Eriksson Fix For: 2.0.7 Attachments: 0001-Dont-continue-after-failing-to-cancel-in-progress-co.patch, 6774-v2.txt I am stress testing a new 2.0.5 cluster and did the following: - start decommission during heavy write, moderate read load - trigger cleanup on non-decommissioning node (nodetool cleanup) - Started to see higher GC load stop stopped cleanup via nodetool stop CLEANUP - attempt to launch cleanup now fails with the following message in console. Cassandra log shows: http://aep.appspot.com/display/cKmlMcDuKD72iYAcBykDuVZkRWY/ -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Updated] (CASSANDRA-6774) Cleanup fails with assertion error after stopping previous run
[ https://issues.apache.org/jira/browse/CASSANDRA-6774?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Marcus Eriksson updated CASSANDRA-6774: --- Attachment: 0001-6774-wip.patch Attaching patch that; * Introduces an enum with the status for the operation (currently only aborted/successful) * Makes cfs.markAllCompacting() return empty list if there are no sstables to execute the operation on and null if we failed cancelling * Make nodetool output an error message and set exit code to 1 if we fail Cleanup fails with assertion error after stopping previous run -- Key: CASSANDRA-6774 URL: https://issues.apache.org/jira/browse/CASSANDRA-6774 Project: Cassandra Issue Type: Bug Components: Core Environment: 2.0.5 Reporter: Keith Wright Assignee: Marcus Eriksson Fix For: 2.0.7 Attachments: 0001-6774-wip.patch, 0001-Dont-continue-after-failing-to-cancel-in-progress-co.patch, 6774-v2.txt I am stress testing a new 2.0.5 cluster and did the following: - start decommission during heavy write, moderate read load - trigger cleanup on non-decommissioning node (nodetool cleanup) - Started to see higher GC load stop stopped cleanup via nodetool stop CLEANUP - attempt to launch cleanup now fails with the following message in console. Cassandra log shows: http://aep.appspot.com/display/cKmlMcDuKD72iYAcBykDuVZkRWY/ -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CASSANDRA-6613) Java 7u51 breaks internode encryption
[ https://issues.apache.org/jira/browse/CASSANDRA-6613?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13937730#comment-13937730 ] Ray Sinnema commented on CASSANDRA-6613: This patch works fine, thanks! Java 7u51 breaks internode encryption - Key: CASSANDRA-6613 URL: https://issues.apache.org/jira/browse/CASSANDRA-6613 Project: Cassandra Issue Type: Bug Components: Core Reporter: Ray Sinnema Attachments: 6613.txt With the latest update of the Oracle JRE (7u51) internode encryption no longer works, since none of the cipher suites (TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA) that Cassandra supports work anymore. I see this in the log file: WARN o.a.cassandra.security.SSLFactory - Filtering out TLS_RSA_WITH_AES_256_CBC_SHA as it isnt supported by the socket See http://www.oracle.com/technetwork/java/javase/7u51-relnotes-2085002.html (all the way at the bottom) for more information. -- This message was sent by Atlassian JIRA (v6.2#6252)
git commit: Fix another typo
Repository: cassandra Updated Branches: refs/heads/cassandra-2.1 7abfbab72 - 30554b725 Fix another typo Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/30554b72 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/30554b72 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/30554b72 Branch: refs/heads/cassandra-2.1 Commit: 30554b7252efa1cf544f12ee7923f4f9ad845b85 Parents: 7abfbab Author: Aleksey Yeschenko alek...@apache.org Authored: Mon Mar 17 15:49:03 2014 +0300 Committer: Aleksey Yeschenko alek...@apache.org Committed: Mon Mar 17 15:49:03 2014 +0300 -- .../org/apache/cassandra/db/columniterator/IndexedSliceReader.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/30554b72/src/java/org/apache/cassandra/db/columniterator/IndexedSliceReader.java -- diff --git a/src/java/org/apache/cassandra/db/columniterator/IndexedSliceReader.java b/src/java/org/apache/cassandra/db/columniterator/IndexedSliceReader.java index 2a22cc6..22fe5fa 100644 --- a/src/java/org/apache/cassandra/db/columniterator/IndexedSliceReader.java +++ b/src/java/org/apache/cassandra/db/columniterator/IndexedSliceReader.java @@ -186,7 +186,7 @@ class IndexedSliceReader extends AbstractIteratorOnDiskAtom implements OnDiskA if (sstable.metadata.isSuper() sstable.descriptor.version.hasSuperColumns) { CellNameType scComparator = SuperColumns.scNameType(comparator); -Composite scName = CellNames.compositeDense(SuperColumns.scName(name)); +Composite scName = CellNames.simpleDense(SuperColumns.scName(name)); return IndexHelper.indexFor(scName, indexes, scComparator, reversed, startIdx); } return IndexHelper.indexFor(name, indexes, comparator, reversed, startIdx);
[2/2] 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/976f4010 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/976f4010 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/976f4010 Branch: refs/heads/trunk Commit: 976f4010d6bbfa1694bda53e71a7a7afe637094e Parents: 6a97a9c 30554b7 Author: Aleksey Yeschenko alek...@apache.org Authored: Mon Mar 17 15:50:39 2014 +0300 Committer: Aleksey Yeschenko alek...@apache.org Committed: Mon Mar 17 15:50:39 2014 +0300 -- .../org/apache/cassandra/db/columniterator/IndexedSliceReader.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --
[1/2] git commit: Fix another typo
Repository: cassandra Updated Branches: refs/heads/trunk 6a97a9c94 - 976f4010d Fix another typo Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/30554b72 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/30554b72 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/30554b72 Branch: refs/heads/trunk Commit: 30554b7252efa1cf544f12ee7923f4f9ad845b85 Parents: 7abfbab Author: Aleksey Yeschenko alek...@apache.org Authored: Mon Mar 17 15:49:03 2014 +0300 Committer: Aleksey Yeschenko alek...@apache.org Committed: Mon Mar 17 15:49:03 2014 +0300 -- .../org/apache/cassandra/db/columniterator/IndexedSliceReader.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/30554b72/src/java/org/apache/cassandra/db/columniterator/IndexedSliceReader.java -- diff --git a/src/java/org/apache/cassandra/db/columniterator/IndexedSliceReader.java b/src/java/org/apache/cassandra/db/columniterator/IndexedSliceReader.java index 2a22cc6..22fe5fa 100644 --- a/src/java/org/apache/cassandra/db/columniterator/IndexedSliceReader.java +++ b/src/java/org/apache/cassandra/db/columniterator/IndexedSliceReader.java @@ -186,7 +186,7 @@ class IndexedSliceReader extends AbstractIteratorOnDiskAtom implements OnDiskA if (sstable.metadata.isSuper() sstable.descriptor.version.hasSuperColumns) { CellNameType scComparator = SuperColumns.scNameType(comparator); -Composite scName = CellNames.compositeDense(SuperColumns.scName(name)); +Composite scName = CellNames.simpleDense(SuperColumns.scName(name)); return IndexHelper.indexFor(scName, indexes, scComparator, reversed, startIdx); } return IndexHelper.indexFor(name, indexes, comparator, reversed, startIdx);
[jira] [Commented] (CASSANDRA-6788) Race condition silently kills thrift server
[ https://issues.apache.org/jira/browse/CASSANDRA-6788?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13937776#comment-13937776 ] Christian Rolf commented on CASSANDRA-6788: --- Having read through the (somewhat horrendous) code of java.util.concurrent.ThreadPoolExecutor, I agree whole-heartedly with your version. It's the only way to be completely safe from the race; the contract for afterExecute simply isn't clear enough to rely on. I see I put myself as the assignee, what do I need to do to subtmit the patch? Race condition silently kills thrift server --- Key: CASSANDRA-6788 URL: https://issues.apache.org/jira/browse/CASSANDRA-6788 Project: Cassandra Issue Type: Bug Reporter: Christian Rolf Assignee: Christian Rolf Attachments: 6788-v2.txt, 6788-v3.txt, 6793-v3-rebased.txt, race_patch.diff There's a race condition in CustomTThreadPoolServer that can cause the thrift server to silently stop listening for connections. It happens when the executor service throws a RejectedExecutionException, which is not caught. Silent in the sense that OpsCenter doesn't notice any problem since JMX is still running fine. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CASSANDRA-6774) Cleanup fails with assertion error after stopping previous run
[ https://issues.apache.org/jira/browse/CASSANDRA-6774?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=1393#comment-1393 ] Jonathan Ellis commented on CASSANDRA-6774: --- LGTM. Are you still comfortable with 2.0 for this or should we do it in 2.1? Cleanup fails with assertion error after stopping previous run -- Key: CASSANDRA-6774 URL: https://issues.apache.org/jira/browse/CASSANDRA-6774 Project: Cassandra Issue Type: Bug Components: Core Environment: 2.0.5 Reporter: Keith Wright Assignee: Marcus Eriksson Fix For: 2.0.7 Attachments: 0001-6774-wip.patch, 0001-Dont-continue-after-failing-to-cancel-in-progress-co.patch, 6774-v2.txt I am stress testing a new 2.0.5 cluster and did the following: - start decommission during heavy write, moderate read load - trigger cleanup on non-decommissioning node (nodetool cleanup) - Started to see higher GC load stop stopped cleanup via nodetool stop CLEANUP - attempt to launch cleanup now fails with the following message in console. Cassandra log shows: http://aep.appspot.com/display/cKmlMcDuKD72iYAcBykDuVZkRWY/ -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Comment Edited] (CASSANDRA-6852) can't repair -pr part of data when not replicating data everywhere (multiDCs)
[ https://issues.apache.org/jira/browse/CASSANDRA-6852?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13935075#comment-13935075 ] Cyril Scetbon edited comment on CASSANDRA-6852 at 3/17/14 1:42 PM: --- Great ! Can you tell me how does it work internally or point me to a url where it is explained. Cause to check where a key is stored I have sorted all tokens to find ranges and searched where it's stored my key. Here is what I find : {code} cqlsh:ks1 select str,token(str) from t1 where str='str46947' limit 10; str | token(str) --+ str46947 | 936110467609605413 $ nodetool ring ks1 | grep Up | sort -k 8 -n | grep -C 1 936104068755107049 10.0.1.128 r01 Up Normal 163.72 KB 0.00% 904295202895283495 10.0.1.193 r01 Up Normal 44 MB 50.75% 914026073010016644 10.0.1.244 r01 Up Normal 44.05 MB50.89% 924832200596750447 10.0.1.244 r01 Up Normal 44.05 MB50.89% 926119170189943733 10.0.1.128 r01 Up Normal 163.72 KB 0.00% 936104068755107049 -- 10.0.1.128 r01 Up Normal 163.72 KB 0.00% 943395402795400988 -- 10.0.1.119 r01 Up Normal 42.08 MB48.58% 947638296150677630 10.0.1.128 r01 Up Normal 163.72 KB 0.00% 948472585151216644 10.0.1.69 r01 Up Normal 166.82 KB 0.00% 956130981441305365 {code} As token for key str46947 is between 936104068755107049 and 943395402795400988, I suppose this key should be stored on 10.0.1.128. Does the code checks it and as it knows it can't store data for that keyspace it stores it on the previous or the next range which is not owned by this node ? Thanks was (Author: cscetbon): Great ! Can you tell me how does it work internally or to point me to a url where is explained. Cause to check where a key is stored I have sorted all tokens to find ranges and searched where it's stored my key. Here is what I find : {code} cqlsh:ks1 select str,token(str) from t1 where str='str46947' limit 10; str | token(str) --+ str46947 | 936110467609605413 $ nodetool ring ks1 | grep Up | sort -k 8 -n | grep -C 1 936104068755107049 10.0.1.128 r01 Up Normal 163.72 KB 0.00% 904295202895283495 10.0.1.193 r01 Up Normal 44 MB 50.75% 914026073010016644 10.0.1.244 r01 Up Normal 44.05 MB50.89% 924832200596750447 10.0.1.244 r01 Up Normal 44.05 MB50.89% 926119170189943733 10.0.1.128 r01 Up Normal 163.72 KB 0.00% 936104068755107049 -- 10.0.1.128 r01 Up Normal 163.72 KB 0.00% 943395402795400988 -- 10.0.1.119 r01 Up Normal 42.08 MB48.58% 947638296150677630 10.0.1.128 r01 Up Normal 163.72 KB 0.00% 948472585151216644 10.0.1.69 r01 Up Normal 166.82 KB 0.00% 956130981441305365 {code} As token for key str46947 is between 936104068755107049 and 943395402795400988, I suppose this key should be stored on 10.0.1.128. Does the code checks it and as it knows it can't store data for that keyspace it stores it on the previous or the next range which is not owned by this node ? Thanks can't repair -pr part of data when not replicating data everywhere (multiDCs) - Key: CASSANDRA-6852 URL: https://issues.apache.org/jira/browse/CASSANDRA-6852 Project: Cassandra Issue Type: Bug Components: Core Reporter: Cyril Scetbon Labels: multi-dcs, ranges, repair Our environment is as follows : - 3 DCS : dc1,dc2 and dc3 - replicate all keyspaces to dc1 and dc2 - replicate a few keyspaces to dc3 as we have less hardware and use it for computing statistics We use repair -pr everywhere regularly. FYI, a full repair takes almost 20 hours per node. The matter is that we can't use repair -pr anymore for tokens stored on dc3 concerning keyspaces not replicated. We should have a way to repair those ranges without doing a FULL REPAIR everywhere
[jira] [Commented] (CASSANDRA-6863) Incorrect read repair of range thombstones
[ https://issues.apache.org/jira/browse/CASSANDRA-6863?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13937884#comment-13937884 ] Oleg Anastasyev commented on CASSANDRA-6863: By the way, should not ColumnFamily.digest include range thombstones, so entropy in range thombstones is detected and read repaired ? Currently only cells and deleted cells are participate in digest response calculation as I can see in ColumnFamily.digest() and ReadVerbHandler.getResponse... Incorrect read repair of range thombstones -- Key: CASSANDRA-6863 URL: https://issues.apache.org/jira/browse/CASSANDRA-6863 Project: Cassandra Issue Type: Bug Environment: 2.0 Reporter: Oleg Anastasyev Attachments: ReadRepairRangeThombstoneDiff.txt, ReadRepairsDebugLogger.txt Rows with range thombstones are read repaired for every replica, if RR is triggered (this is because CF.diff() returns non null if !isEmpty(), which in turn returns false if range thombstones list is not empty). Also, full rangethombstone list is send to all nodes, which could be a problem if you have wide partition. Fixed this by evaluating diff on range thombstone lists as well as on deteleInfo of endpoint CF versions. Also return null from CF.diff, if no diff in RTL. A second patch (ReadRepairsDebugLogger.txt) adds some debug logging to look at read repairs. You may find it useful as well. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Updated] (CASSANDRA-5483) Repair tracing
[ https://issues.apache.org/jira/browse/CASSANDRA-5483?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ben Chan updated CASSANDRA-5483: Attachment: 5483-v08-15-Limit-trace-notifications.-Add-exponential-backoff.patch 5483-v08-14-Poll-system_traces.events.patch 5483-v08-13-sendNotification-of-local-traces-back-to-nodetool.patch 5483-v08-12-Trace-streaming-in-Differencer-StreamingRepairTask.patch 5483-v08-11-Shorten-trace-messages.-Use-Tracing-begin.patch Repair tracing -- Key: CASSANDRA-5483 URL: https://issues.apache.org/jira/browse/CASSANDRA-5483 Project: Cassandra Issue Type: Improvement Components: Tools Reporter: Yuki Morishita Assignee: Ben Chan Priority: Minor Labels: repair Attachments: 5483-full-trunk.txt, 5483-v06-04-Allow-tracing-ttl-to-be-configured.patch, 5483-v06-05-Add-a-command-column-to-system_traces.events.patch, 5483-v06-06-Fix-interruption-in-tracestate-propagation.patch, 5483-v07-07-Better-constructor-parameters-for-DebuggableThreadPoolExecutor.patch, 5483-v07-08-Fix-brace-style.patch, 5483-v07-09-Add-trace-option-to-a-more-complete-set-of-repair-functions.patch, 5483-v07-10-Correct-name-of-boolean-repairedAt-to-fullRepair.patch, 5483-v08-11-Shorten-trace-messages.-Use-Tracing-begin.patch, 5483-v08-12-Trace-streaming-in-Differencer-StreamingRepairTask.patch, 5483-v08-13-sendNotification-of-local-traces-back-to-nodetool.patch, 5483-v08-14-Poll-system_traces.events.patch, 5483-v08-15-Limit-trace-notifications.-Add-exponential-backoff.patch, ccm-repair-test, cqlsh-left-justify-text-columns.patch, test-5483-system_traces-events.txt, trunk@4620823-5483-v02-0001-Trace-filtering-and-tracestate-propagation.patch, trunk@4620823-5483-v02-0002-Put-a-few-traces-parallel-to-the-repair-logging.patch, tr...@8ebeee1-5483-v01-001-trace-filtering-and-tracestate-propagation.txt, tr...@8ebeee1-5483-v01-002-simple-repair-tracing.txt, v02p02-5483-v03-0003-Make-repair-tracing-controllable-via-nodetool.patch, v02p02-5483-v04-0003-This-time-use-an-EnumSet-to-pass-boolean-repair-options.patch, v02p02-5483-v05-0003-Use-long-instead-of-EnumSet-to-work-with-JMX.patch I think it would be nice to log repair stats and results like query tracing stores traces to system keyspace. With it, you don't have to lookup each log file to see what was the status and how it performed the repair you invoked. Instead, you can query the repair log with session ID to see the state and stats of all nodes involved in that repair session. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CASSANDRA-6862) Schema versions mismatch on large ring
[ https://issues.apache.org/jira/browse/CASSANDRA-6862?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13937912#comment-13937912 ] Jonathan Ellis commented on CASSANDRA-6862: --- I think the right conclusion from that is we need to fix the digest to include row + range tombstones :) Schema versions mismatch on large ring -- Key: CASSANDRA-6862 URL: https://issues.apache.org/jira/browse/CASSANDRA-6862 Project: Cassandra Issue Type: Bug Components: Core Environment: 2.0 Reporter: Oleg Anastasyev Assignee: Oleg Anastasyev Fix For: 2.0.7 Attachments: 6862-v2.txt, SchemaVersionLiveColumns.txt We have a large cluster with several hundreds nodes in 1 ring. Sometimes, especially after massive restarts, schema versions reported on different nodes mismatch. Investigated and found, that difference is not in schema itsself, but in thombstones (different nodes have different set of thombstones applied to system tables). Fixed by digesting schema with thombstones removed first. -- This message was sent by Atlassian JIRA (v6.2#6252)
[3/6] git commit: Fix handling of RejectedExecution in sync Thrift server patch by Christian Rolf and jbellis for CASSANDRA-6788
Fix handling of RejectedExecution in sync Thrift server patch by Christian Rolf and jbellis for CASSANDRA-6788 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/56e2b4ac Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/56e2b4ac Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/56e2b4ac Branch: refs/heads/trunk Commit: 56e2b4ac02f31ff14be36d73597cfcf95fb4815e Parents: 1e64972 Author: Jonathan Ellis jbel...@apache.org Authored: Mon Mar 17 10:50:08 2014 -0500 Committer: Jonathan Ellis jbel...@apache.org Committed: Mon Mar 17 10:50:19 2014 -0500 -- CHANGES.txt | 1 + .../thrift/CustomTThreadPoolServer.java | 25 ++-- 2 files changed, 14 insertions(+), 12 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/56e2b4ac/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index c4e1bd4..2f708dc 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 2.0.7 + * Fix handling of RejectedExecution in sync Thrift server (CASSANDRA-6788) * Log more information when exceeding tombstone_warn_threshold (CASSANDRA-6865) * Fix truncate to not abort due to unreachable fat clients (CASSANDRA-6864) * Fix schema concurrency exceptions (CASSANDRA-6841) http://git-wip-us.apache.org/repos/asf/cassandra/blob/56e2b4ac/src/java/org/apache/cassandra/thrift/CustomTThreadPoolServer.java -- diff --git a/src/java/org/apache/cassandra/thrift/CustomTThreadPoolServer.java b/src/java/org/apache/cassandra/thrift/CustomTThreadPoolServer.java index cf48502..d1a3304 100644 --- a/src/java/org/apache/cassandra/thrift/CustomTThreadPoolServer.java +++ b/src/java/org/apache/cassandra/thrift/CustomTThreadPoolServer.java @@ -21,6 +21,7 @@ import java.net.InetSocketAddress; import java.net.SocketAddress; import java.net.SocketTimeoutException; import java.util.concurrent.ExecutorService; +import java.util.concurrent.RejectedExecutionException; import java.util.concurrent.SynchronousQueue; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; @@ -97,7 +98,7 @@ public class CustomTThreadPoolServer extends TServer // block until we are under max clients while (activeClients.get() = args.maxWorkerThreads) { -Uninterruptibles.sleepUninterruptibly(100, TimeUnit.MILLISECONDS); +Uninterruptibles.sleepUninterruptibly(10, TimeUnit.MILLISECONDS); } try @@ -117,6 +118,12 @@ public class CustomTThreadPoolServer extends TServer logger.warn(Transport error occurred during acceptance of message., ttx); } } +catch (RejectedExecutionException e) +{ +// worker thread decremented activeClients but hadn't finished exiting +logger.debug(Dropping client connection because our limit of {} has been reached, args.maxWorkerThreads); +continue; +} if (activeClients.get() = args.maxWorkerThreads) logger.warn(Maximum number of clients + args.maxWorkerThreads + reached); @@ -213,19 +220,13 @@ public class CustomTThreadPoolServer extends TServer } finally { -activeClients.decrementAndGet(); if (socket != null) ThriftSessionManager.instance.connectionComplete(socket); -} - -if (inputTransport != null) -{ -inputTransport.close(); -} - -if (outputTransport != null) -{ -outputTransport.close(); +if (inputTransport != null) +inputTransport.close(); +if (outputTransport != null) +outputTransport.close(); +activeClients.decrementAndGet(); } } }
[2/6] git commit: Fix handling of RejectedExecution in sync Thrift server patch by Christian Rolf and jbellis for CASSANDRA-6788
Fix handling of RejectedExecution in sync Thrift server patch by Christian Rolf and jbellis for CASSANDRA-6788 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/56e2b4ac Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/56e2b4ac Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/56e2b4ac Branch: refs/heads/cassandra-2.1 Commit: 56e2b4ac02f31ff14be36d73597cfcf95fb4815e Parents: 1e64972 Author: Jonathan Ellis jbel...@apache.org Authored: Mon Mar 17 10:50:08 2014 -0500 Committer: Jonathan Ellis jbel...@apache.org Committed: Mon Mar 17 10:50:19 2014 -0500 -- CHANGES.txt | 1 + .../thrift/CustomTThreadPoolServer.java | 25 ++-- 2 files changed, 14 insertions(+), 12 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/56e2b4ac/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index c4e1bd4..2f708dc 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 2.0.7 + * Fix handling of RejectedExecution in sync Thrift server (CASSANDRA-6788) * Log more information when exceeding tombstone_warn_threshold (CASSANDRA-6865) * Fix truncate to not abort due to unreachable fat clients (CASSANDRA-6864) * Fix schema concurrency exceptions (CASSANDRA-6841) http://git-wip-us.apache.org/repos/asf/cassandra/blob/56e2b4ac/src/java/org/apache/cassandra/thrift/CustomTThreadPoolServer.java -- diff --git a/src/java/org/apache/cassandra/thrift/CustomTThreadPoolServer.java b/src/java/org/apache/cassandra/thrift/CustomTThreadPoolServer.java index cf48502..d1a3304 100644 --- a/src/java/org/apache/cassandra/thrift/CustomTThreadPoolServer.java +++ b/src/java/org/apache/cassandra/thrift/CustomTThreadPoolServer.java @@ -21,6 +21,7 @@ import java.net.InetSocketAddress; import java.net.SocketAddress; import java.net.SocketTimeoutException; import java.util.concurrent.ExecutorService; +import java.util.concurrent.RejectedExecutionException; import java.util.concurrent.SynchronousQueue; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; @@ -97,7 +98,7 @@ public class CustomTThreadPoolServer extends TServer // block until we are under max clients while (activeClients.get() = args.maxWorkerThreads) { -Uninterruptibles.sleepUninterruptibly(100, TimeUnit.MILLISECONDS); +Uninterruptibles.sleepUninterruptibly(10, TimeUnit.MILLISECONDS); } try @@ -117,6 +118,12 @@ public class CustomTThreadPoolServer extends TServer logger.warn(Transport error occurred during acceptance of message., ttx); } } +catch (RejectedExecutionException e) +{ +// worker thread decremented activeClients but hadn't finished exiting +logger.debug(Dropping client connection because our limit of {} has been reached, args.maxWorkerThreads); +continue; +} if (activeClients.get() = args.maxWorkerThreads) logger.warn(Maximum number of clients + args.maxWorkerThreads + reached); @@ -213,19 +220,13 @@ public class CustomTThreadPoolServer extends TServer } finally { -activeClients.decrementAndGet(); if (socket != null) ThriftSessionManager.instance.connectionComplete(socket); -} - -if (inputTransport != null) -{ -inputTransport.close(); -} - -if (outputTransport != null) -{ -outputTransport.close(); +if (inputTransport != null) +inputTransport.close(); +if (outputTransport != null) +outputTransport.close(); +activeClients.decrementAndGet(); } } }
[5/6] git commit: merge from 2.0
merge from 2.0 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/60882c15 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/60882c15 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/60882c15 Branch: refs/heads/cassandra-2.1 Commit: 60882c15c8c1ceba3bd491dfc4f2041f3b34bd14 Parents: 30554b7 56e2b4a Author: Jonathan Ellis jbel...@apache.org Authored: Mon Mar 17 10:51:35 2014 -0500 Committer: Jonathan Ellis jbel...@apache.org Committed: Mon Mar 17 10:51:35 2014 -0500 -- CHANGES.txt | 1 + .../thrift/CustomTThreadPoolServer.java | 25 ++-- 2 files changed, 14 insertions(+), 12 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/60882c15/CHANGES.txt -- diff --cc CHANGES.txt index 0cd9d4a,2f708dc..ca4bcfb --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,28 -1,5 +1,29 @@@ -2.0.7 +2.1.0-beta2 + * Eliminate possibility of CL segment appearing twice in active list + (CASSANDRA-6557) + * Apply DONTNEED fadvise to commitlog segments (CASSANDRA-6759) + * Switch CRC component to Adler and include it for compressed sstables + (CASSANDRA-4165) + * Allow cassandra-stress to set compaction strategy options (CASSANDRA-6451) + * Add broadcast_rpc_address option to cassandra.yaml (CASSANDRA-5899) + * Auto reload GossipingPropertyFileSnitch config (CASSANDRA-5897) + * Fix overflow of memtable_total_space_in_mb (CASSANDRA-6573) + * Fix ABTC NPE and apply update function correctly (CASSANDRA-6692) + * Allow nodetool to use a file or prompt for password (CASSANDRA-6660) + * Fix AIOOBE when concurrently accessing ABSC (CASSANDRA-6742) + * Fix assertion error in ALTER TYPE RENAME (CASSANDRA-6705) + * Scrub should not always clear out repaired status (CASSANDRA-5351) + * Improve handling of range tombstone for wide partitions (CASSANDRA-6446) + * Fix ClassCastException for compact table with composites (CASSANDRA-6738) + * Fix potentially repairing with wrong nodes (CASSANDRA-6808) + * Change caching option syntax (CASSANDRA-6745) + * Fix stress to do proper counter reads (CASSANDRA-6835) + * Fix help message for stress counter_write (CASSANDRA-6824) + * Fix stress smart Thrift client to pick servers correctly (CASSANDRA-6848) + * Add logging levels (minimal, normal or verbose) to stress tool (CASSANDRA-6849) + * Fix race condition in Batch CLE (CASSANDRA-6860) +Merged from 2.0: + * Fix handling of RejectedExecution in sync Thrift server (CASSANDRA-6788) * Log more information when exceeding tombstone_warn_threshold (CASSANDRA-6865) * Fix truncate to not abort due to unreachable fat clients (CASSANDRA-6864) * Fix schema concurrency exceptions (CASSANDRA-6841) http://git-wip-us.apache.org/repos/asf/cassandra/blob/60882c15/src/java/org/apache/cassandra/thrift/CustomTThreadPoolServer.java -- diff --cc src/java/org/apache/cassandra/thrift/CustomTThreadPoolServer.java index 7bcfdf2,d1a3304..f7a602c --- a/src/java/org/apache/cassandra/thrift/CustomTThreadPoolServer.java +++ b/src/java/org/apache/cassandra/thrift/CustomTThreadPoolServer.java @@@ -117,9 -118,15 +118,15 @@@ public class CustomTThreadPoolServer ex logger.warn(Transport error occurred during acceptance of message., ttx); } } + catch (RejectedExecutionException e) + { + // worker thread decremented activeClients but hadn't finished exiting + logger.debug(Dropping client connection because our limit of {} has been reached, args.maxWorkerThreads); + continue; + } if (activeClients.get() = args.maxWorkerThreads) -logger.warn(Maximum number of clients + args.maxWorkerThreads + reached); +logger.warn(Maximum number of clients {} reached, args.maxWorkerThreads); } executorService.shutdown();
[6/6] 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/3d017f08 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/3d017f08 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/3d017f08 Branch: refs/heads/trunk Commit: 3d017f08ffec767bfc3b41a060a7e49706f2f6d7 Parents: 976f401 60882c1 Author: Jonathan Ellis jbel...@apache.org Authored: Mon Mar 17 10:51:43 2014 -0500 Committer: Jonathan Ellis jbel...@apache.org Committed: Mon Mar 17 10:51:43 2014 -0500 -- CHANGES.txt | 1 + .../thrift/CustomTThreadPoolServer.java | 25 ++-- 2 files changed, 14 insertions(+), 12 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/3d017f08/CHANGES.txt --
[1/6] git commit: Fix handling of RejectedExecution in sync Thrift server patch by Christian Rolf and jbellis for CASSANDRA-6788
Repository: cassandra Updated Branches: refs/heads/cassandra-2.0 1e64972be - 56e2b4ac0 refs/heads/cassandra-2.1 30554b725 - 60882c15c refs/heads/trunk 976f4010d - 3d017f08f Fix handling of RejectedExecution in sync Thrift server patch by Christian Rolf and jbellis for CASSANDRA-6788 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/56e2b4ac Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/56e2b4ac Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/56e2b4ac Branch: refs/heads/cassandra-2.0 Commit: 56e2b4ac02f31ff14be36d73597cfcf95fb4815e Parents: 1e64972 Author: Jonathan Ellis jbel...@apache.org Authored: Mon Mar 17 10:50:08 2014 -0500 Committer: Jonathan Ellis jbel...@apache.org Committed: Mon Mar 17 10:50:19 2014 -0500 -- CHANGES.txt | 1 + .../thrift/CustomTThreadPoolServer.java | 25 ++-- 2 files changed, 14 insertions(+), 12 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/56e2b4ac/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index c4e1bd4..2f708dc 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 2.0.7 + * Fix handling of RejectedExecution in sync Thrift server (CASSANDRA-6788) * Log more information when exceeding tombstone_warn_threshold (CASSANDRA-6865) * Fix truncate to not abort due to unreachable fat clients (CASSANDRA-6864) * Fix schema concurrency exceptions (CASSANDRA-6841) http://git-wip-us.apache.org/repos/asf/cassandra/blob/56e2b4ac/src/java/org/apache/cassandra/thrift/CustomTThreadPoolServer.java -- diff --git a/src/java/org/apache/cassandra/thrift/CustomTThreadPoolServer.java b/src/java/org/apache/cassandra/thrift/CustomTThreadPoolServer.java index cf48502..d1a3304 100644 --- a/src/java/org/apache/cassandra/thrift/CustomTThreadPoolServer.java +++ b/src/java/org/apache/cassandra/thrift/CustomTThreadPoolServer.java @@ -21,6 +21,7 @@ import java.net.InetSocketAddress; import java.net.SocketAddress; import java.net.SocketTimeoutException; import java.util.concurrent.ExecutorService; +import java.util.concurrent.RejectedExecutionException; import java.util.concurrent.SynchronousQueue; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; @@ -97,7 +98,7 @@ public class CustomTThreadPoolServer extends TServer // block until we are under max clients while (activeClients.get() = args.maxWorkerThreads) { -Uninterruptibles.sleepUninterruptibly(100, TimeUnit.MILLISECONDS); +Uninterruptibles.sleepUninterruptibly(10, TimeUnit.MILLISECONDS); } try @@ -117,6 +118,12 @@ public class CustomTThreadPoolServer extends TServer logger.warn(Transport error occurred during acceptance of message., ttx); } } +catch (RejectedExecutionException e) +{ +// worker thread decremented activeClients but hadn't finished exiting +logger.debug(Dropping client connection because our limit of {} has been reached, args.maxWorkerThreads); +continue; +} if (activeClients.get() = args.maxWorkerThreads) logger.warn(Maximum number of clients + args.maxWorkerThreads + reached); @@ -213,19 +220,13 @@ public class CustomTThreadPoolServer extends TServer } finally { -activeClients.decrementAndGet(); if (socket != null) ThriftSessionManager.instance.connectionComplete(socket); -} - -if (inputTransport != null) -{ -inputTransport.close(); -} - -if (outputTransport != null) -{ -outputTransport.close(); +if (inputTransport != null) +inputTransport.close(); +if (outputTransport != null) +outputTransport.close(); +activeClients.decrementAndGet(); } } }
[4/6] git commit: merge from 2.0
merge from 2.0 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/60882c15 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/60882c15 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/60882c15 Branch: refs/heads/trunk Commit: 60882c15c8c1ceba3bd491dfc4f2041f3b34bd14 Parents: 30554b7 56e2b4a Author: Jonathan Ellis jbel...@apache.org Authored: Mon Mar 17 10:51:35 2014 -0500 Committer: Jonathan Ellis jbel...@apache.org Committed: Mon Mar 17 10:51:35 2014 -0500 -- CHANGES.txt | 1 + .../thrift/CustomTThreadPoolServer.java | 25 ++-- 2 files changed, 14 insertions(+), 12 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/60882c15/CHANGES.txt -- diff --cc CHANGES.txt index 0cd9d4a,2f708dc..ca4bcfb --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,28 -1,5 +1,29 @@@ -2.0.7 +2.1.0-beta2 + * Eliminate possibility of CL segment appearing twice in active list + (CASSANDRA-6557) + * Apply DONTNEED fadvise to commitlog segments (CASSANDRA-6759) + * Switch CRC component to Adler and include it for compressed sstables + (CASSANDRA-4165) + * Allow cassandra-stress to set compaction strategy options (CASSANDRA-6451) + * Add broadcast_rpc_address option to cassandra.yaml (CASSANDRA-5899) + * Auto reload GossipingPropertyFileSnitch config (CASSANDRA-5897) + * Fix overflow of memtable_total_space_in_mb (CASSANDRA-6573) + * Fix ABTC NPE and apply update function correctly (CASSANDRA-6692) + * Allow nodetool to use a file or prompt for password (CASSANDRA-6660) + * Fix AIOOBE when concurrently accessing ABSC (CASSANDRA-6742) + * Fix assertion error in ALTER TYPE RENAME (CASSANDRA-6705) + * Scrub should not always clear out repaired status (CASSANDRA-5351) + * Improve handling of range tombstone for wide partitions (CASSANDRA-6446) + * Fix ClassCastException for compact table with composites (CASSANDRA-6738) + * Fix potentially repairing with wrong nodes (CASSANDRA-6808) + * Change caching option syntax (CASSANDRA-6745) + * Fix stress to do proper counter reads (CASSANDRA-6835) + * Fix help message for stress counter_write (CASSANDRA-6824) + * Fix stress smart Thrift client to pick servers correctly (CASSANDRA-6848) + * Add logging levels (minimal, normal or verbose) to stress tool (CASSANDRA-6849) + * Fix race condition in Batch CLE (CASSANDRA-6860) +Merged from 2.0: + * Fix handling of RejectedExecution in sync Thrift server (CASSANDRA-6788) * Log more information when exceeding tombstone_warn_threshold (CASSANDRA-6865) * Fix truncate to not abort due to unreachable fat clients (CASSANDRA-6864) * Fix schema concurrency exceptions (CASSANDRA-6841) http://git-wip-us.apache.org/repos/asf/cassandra/blob/60882c15/src/java/org/apache/cassandra/thrift/CustomTThreadPoolServer.java -- diff --cc src/java/org/apache/cassandra/thrift/CustomTThreadPoolServer.java index 7bcfdf2,d1a3304..f7a602c --- a/src/java/org/apache/cassandra/thrift/CustomTThreadPoolServer.java +++ b/src/java/org/apache/cassandra/thrift/CustomTThreadPoolServer.java @@@ -117,9 -118,15 +118,15 @@@ public class CustomTThreadPoolServer ex logger.warn(Transport error occurred during acceptance of message., ttx); } } + catch (RejectedExecutionException e) + { + // worker thread decremented activeClients but hadn't finished exiting + logger.debug(Dropping client connection because our limit of {} has been reached, args.maxWorkerThreads); + continue; + } if (activeClients.get() = args.maxWorkerThreads) -logger.warn(Maximum number of clients + args.maxWorkerThreads + reached); +logger.warn(Maximum number of clients {} reached, args.maxWorkerThreads); } executorService.shutdown();
[jira] [Commented] (CASSANDRA-6788) Race condition silently kills thrift server
[ https://issues.apache.org/jira/browse/CASSANDRA-6788?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13937937#comment-13937937 ] Jonathan Ellis commented on CASSANDRA-6788: --- committed Race condition silently kills thrift server --- Key: CASSANDRA-6788 URL: https://issues.apache.org/jira/browse/CASSANDRA-6788 Project: Cassandra Issue Type: Bug Reporter: Christian Rolf Assignee: Christian Rolf Fix For: 2.0.7, 2.1 beta2 Attachments: 6788-v2.txt, 6788-v3.txt, 6793-v3-rebased.txt, race_patch.diff There's a race condition in CustomTThreadPoolServer that can cause the thrift server to silently stop listening for connections. It happens when the executor service throws a RejectedExecutionException, which is not caught. Silent in the sense that OpsCenter doesn't notice any problem since JMX is still running fine. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CASSANDRA-5483) Repair tracing
[ https://issues.apache.org/jira/browse/CASSANDRA-5483?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13937976#comment-13937976 ] Ben Chan commented on CASSANDRA-5483: - {noformat} # tested with branch 5483 @ bce0c2c555a3; should also work following successful #git apply 5483-full-trunk.txt W=https://issues.apache.org/jira/secure/attachment for url in \ $W/12635094/5483-v08-11-Shorten-trace-messages.-Use-Tracing-begin.patch \ $W/12635095/5483-v08-12-Trace-streaming-in-Differencer-StreamingRepairTask.patch \ $W/12635096/5483-v08-13-sendNotification-of-local-traces-back-to-nodetool.patch \ $W/12635097/5483-v08-14-Poll-system_traces.events.patch \ $W/12635098/5483-v08-15-Limit-trace-notifications.-Add-exponential-backoff.patch do [ -e $(basename $url) ] || curl -sO $url; done git apply 5483-v08-*.patch ant clean ant ./ccm-repair-test -kR ccm node1 stop ccm node1 clear ccm node1 start ./ccm-repair-test -rt {noformat} * {{v08-11}} There was an error in one of the log formats in Differencer, which made my grep for out of sync in the logs fruitless. * {{v08-12}} I ended up using the handleStreamEvent of StreamingRepairTask instead of implementing and registering my own StreamEventHandler. The new trace messages may need adjusting, especially for ProgressEvent, which is essentially just a toString currently. * {{v08-13}} This works by adding a guarded sendNotification to TraceState#trace. * {{v08-14}} This works by starting a thread to poll {{system_traces.events}}, and by adding notify functionality to TraceState. There is some jitter in the ordering between local and remote traces. An easy fix would be to have the query thread handle all sendNotification of traces. You have to accept latency in sendNotification of local traces in order to get better ordering. It might be necessary to delay all trace sendNotification by a few seconds to make it more likely that remote traces have arrived. * {{v08-15}} Even more added TraceState functionality. All to try to reduce the amount of polling without hurting latency too much. There are only a few local traces that you would expect to be followed by a remote trace, so only wake up for those. Poll with an exponential backoff after each notification. --- Heuristics are messy, and I expect plenty of opinions on {{v08-14}} and {{v08-15}}. I'm not especially proud of that code, but I can't think of anything better at the moment, given the (self-imposed?) constraints. I may have reinvented the wheel with synchronization primitives. I checked {{java.util.concurrent.*}} and {{SimpleCondition}}, but not much beyond that. I could have missed something; I don't fully understand some of the classes. What I wanted was to be woken up (with a timeout) if anything has changed since the last time I checked. Theoretically, it should work for multiple consumers (As long as no one waits for longer than {{Integer.MAX_VALUE}} updates), though that's not really necessary here, if that would simplify the code. The code seems to work reasonably well for small-scale tests. I can convince myself that it won't blow up for long repairs, but haven't done a full test yet. Repair tracing -- Key: CASSANDRA-5483 URL: https://issues.apache.org/jira/browse/CASSANDRA-5483 Project: Cassandra Issue Type: Improvement Components: Tools Reporter: Yuki Morishita Assignee: Ben Chan Priority: Minor Labels: repair Attachments: 5483-full-trunk.txt, 5483-v06-04-Allow-tracing-ttl-to-be-configured.patch, 5483-v06-05-Add-a-command-column-to-system_traces.events.patch, 5483-v06-06-Fix-interruption-in-tracestate-propagation.patch, 5483-v07-07-Better-constructor-parameters-for-DebuggableThreadPoolExecutor.patch, 5483-v07-08-Fix-brace-style.patch, 5483-v07-09-Add-trace-option-to-a-more-complete-set-of-repair-functions.patch, 5483-v07-10-Correct-name-of-boolean-repairedAt-to-fullRepair.patch, 5483-v08-11-Shorten-trace-messages.-Use-Tracing-begin.patch, 5483-v08-12-Trace-streaming-in-Differencer-StreamingRepairTask.patch, 5483-v08-13-sendNotification-of-local-traces-back-to-nodetool.patch, 5483-v08-14-Poll-system_traces.events.patch, 5483-v08-15-Limit-trace-notifications.-Add-exponential-backoff.patch, ccm-repair-test, cqlsh-left-justify-text-columns.patch, test-5483-system_traces-events.txt, trunk@4620823-5483-v02-0001-Trace-filtering-and-tracestate-propagation.patch, trunk@4620823-5483-v02-0002-Put-a-few-traces-parallel-to-the-repair-logging.patch, tr...@8ebeee1-5483-v01-001-trace-filtering-and-tracestate-propagation.txt, tr...@8ebeee1-5483-v01-002-simple-repair-tracing.txt, v02p02-5483-v03-0003-Make-repair-tracing-controllable-via-nodetool.patch,
[jira] [Commented] (CASSANDRA-6871) Dynamic class loading for triggers (and udfs)
[ https://issues.apache.org/jira/browse/CASSANDRA-6871?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13937978#comment-13937978 ] Jonathan Ellis commented on CASSANDRA-6871: --- Ultimately what I'd like to see is CREATE TRIGGER specify a UDF, with UDF support for multiple languages a la postgresql, but I'm not sure if this is a step in that direction. It sounds like I'd still be shipping jars around, so I'm not sure what you're proposing besides some kind of groovy support. Did you mean to provide a link to the branch above? Dynamic class loading for triggers (and udfs) - Key: CASSANDRA-6871 URL: https://issues.apache.org/jira/browse/CASSANDRA-6871 Project: Cassandra Issue Type: New Feature Reporter: Edward Capriolo Assignee: Edward Capriolo Currently the trigger feature requires out of band shipping jar files to servers. In the near future users may be able to provide custom functions like trim() dynamically like pig and hive do. In order to accomplish this securely my suggestion is this. 1. Add a new configuration knob to cassandra.yaml which controls how users are allowed to load class definitions. {code} dynamic_loading: - JAVA_LOCAL_CLASSPATH - GROOVY_CLASS_LOADER {code} 2. Add the https://github.com/edwardcapriolo/nit-compiler to the project as a dependency. 3. Profit: A follow on piece would allow triggers to be defined in a JVM language. Features like https://issues.apache.org/jira/browse/CASSANDRA-6870 could use this. Users can also create different pluggable components to CQL at runtime. This issue would just be about brining the dynamic loading mechanism in the project securely. Not implementing it in a user facincg way. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Created] (CASSANDRA-6874) CQL3 docs doesn't document conditional DELETE
Mohica Jasha created CASSANDRA-6874: --- Summary: CQL3 docs doesn't document conditional DELETE Key: CASSANDRA-6874 URL: https://issues.apache.org/jira/browse/CASSANDRA-6874 Project: Cassandra Issue Type: Bug Components: Documentation website Reporter: Mohica Jasha http://cassandra.apache.org/doc/cql3/CQL.html#deleteStmt doesn't document conditional {{DELETE}}. But support for if clause for {{DELETE}} was there from C* 2.0 -- This message was sent by Atlassian JIRA (v6.2#6252)
[1/3] git commit: fix CRLF in bash scripts when building on Windows patch by Peter; reviewed by Joshua McKenzie for CASSANDRA-6798
Repository: cassandra Updated Branches: refs/heads/cassandra-2.1 60882c15c - dd60ab474 refs/heads/trunk 3d017f08f - c3d9280e4 fix CRLF in bash scripts when building on Windows patch by Peter; reviewed by Joshua McKenzie for CASSANDRA-6798 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/dd60ab47 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/dd60ab47 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/dd60ab47 Branch: refs/heads/cassandra-2.1 Commit: dd60ab474053ebd4cc38ed857df355293ae2c491 Parents: 60882c1 Author: Jonathan Ellis jbel...@apache.org Authored: Mon Mar 17 11:37:10 2014 -0500 Committer: Jonathan Ellis jbel...@apache.org Committed: Mon Mar 17 11:37:10 2014 -0500 -- build.xml | 4 1 file changed, 4 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/dd60ab47/build.xml -- diff --git a/build.xml b/build.xml index a938b25..83ce003 100644 --- a/build.xml +++ b/build.xml @@ -886,6 +886,10 @@ target name=artifacts depends=jar,javadoc description=Create Cassandra release artifacts mkdir dir=${dist.dir}/ + !-- fix the control linefeed so that builds on windows works on linux -- + fixcrlf srcdir=bin includes=**/* excludes=**/*.bat eol=lf eof=remove / + fixcrlf srcdir=conf includes=**/* excludes=**/*.bat eol=lf eof=remove / + fixcrlf srcdir=tools/bin includes=**/* excludes=**/*.bat eol=lf eof=remove / copy todir=${dist.dir}/lib fileset dir=${build.lib}/ fileset dir=${build.dir}
[2/3] git commit: fix CRLF in bash scripts when building on Windows patch by Peter; reviewed by Joshua McKenzie for CASSANDRA-6798
fix CRLF in bash scripts when building on Windows patch by Peter; reviewed by Joshua McKenzie for CASSANDRA-6798 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/dd60ab47 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/dd60ab47 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/dd60ab47 Branch: refs/heads/trunk Commit: dd60ab474053ebd4cc38ed857df355293ae2c491 Parents: 60882c1 Author: Jonathan Ellis jbel...@apache.org Authored: Mon Mar 17 11:37:10 2014 -0500 Committer: Jonathan Ellis jbel...@apache.org Committed: Mon Mar 17 11:37:10 2014 -0500 -- build.xml | 4 1 file changed, 4 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/dd60ab47/build.xml -- diff --git a/build.xml b/build.xml index a938b25..83ce003 100644 --- a/build.xml +++ b/build.xml @@ -886,6 +886,10 @@ target name=artifacts depends=jar,javadoc description=Create Cassandra release artifacts mkdir dir=${dist.dir}/ + !-- fix the control linefeed so that builds on windows works on linux -- + fixcrlf srcdir=bin includes=**/* excludes=**/*.bat eol=lf eof=remove / + fixcrlf srcdir=conf includes=**/* excludes=**/*.bat eol=lf eof=remove / + fixcrlf srcdir=tools/bin includes=**/* excludes=**/*.bat eol=lf eof=remove / copy todir=${dist.dir}/lib fileset dir=${build.lib}/ fileset dir=${build.dir}
[3/3] 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/c3d9280e Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c3d9280e Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c3d9280e Branch: refs/heads/trunk Commit: c3d9280e453de90a27b01a27374ccb9ec56c69d5 Parents: 3d017f0 dd60ab4 Author: Jonathan Ellis jbel...@apache.org Authored: Mon Mar 17 11:37:16 2014 -0500 Committer: Jonathan Ellis jbel...@apache.org Committed: Mon Mar 17 11:37:16 2014 -0500 -- build.xml | 4 1 file changed, 4 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/c3d9280e/build.xml --
[jira] [Commented] (CASSANDRA-6798) fix artifacts task to strip out DOS crlf
[ https://issues.apache.org/jira/browse/CASSANDRA-6798?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13938005#comment-13938005 ] Jonathan Ellis commented on CASSANDRA-6798: --- committed fix artifacts task to strip out DOS crlf Key: CASSANDRA-6798 URL: https://issues.apache.org/jira/browse/CASSANDRA-6798 Project: Cassandra Issue Type: Bug Components: Packaging Environment: windows 7 Reporter: Peter Assignee: Peter Priority: Minor Fix For: 2.1 Attachments: 6798.patch DOS builds end up with ^M in the unix shell scripts. updated the build to strip them so that builds on windows will run fine on linux. My github fork is https://github.com/woolfel/cassandra I can't figure out how to make a patch with github, so I'm lame. The fix is checked in. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Updated] (CASSANDRA-6798) fix artifacts task to strip out DOS crlf
[ https://issues.apache.org/jira/browse/CASSANDRA-6798?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Ellis updated CASSANDRA-6798: -- Component/s: (was: Core) Packaging Assignee: Peter Issue Type: Bug (was: Improvement) fix artifacts task to strip out DOS crlf Key: CASSANDRA-6798 URL: https://issues.apache.org/jira/browse/CASSANDRA-6798 Project: Cassandra Issue Type: Bug Components: Packaging Environment: windows 7 Reporter: Peter Assignee: Peter Priority: Minor Fix For: 2.1 Attachments: 6798.patch DOS builds end up with ^M in the unix shell scripts. updated the build to strip them so that builds on windows will run fine on linux. My github fork is https://github.com/woolfel/cassandra I can't figure out how to make a patch with github, so I'm lame. The fix is checked in. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CASSANDRA-6793) NPE in Hadoop Word count example
[ https://issues.apache.org/jira/browse/CASSANDRA-6793?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13938021#comment-13938021 ] Alex Liu commented on CASSANDRA-6793: - +1 except for change bin/* file permission to executable. NPE in Hadoop Word count example Key: CASSANDRA-6793 URL: https://issues.apache.org/jira/browse/CASSANDRA-6793 Project: Cassandra Issue Type: Bug Components: Examples Reporter: Chander S Pechetty Assignee: Chander S Pechetty Priority: Minor Labels: hadoop Fix For: 2.0.7, 2.1 beta2 Attachments: trunk-6793-v2.txt, trunk-6793-v3.txt, trunk-6793.txt The partition keys requested in WordCount.java do not match the primary key set up in the table output_words. It looks this patch was not merged properly from [CASSANDRA-5622|https://issues.apache.org/jira/browse/CASSANDRA-5622].The attached patch addresses the NPE and uses the correct keys defined in #5622. I am assuming there is no need to fix the actual NPE like throwing an InvalidRequestException back to user to fix the partition keys, as it would be trivial to get the same from the TableMetadata using the driver API. java.lang.NullPointerException at org.apache.cassandra.dht.Murmur3Partitioner.getToken(Murmur3Partitioner.java:92) at org.apache.cassandra.dht.Murmur3Partitioner.getToken(Murmur3Partitioner.java:40) at org.apache.cassandra.client.RingCache.getRange(RingCache.java:117) at org.apache.cassandra.hadoop.cql3.CqlRecordWriter.write(CqlRecordWriter.java:163) at org.apache.cassandra.hadoop.cql3.CqlRecordWriter.write(CqlRecordWriter.java:63) at org.apache.hadoop.mapred.ReduceTask$NewTrackingRecordWriter.write(ReduceTask.java:587) at org.apache.hadoop.mapreduce.TaskInputOutputContext.write(TaskInputOutputContext.java:80) at WordCount$ReducerToCassandra.reduce(Unknown Source) at WordCount$ReducerToCassandra.reduce(Unknown Source) at org.apache.hadoop.mapreduce.Reducer.run(Reducer.java:176) at org.apache.hadoop.mapred.ReduceTask.runNewReducer(ReduceTask.java:649) at org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:417) at org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:260) -- This message was sent by Atlassian JIRA (v6.2#6252)
[08/10] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1
Merge branch 'cassandra-2.0' into cassandra-2.1 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/ceddff58 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ceddff58 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ceddff58 Branch: refs/heads/cassandra-2.1 Commit: ceddff58f316b2a04494918615d7240558e5c0d2 Parents: dd60ab4 98ed6a4 Author: Brandon Williams brandonwilli...@apache.org Authored: Mon Mar 17 12:08:10 2014 -0500 Committer: Brandon Williams brandonwilli...@apache.org Committed: Mon Mar 17 12:08:10 2014 -0500 -- CHANGES.txt | 7 +++ conf/cassandra.yaml | 5 +++-- src/java/org/apache/cassandra/config/EncryptionOptions.java | 6 +- 3 files changed, 15 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/ceddff58/CHANGES.txt -- diff --cc CHANGES.txt index ca4bcfb,688a759..9682073 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -36,6 -11,14 +36,13 @@@ Merged from 2.0 * Restore expiring-deleted (cell) compaction optimization (CASSANDRA-6844) * Fix CompactionManager.needsCleanup (CASSANDRA-6845) * Correctly compare BooleanType values other than 0 and 1 (CASSANDRA-6779) + * Read message id as string from earlier versions (CASSANDRA-6840) + * Properly use the Paxos consistency for (non-protocol) batch (CASSANDRA-6837) -Merged from 1.2: + * add extra SSL cipher suites (CASSANDRA-6613) + * fix nodetool getsstables for blob PK (CASSANDRA-6803) + + + 2.0.6 * Avoid race-prone second scrub of system keyspace (CASSANDRA-6797) * Pool CqlRecordWriter clients by inetaddress rather than Range (CASSANDRA-6665) http://git-wip-us.apache.org/repos/asf/cassandra/blob/ceddff58/conf/cassandra.yaml --
[04/10] git commit: Add extra SSL cipher suites.
Add extra SSL cipher suites. Patch by brandonwilliams, reviewed by Ray Sinnema for CASSANDRA-6613 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/3876eefd Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/3876eefd Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/3876eefd Branch: refs/heads/trunk Commit: 3876eefd11a849099150f19250f6c8fcd89579ee Parents: 8526347 Author: Brandon Williams brandonwilli...@apache.org Authored: Mon Mar 17 12:05:35 2014 -0500 Committer: Brandon Williams brandonwilli...@apache.org Committed: Mon Mar 17 12:05:35 2014 -0500 -- CHANGES.txt | 1 + conf/cassandra.yaml | 5 +++-- src/java/org/apache/cassandra/config/EncryptionOptions.java | 6 +- 3 files changed, 9 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/3876eefd/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 325c623..f88345d 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 1.2.16 + * add extra SSL cipher suites (CASSANDRA-6613) * fix nodetool getsstables for blob PK (CASSANDRA-6803) * Add CMSClassUnloadingEnabled JVM option (CASSANDRA-6541) * Catch memtable flush exceptions during shutdown (CASSANDRA-6735) http://git-wip-us.apache.org/repos/asf/cassandra/blob/3876eefd/conf/cassandra.yaml -- diff --git a/conf/cassandra.yaml b/conf/cassandra.yaml index 194a196..ecad3f0 100644 --- a/conf/cassandra.yaml +++ b/conf/cassandra.yaml @@ -651,6 +651,7 @@ index_interval: 128 # Default settings are TLS v1, RSA 1024-bit keys (it is imperative that # users generate their own keys) TLS_RSA_WITH_AES_128_CBC_SHA as the cipher # suite for authentication, key exchange and encryption of the actual data transfers. +# Use the DHE/ECDHE ciphers if running in FIPS 140 compliant mode. # NOTE: No custom encryption options are enabled at the moment # The available internode options are : all, none, dc, rack # @@ -671,7 +672,7 @@ server_encryption_options: # protocol: TLS # algorithm: SunX509 # store_type: JKS -# cipher_suites: [TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA] +# cipher_suites: [TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_DHE_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA] # require_client_auth: false # enable or disable client/server encryption. @@ -687,7 +688,7 @@ client_encryption_options: # protocol: TLS # algorithm: SunX509 # store_type: JKS -# cipher_suites: [TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA] +# cipher_suites: [TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_DHE_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA] # internode_compression controls whether traffic between nodes is # compressed. http://git-wip-us.apache.org/repos/asf/cassandra/blob/3876eefd/src/java/org/apache/cassandra/config/EncryptionOptions.java -- diff --git a/src/java/org/apache/cassandra/config/EncryptionOptions.java b/src/java/org/apache/cassandra/config/EncryptionOptions.java index f873636..945a15b 100644 --- a/src/java/org/apache/cassandra/config/EncryptionOptions.java +++ b/src/java/org/apache/cassandra/config/EncryptionOptions.java @@ -23,7 +23,11 @@ public abstract class EncryptionOptions public String keystore_password = cassandra; public String truststore = conf/.truststore; public String truststore_password = cassandra; -public String[] cipher_suites = {TLS_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_256_CBC_SHA}; +public String[] cipher_suites = { +TLS_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_256_CBC_SHA, +TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_256_CBC_SHA, +TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA +}; public String protocol = TLS; public String algorithm = SunX509; public String store_type = JKS;
[09/10] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1
Merge branch 'cassandra-2.0' into cassandra-2.1 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/ceddff58 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ceddff58 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ceddff58 Branch: refs/heads/trunk Commit: ceddff58f316b2a04494918615d7240558e5c0d2 Parents: dd60ab4 98ed6a4 Author: Brandon Williams brandonwilli...@apache.org Authored: Mon Mar 17 12:08:10 2014 -0500 Committer: Brandon Williams brandonwilli...@apache.org Committed: Mon Mar 17 12:08:10 2014 -0500 -- CHANGES.txt | 7 +++ conf/cassandra.yaml | 5 +++-- src/java/org/apache/cassandra/config/EncryptionOptions.java | 6 +- 3 files changed, 15 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/ceddff58/CHANGES.txt -- diff --cc CHANGES.txt index ca4bcfb,688a759..9682073 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -36,6 -11,14 +36,13 @@@ Merged from 2.0 * Restore expiring-deleted (cell) compaction optimization (CASSANDRA-6844) * Fix CompactionManager.needsCleanup (CASSANDRA-6845) * Correctly compare BooleanType values other than 0 and 1 (CASSANDRA-6779) + * Read message id as string from earlier versions (CASSANDRA-6840) + * Properly use the Paxos consistency for (non-protocol) batch (CASSANDRA-6837) -Merged from 1.2: + * add extra SSL cipher suites (CASSANDRA-6613) + * fix nodetool getsstables for blob PK (CASSANDRA-6803) + + + 2.0.6 * Avoid race-prone second scrub of system keyspace (CASSANDRA-6797) * Pool CqlRecordWriter clients by inetaddress rather than Range (CASSANDRA-6665) http://git-wip-us.apache.org/repos/asf/cassandra/blob/ceddff58/conf/cassandra.yaml --
[02/10] git commit: Add extra SSL cipher suites.
Add extra SSL cipher suites. Patch by brandonwilliams, reviewed by Ray Sinnema for CASSANDRA-6613 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/3876eefd Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/3876eefd Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/3876eefd Branch: refs/heads/cassandra-2.0 Commit: 3876eefd11a849099150f19250f6c8fcd89579ee Parents: 8526347 Author: Brandon Williams brandonwilli...@apache.org Authored: Mon Mar 17 12:05:35 2014 -0500 Committer: Brandon Williams brandonwilli...@apache.org Committed: Mon Mar 17 12:05:35 2014 -0500 -- CHANGES.txt | 1 + conf/cassandra.yaml | 5 +++-- src/java/org/apache/cassandra/config/EncryptionOptions.java | 6 +- 3 files changed, 9 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/3876eefd/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 325c623..f88345d 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 1.2.16 + * add extra SSL cipher suites (CASSANDRA-6613) * fix nodetool getsstables for blob PK (CASSANDRA-6803) * Add CMSClassUnloadingEnabled JVM option (CASSANDRA-6541) * Catch memtable flush exceptions during shutdown (CASSANDRA-6735) http://git-wip-us.apache.org/repos/asf/cassandra/blob/3876eefd/conf/cassandra.yaml -- diff --git a/conf/cassandra.yaml b/conf/cassandra.yaml index 194a196..ecad3f0 100644 --- a/conf/cassandra.yaml +++ b/conf/cassandra.yaml @@ -651,6 +651,7 @@ index_interval: 128 # Default settings are TLS v1, RSA 1024-bit keys (it is imperative that # users generate their own keys) TLS_RSA_WITH_AES_128_CBC_SHA as the cipher # suite for authentication, key exchange and encryption of the actual data transfers. +# Use the DHE/ECDHE ciphers if running in FIPS 140 compliant mode. # NOTE: No custom encryption options are enabled at the moment # The available internode options are : all, none, dc, rack # @@ -671,7 +672,7 @@ server_encryption_options: # protocol: TLS # algorithm: SunX509 # store_type: JKS -# cipher_suites: [TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA] +# cipher_suites: [TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_DHE_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA] # require_client_auth: false # enable or disable client/server encryption. @@ -687,7 +688,7 @@ client_encryption_options: # protocol: TLS # algorithm: SunX509 # store_type: JKS -# cipher_suites: [TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA] +# cipher_suites: [TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_DHE_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA] # internode_compression controls whether traffic between nodes is # compressed. http://git-wip-us.apache.org/repos/asf/cassandra/blob/3876eefd/src/java/org/apache/cassandra/config/EncryptionOptions.java -- diff --git a/src/java/org/apache/cassandra/config/EncryptionOptions.java b/src/java/org/apache/cassandra/config/EncryptionOptions.java index f873636..945a15b 100644 --- a/src/java/org/apache/cassandra/config/EncryptionOptions.java +++ b/src/java/org/apache/cassandra/config/EncryptionOptions.java @@ -23,7 +23,11 @@ public abstract class EncryptionOptions public String keystore_password = cassandra; public String truststore = conf/.truststore; public String truststore_password = cassandra; -public String[] cipher_suites = {TLS_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_256_CBC_SHA}; +public String[] cipher_suites = { +TLS_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_256_CBC_SHA, +TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_256_CBC_SHA, +TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA +}; public String protocol = TLS; public String algorithm = SunX509; public String store_type = JKS;
[03/10] git commit: Add extra SSL cipher suites.
Add extra SSL cipher suites. Patch by brandonwilliams, reviewed by Ray Sinnema for CASSANDRA-6613 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/3876eefd Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/3876eefd Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/3876eefd Branch: refs/heads/cassandra-2.1 Commit: 3876eefd11a849099150f19250f6c8fcd89579ee Parents: 8526347 Author: Brandon Williams brandonwilli...@apache.org Authored: Mon Mar 17 12:05:35 2014 -0500 Committer: Brandon Williams brandonwilli...@apache.org Committed: Mon Mar 17 12:05:35 2014 -0500 -- CHANGES.txt | 1 + conf/cassandra.yaml | 5 +++-- src/java/org/apache/cassandra/config/EncryptionOptions.java | 6 +- 3 files changed, 9 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/3876eefd/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 325c623..f88345d 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 1.2.16 + * add extra SSL cipher suites (CASSANDRA-6613) * fix nodetool getsstables for blob PK (CASSANDRA-6803) * Add CMSClassUnloadingEnabled JVM option (CASSANDRA-6541) * Catch memtable flush exceptions during shutdown (CASSANDRA-6735) http://git-wip-us.apache.org/repos/asf/cassandra/blob/3876eefd/conf/cassandra.yaml -- diff --git a/conf/cassandra.yaml b/conf/cassandra.yaml index 194a196..ecad3f0 100644 --- a/conf/cassandra.yaml +++ b/conf/cassandra.yaml @@ -651,6 +651,7 @@ index_interval: 128 # Default settings are TLS v1, RSA 1024-bit keys (it is imperative that # users generate their own keys) TLS_RSA_WITH_AES_128_CBC_SHA as the cipher # suite for authentication, key exchange and encryption of the actual data transfers. +# Use the DHE/ECDHE ciphers if running in FIPS 140 compliant mode. # NOTE: No custom encryption options are enabled at the moment # The available internode options are : all, none, dc, rack # @@ -671,7 +672,7 @@ server_encryption_options: # protocol: TLS # algorithm: SunX509 # store_type: JKS -# cipher_suites: [TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA] +# cipher_suites: [TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_DHE_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA] # require_client_auth: false # enable or disable client/server encryption. @@ -687,7 +688,7 @@ client_encryption_options: # protocol: TLS # algorithm: SunX509 # store_type: JKS -# cipher_suites: [TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA] +# cipher_suites: [TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_DHE_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA] # internode_compression controls whether traffic between nodes is # compressed. http://git-wip-us.apache.org/repos/asf/cassandra/blob/3876eefd/src/java/org/apache/cassandra/config/EncryptionOptions.java -- diff --git a/src/java/org/apache/cassandra/config/EncryptionOptions.java b/src/java/org/apache/cassandra/config/EncryptionOptions.java index f873636..945a15b 100644 --- a/src/java/org/apache/cassandra/config/EncryptionOptions.java +++ b/src/java/org/apache/cassandra/config/EncryptionOptions.java @@ -23,7 +23,11 @@ public abstract class EncryptionOptions public String keystore_password = cassandra; public String truststore = conf/.truststore; public String truststore_password = cassandra; -public String[] cipher_suites = {TLS_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_256_CBC_SHA}; +public String[] cipher_suites = { +TLS_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_256_CBC_SHA, +TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_256_CBC_SHA, +TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA +}; public String protocol = TLS; public String algorithm = SunX509; public String store_type = JKS;
[05/10] git commit: Merge branch 'cassandra-1.2' into cassandra-2.0
Merge branch 'cassandra-1.2' into cassandra-2.0 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/98ed6a4b Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/98ed6a4b Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/98ed6a4b Branch: refs/heads/cassandra-2.1 Commit: 98ed6a4be065c3e68624e3f99dde992afc723671 Parents: 56e2b4a 3876eef Author: Brandon Williams brandonwilli...@apache.org Authored: Mon Mar 17 12:07:00 2014 -0500 Committer: Brandon Williams brandonwilli...@apache.org Committed: Mon Mar 17 12:07:00 2014 -0500 -- CHANGES.txt | 1 + conf/cassandra.yaml | 5 +++-- src/java/org/apache/cassandra/config/EncryptionOptions.java | 6 +- 3 files changed, 9 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/98ed6a4b/CHANGES.txt -- diff --cc CHANGES.txt index 2f708dc,f88345d..688a759 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,64 -1,10 +1,65 @@@ -1.2.16 +2.0.7 + * Fix handling of RejectedExecution in sync Thrift server (CASSANDRA-6788) + * Log more information when exceeding tombstone_warn_threshold (CASSANDRA-6865) + * Fix truncate to not abort due to unreachable fat clients (CASSANDRA-6864) + * Fix schema concurrency exceptions (CASSANDRA-6841) + * Fix leaking validator FH in StreamWriter (CASSANDRA-6832) + * Fix saving triggers to schema (CASSANDRA-6789) + * Fix trigger mutations when base mutation list is immutable (CASSANDRA-6790) + * Fix accounting in FileCacheService to allow re-using RAR (CASSANDRA-6838) + * Fix static counter columns (CASSANDRA-6827) + * Restore expiring-deleted (cell) compaction optimization (CASSANDRA-6844) + * Fix CompactionManager.needsCleanup (CASSANDRA-6845) + * Correctly compare BooleanType values other than 0 and 1 (CASSANDRA-6779) + * Read message id as string from earlier versions (CASSANDRA-6840) + * Properly use the Paxos consistency for (non-protocol) batch (CASSANDRA-6837) +Merged from 1.2: + * add extra SSL cipher suites (CASSANDRA-6613) * fix nodetool getsstables for blob PK (CASSANDRA-6803) + + +2.0.6 + * Avoid race-prone second scrub of system keyspace (CASSANDRA-6797) + * Pool CqlRecordWriter clients by inetaddress rather than Range + (CASSANDRA-6665) + * Fix compaction_history timestamps (CASSANDRA-6784) + * Compare scores of full replica ordering in DES (CASSANDRA-6883) + * fix CME in SessionInfo updateProgress affecting netstats (CASSANDRA-6577) + * Allow repairing between specific replicas (CASSANDRA-6440) + * Allow per-dc enabling of hints (CASSANDRA-6157) + * Add compatibility for Hadoop 0.2.x (CASSANDRA-5201) + * Fix EstimatedHistogram races (CASSANDRA-6682) + * Failure detector correctly converts initial value to nanos (CASSANDRA-6658) + * Add nodetool taketoken to relocate vnodes (CASSANDRA-4445) + * Fix upgradesstables NPE for non-CF-based indexes (CASSANDRA-6645) + * Improve nodetool cfhistograms formatting (CASSANDRA-6360) + * Expose bulk loading progress over JMX (CASSANDRA-4757) + * Correctly handle null with IF conditions and TTL (CASSANDRA-6623) + * Account for range/row tombstones in tombstone drop + time histogram (CASSANDRA-6522) + * Stop CommitLogSegment.close() from calling sync() (CASSANDRA-6652) + * Make commitlog failure handling configurable (CASSANDRA-6364) + * Avoid overlaps in LCS (CASSANDRA-6688) + * Improve support for paginating over composites (CASSANDRA-4851) + * Fix count(*) queries in a mixed cluster (CASSANDRA-6707) + * Improve repair tasks(snapshot, differencing) concurrency (CASSANDRA-6566) + * Fix replaying pre-2.0 commit logs (CASSANDRA-6714) + * Add static columns to CQL3 (CASSANDRA-6561) + * Optimize single partition batch statements (CASSANDRA-6737) + * Disallow post-query re-ordering when paging (CASSANDRA-6722) + * Fix potential paging bug with deleted columns (CASSANDRA-6748) + * Fix NPE on BulkLoader caused by losing StreamEvent (CASSANDRA-6636) + * Fix truncating compression metadata (CASSANDRA-6791) + * Fix UPDATE updating PRIMARY KEY columns implicitly (CASSANDRA-6782) + * Fix IllegalArgumentException when updating from 1.2 with SuperColumns + (CASSANDRA-6733) + * FBUtilities.singleton() should use the CF comparator (CASSANDRA-6778) + * Fix CQLSStableWriter.addRow(MapString, Object) (CASSANDRA-6526) + * Fix HSHA server introducing corrupt data (CASSANDRA-6285) + * Fix CAS conditions for COMPACT STORAGE tables (CASSANDRA-6813) +Merged from 1.2: * Add CMSClassUnloadingEnabled JVM option (CASSANDRA-6541) * Catch memtable flush exceptions during shutdown (CASSANDRA-6735) - * Don't
[07/10] git commit: Merge branch 'cassandra-1.2' into cassandra-2.0
Merge branch 'cassandra-1.2' into cassandra-2.0 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/98ed6a4b Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/98ed6a4b Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/98ed6a4b Branch: refs/heads/trunk Commit: 98ed6a4be065c3e68624e3f99dde992afc723671 Parents: 56e2b4a 3876eef Author: Brandon Williams brandonwilli...@apache.org Authored: Mon Mar 17 12:07:00 2014 -0500 Committer: Brandon Williams brandonwilli...@apache.org Committed: Mon Mar 17 12:07:00 2014 -0500 -- CHANGES.txt | 1 + conf/cassandra.yaml | 5 +++-- src/java/org/apache/cassandra/config/EncryptionOptions.java | 6 +- 3 files changed, 9 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/98ed6a4b/CHANGES.txt -- diff --cc CHANGES.txt index 2f708dc,f88345d..688a759 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,64 -1,10 +1,65 @@@ -1.2.16 +2.0.7 + * Fix handling of RejectedExecution in sync Thrift server (CASSANDRA-6788) + * Log more information when exceeding tombstone_warn_threshold (CASSANDRA-6865) + * Fix truncate to not abort due to unreachable fat clients (CASSANDRA-6864) + * Fix schema concurrency exceptions (CASSANDRA-6841) + * Fix leaking validator FH in StreamWriter (CASSANDRA-6832) + * Fix saving triggers to schema (CASSANDRA-6789) + * Fix trigger mutations when base mutation list is immutable (CASSANDRA-6790) + * Fix accounting in FileCacheService to allow re-using RAR (CASSANDRA-6838) + * Fix static counter columns (CASSANDRA-6827) + * Restore expiring-deleted (cell) compaction optimization (CASSANDRA-6844) + * Fix CompactionManager.needsCleanup (CASSANDRA-6845) + * Correctly compare BooleanType values other than 0 and 1 (CASSANDRA-6779) + * Read message id as string from earlier versions (CASSANDRA-6840) + * Properly use the Paxos consistency for (non-protocol) batch (CASSANDRA-6837) +Merged from 1.2: + * add extra SSL cipher suites (CASSANDRA-6613) * fix nodetool getsstables for blob PK (CASSANDRA-6803) + + +2.0.6 + * Avoid race-prone second scrub of system keyspace (CASSANDRA-6797) + * Pool CqlRecordWriter clients by inetaddress rather than Range + (CASSANDRA-6665) + * Fix compaction_history timestamps (CASSANDRA-6784) + * Compare scores of full replica ordering in DES (CASSANDRA-6883) + * fix CME in SessionInfo updateProgress affecting netstats (CASSANDRA-6577) + * Allow repairing between specific replicas (CASSANDRA-6440) + * Allow per-dc enabling of hints (CASSANDRA-6157) + * Add compatibility for Hadoop 0.2.x (CASSANDRA-5201) + * Fix EstimatedHistogram races (CASSANDRA-6682) + * Failure detector correctly converts initial value to nanos (CASSANDRA-6658) + * Add nodetool taketoken to relocate vnodes (CASSANDRA-4445) + * Fix upgradesstables NPE for non-CF-based indexes (CASSANDRA-6645) + * Improve nodetool cfhistograms formatting (CASSANDRA-6360) + * Expose bulk loading progress over JMX (CASSANDRA-4757) + * Correctly handle null with IF conditions and TTL (CASSANDRA-6623) + * Account for range/row tombstones in tombstone drop + time histogram (CASSANDRA-6522) + * Stop CommitLogSegment.close() from calling sync() (CASSANDRA-6652) + * Make commitlog failure handling configurable (CASSANDRA-6364) + * Avoid overlaps in LCS (CASSANDRA-6688) + * Improve support for paginating over composites (CASSANDRA-4851) + * Fix count(*) queries in a mixed cluster (CASSANDRA-6707) + * Improve repair tasks(snapshot, differencing) concurrency (CASSANDRA-6566) + * Fix replaying pre-2.0 commit logs (CASSANDRA-6714) + * Add static columns to CQL3 (CASSANDRA-6561) + * Optimize single partition batch statements (CASSANDRA-6737) + * Disallow post-query re-ordering when paging (CASSANDRA-6722) + * Fix potential paging bug with deleted columns (CASSANDRA-6748) + * Fix NPE on BulkLoader caused by losing StreamEvent (CASSANDRA-6636) + * Fix truncating compression metadata (CASSANDRA-6791) + * Fix UPDATE updating PRIMARY KEY columns implicitly (CASSANDRA-6782) + * Fix IllegalArgumentException when updating from 1.2 with SuperColumns + (CASSANDRA-6733) + * FBUtilities.singleton() should use the CF comparator (CASSANDRA-6778) + * Fix CQLSStableWriter.addRow(MapString, Object) (CASSANDRA-6526) + * Fix HSHA server introducing corrupt data (CASSANDRA-6285) + * Fix CAS conditions for COMPACT STORAGE tables (CASSANDRA-6813) +Merged from 1.2: * Add CMSClassUnloadingEnabled JVM option (CASSANDRA-6541) * Catch memtable flush exceptions during shutdown (CASSANDRA-6735) - * Don't attempt
[06/10] git commit: Merge branch 'cassandra-1.2' into cassandra-2.0
Merge branch 'cassandra-1.2' into cassandra-2.0 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/98ed6a4b Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/98ed6a4b Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/98ed6a4b Branch: refs/heads/cassandra-2.0 Commit: 98ed6a4be065c3e68624e3f99dde992afc723671 Parents: 56e2b4a 3876eef Author: Brandon Williams brandonwilli...@apache.org Authored: Mon Mar 17 12:07:00 2014 -0500 Committer: Brandon Williams brandonwilli...@apache.org Committed: Mon Mar 17 12:07:00 2014 -0500 -- CHANGES.txt | 1 + conf/cassandra.yaml | 5 +++-- src/java/org/apache/cassandra/config/EncryptionOptions.java | 6 +- 3 files changed, 9 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/98ed6a4b/CHANGES.txt -- diff --cc CHANGES.txt index 2f708dc,f88345d..688a759 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,64 -1,10 +1,65 @@@ -1.2.16 +2.0.7 + * Fix handling of RejectedExecution in sync Thrift server (CASSANDRA-6788) + * Log more information when exceeding tombstone_warn_threshold (CASSANDRA-6865) + * Fix truncate to not abort due to unreachable fat clients (CASSANDRA-6864) + * Fix schema concurrency exceptions (CASSANDRA-6841) + * Fix leaking validator FH in StreamWriter (CASSANDRA-6832) + * Fix saving triggers to schema (CASSANDRA-6789) + * Fix trigger mutations when base mutation list is immutable (CASSANDRA-6790) + * Fix accounting in FileCacheService to allow re-using RAR (CASSANDRA-6838) + * Fix static counter columns (CASSANDRA-6827) + * Restore expiring-deleted (cell) compaction optimization (CASSANDRA-6844) + * Fix CompactionManager.needsCleanup (CASSANDRA-6845) + * Correctly compare BooleanType values other than 0 and 1 (CASSANDRA-6779) + * Read message id as string from earlier versions (CASSANDRA-6840) + * Properly use the Paxos consistency for (non-protocol) batch (CASSANDRA-6837) +Merged from 1.2: + * add extra SSL cipher suites (CASSANDRA-6613) * fix nodetool getsstables for blob PK (CASSANDRA-6803) + + +2.0.6 + * Avoid race-prone second scrub of system keyspace (CASSANDRA-6797) + * Pool CqlRecordWriter clients by inetaddress rather than Range + (CASSANDRA-6665) + * Fix compaction_history timestamps (CASSANDRA-6784) + * Compare scores of full replica ordering in DES (CASSANDRA-6883) + * fix CME in SessionInfo updateProgress affecting netstats (CASSANDRA-6577) + * Allow repairing between specific replicas (CASSANDRA-6440) + * Allow per-dc enabling of hints (CASSANDRA-6157) + * Add compatibility for Hadoop 0.2.x (CASSANDRA-5201) + * Fix EstimatedHistogram races (CASSANDRA-6682) + * Failure detector correctly converts initial value to nanos (CASSANDRA-6658) + * Add nodetool taketoken to relocate vnodes (CASSANDRA-4445) + * Fix upgradesstables NPE for non-CF-based indexes (CASSANDRA-6645) + * Improve nodetool cfhistograms formatting (CASSANDRA-6360) + * Expose bulk loading progress over JMX (CASSANDRA-4757) + * Correctly handle null with IF conditions and TTL (CASSANDRA-6623) + * Account for range/row tombstones in tombstone drop + time histogram (CASSANDRA-6522) + * Stop CommitLogSegment.close() from calling sync() (CASSANDRA-6652) + * Make commitlog failure handling configurable (CASSANDRA-6364) + * Avoid overlaps in LCS (CASSANDRA-6688) + * Improve support for paginating over composites (CASSANDRA-4851) + * Fix count(*) queries in a mixed cluster (CASSANDRA-6707) + * Improve repair tasks(snapshot, differencing) concurrency (CASSANDRA-6566) + * Fix replaying pre-2.0 commit logs (CASSANDRA-6714) + * Add static columns to CQL3 (CASSANDRA-6561) + * Optimize single partition batch statements (CASSANDRA-6737) + * Disallow post-query re-ordering when paging (CASSANDRA-6722) + * Fix potential paging bug with deleted columns (CASSANDRA-6748) + * Fix NPE on BulkLoader caused by losing StreamEvent (CASSANDRA-6636) + * Fix truncating compression metadata (CASSANDRA-6791) + * Fix UPDATE updating PRIMARY KEY columns implicitly (CASSANDRA-6782) + * Fix IllegalArgumentException when updating from 1.2 with SuperColumns + (CASSANDRA-6733) + * FBUtilities.singleton() should use the CF comparator (CASSANDRA-6778) + * Fix CQLSStableWriter.addRow(MapString, Object) (CASSANDRA-6526) + * Fix HSHA server introducing corrupt data (CASSANDRA-6285) + * Fix CAS conditions for COMPACT STORAGE tables (CASSANDRA-6813) +Merged from 1.2: * Add CMSClassUnloadingEnabled JVM option (CASSANDRA-6541) * Catch memtable flush exceptions during shutdown (CASSANDRA-6735) - * Don't
[10/10] 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/69cadca3 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/69cadca3 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/69cadca3 Branch: refs/heads/trunk Commit: 69cadca33fa86fe9df5fe78c936ff34250d2054a Parents: c3d9280 ceddff5 Author: Brandon Williams brandonwilli...@apache.org Authored: Mon Mar 17 12:08:24 2014 -0500 Committer: Brandon Williams brandonwilli...@apache.org Committed: Mon Mar 17 12:08:24 2014 -0500 -- CHANGES.txt | 7 +++ conf/cassandra.yaml | 5 +++-- src/java/org/apache/cassandra/config/EncryptionOptions.java | 6 +- 3 files changed, 15 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/69cadca3/CHANGES.txt --
[01/10] git commit: Add extra SSL cipher suites.
Repository: cassandra Updated Branches: refs/heads/cassandra-1.2 8526347ca - 3876eefd1 refs/heads/cassandra-2.0 56e2b4ac0 - 98ed6a4be refs/heads/cassandra-2.1 dd60ab474 - ceddff58f refs/heads/trunk c3d9280e4 - 69cadca33 Add extra SSL cipher suites. Patch by brandonwilliams, reviewed by Ray Sinnema for CASSANDRA-6613 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/3876eefd Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/3876eefd Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/3876eefd Branch: refs/heads/cassandra-1.2 Commit: 3876eefd11a849099150f19250f6c8fcd89579ee Parents: 8526347 Author: Brandon Williams brandonwilli...@apache.org Authored: Mon Mar 17 12:05:35 2014 -0500 Committer: Brandon Williams brandonwilli...@apache.org Committed: Mon Mar 17 12:05:35 2014 -0500 -- CHANGES.txt | 1 + conf/cassandra.yaml | 5 +++-- src/java/org/apache/cassandra/config/EncryptionOptions.java | 6 +- 3 files changed, 9 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/3876eefd/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 325c623..f88345d 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 1.2.16 + * add extra SSL cipher suites (CASSANDRA-6613) * fix nodetool getsstables for blob PK (CASSANDRA-6803) * Add CMSClassUnloadingEnabled JVM option (CASSANDRA-6541) * Catch memtable flush exceptions during shutdown (CASSANDRA-6735) http://git-wip-us.apache.org/repos/asf/cassandra/blob/3876eefd/conf/cassandra.yaml -- diff --git a/conf/cassandra.yaml b/conf/cassandra.yaml index 194a196..ecad3f0 100644 --- a/conf/cassandra.yaml +++ b/conf/cassandra.yaml @@ -651,6 +651,7 @@ index_interval: 128 # Default settings are TLS v1, RSA 1024-bit keys (it is imperative that # users generate their own keys) TLS_RSA_WITH_AES_128_CBC_SHA as the cipher # suite for authentication, key exchange and encryption of the actual data transfers. +# Use the DHE/ECDHE ciphers if running in FIPS 140 compliant mode. # NOTE: No custom encryption options are enabled at the moment # The available internode options are : all, none, dc, rack # @@ -671,7 +672,7 @@ server_encryption_options: # protocol: TLS # algorithm: SunX509 # store_type: JKS -# cipher_suites: [TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA] +# cipher_suites: [TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_DHE_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA] # require_client_auth: false # enable or disable client/server encryption. @@ -687,7 +688,7 @@ client_encryption_options: # protocol: TLS # algorithm: SunX509 # store_type: JKS -# cipher_suites: [TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA] +# cipher_suites: [TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_DHE_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA] # internode_compression controls whether traffic between nodes is # compressed. http://git-wip-us.apache.org/repos/asf/cassandra/blob/3876eefd/src/java/org/apache/cassandra/config/EncryptionOptions.java -- diff --git a/src/java/org/apache/cassandra/config/EncryptionOptions.java b/src/java/org/apache/cassandra/config/EncryptionOptions.java index f873636..945a15b 100644 --- a/src/java/org/apache/cassandra/config/EncryptionOptions.java +++ b/src/java/org/apache/cassandra/config/EncryptionOptions.java @@ -23,7 +23,11 @@ public abstract class EncryptionOptions public String keystore_password = cassandra; public String truststore = conf/.truststore; public String truststore_password = cassandra; -public String[] cipher_suites = {TLS_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_256_CBC_SHA}; +public String[] cipher_suites = { +TLS_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_256_CBC_SHA, +TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_RSA_WITH_AES_256_CBC_SHA, +TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA +}; public String protocol = TLS; public String algorithm = SunX509; public String store_type = JKS;
[jira] [Commented] (CASSANDRA-6871) Dynamic class loading for triggers (and udfs)
[ https://issues.apache.org/jira/browse/CASSANDRA-6871?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13938057#comment-13938057 ] Edward Capriolo commented on CASSANDRA-6871: {quote} Ultimately what I'd like to see is CREATE TRIGGER specify a UDF, with UDF support for multiple languages a la postgresq {quote} I think we are in agreement. Right now when you create a trigger you only specify a class name. The syntax would be something like this {code} create trigger abc options {classname='abc', spec='groovy' script=' public class {' {code} The spec could be any language and the script could be any language. clojure, jruby etc. Dynamic class loading for triggers (and udfs) - Key: CASSANDRA-6871 URL: https://issues.apache.org/jira/browse/CASSANDRA-6871 Project: Cassandra Issue Type: New Feature Reporter: Edward Capriolo Assignee: Edward Capriolo Currently the trigger feature requires out of band shipping jar files to servers. In the near future users may be able to provide custom functions like trim() dynamically like pig and hive do. In order to accomplish this securely my suggestion is this. 1. Add a new configuration knob to cassandra.yaml which controls how users are allowed to load class definitions. {code} dynamic_loading: - JAVA_LOCAL_CLASSPATH - GROOVY_CLASS_LOADER {code} 2. Add the https://github.com/edwardcapriolo/nit-compiler to the project as a dependency. 3. Profit: A follow on piece would allow triggers to be defined in a JVM language. Features like https://issues.apache.org/jira/browse/CASSANDRA-6870 could use this. Users can also create different pluggable components to CQL at runtime. This issue would just be about brining the dynamic loading mechanism in the project securely. Not implementing it in a user facincg way. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CASSANDRA-6871) Dynamic class loading for triggers (and udfs)
[ https://issues.apache.org/jira/browse/CASSANDRA-6871?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13938062#comment-13938062 ] Edward Capriolo commented on CASSANDRA-6871: {quote} It sounds like I'd still be shipping jars around {quote} You have the option of placing the payload of the UDF in the script field if the spec supports its. Dynamic class loading for triggers (and udfs) - Key: CASSANDRA-6871 URL: https://issues.apache.org/jira/browse/CASSANDRA-6871 Project: Cassandra Issue Type: New Feature Reporter: Edward Capriolo Assignee: Edward Capriolo Currently the trigger feature requires out of band shipping jar files to servers. In the near future users may be able to provide custom functions like trim() dynamically like pig and hive do. In order to accomplish this securely my suggestion is this. 1. Add a new configuration knob to cassandra.yaml which controls how users are allowed to load class definitions. {code} dynamic_loading: - JAVA_LOCAL_CLASSPATH - GROOVY_CLASS_LOADER {code} 2. Add the https://github.com/edwardcapriolo/nit-compiler to the project as a dependency. 3. Profit: A follow on piece would allow triggers to be defined in a JVM language. Features like https://issues.apache.org/jira/browse/CASSANDRA-6870 could use this. Users can also create different pluggable components to CQL at runtime. This issue would just be about brining the dynamic loading mechanism in the project securely. Not implementing it in a user facincg way. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Comment Edited] (CASSANDRA-6871) Dynamic class loading for triggers (and udfs)
[ https://issues.apache.org/jira/browse/CASSANDRA-6871?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13938062#comment-13938062 ] Edward Capriolo edited comment on CASSANDRA-6871 at 3/17/14 5:16 PM: - {quote} It sounds like I'd still be shipping jars around {quote} No. You have the option of placing the payload of the UDF in the script field if the spec supports it. However the old way will work as well. was (Author: appodictic): {quote} It sounds like I'd still be shipping jars around {quote} You have the option of placing the payload of the UDF in the script field if the spec supports its. Dynamic class loading for triggers (and udfs) - Key: CASSANDRA-6871 URL: https://issues.apache.org/jira/browse/CASSANDRA-6871 Project: Cassandra Issue Type: New Feature Reporter: Edward Capriolo Assignee: Edward Capriolo Currently the trigger feature requires out of band shipping jar files to servers. In the near future users may be able to provide custom functions like trim() dynamically like pig and hive do. In order to accomplish this securely my suggestion is this. 1. Add a new configuration knob to cassandra.yaml which controls how users are allowed to load class definitions. {code} dynamic_loading: - JAVA_LOCAL_CLASSPATH - GROOVY_CLASS_LOADER {code} 2. Add the https://github.com/edwardcapriolo/nit-compiler to the project as a dependency. 3. Profit: A follow on piece would allow triggers to be defined in a JVM language. Features like https://issues.apache.org/jira/browse/CASSANDRA-6870 could use this. Users can also create different pluggable components to CQL at runtime. This issue would just be about brining the dynamic loading mechanism in the project securely. Not implementing it in a user facincg way. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Comment Edited] (CASSANDRA-6871) Dynamic class loading for triggers (and udfs)
[ https://issues.apache.org/jira/browse/CASSANDRA-6871?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13938062#comment-13938062 ] Edward Capriolo edited comment on CASSANDRA-6871 at 3/17/14 5:17 PM: - {quote} It sounds like I'd still be shipping jars around {quote} No. You have the option of placing the payload of the trigger in the script field if the spec supports it. However the old way will work as well. was (Author: appodictic): {quote} It sounds like I'd still be shipping jars around {quote} No. You have the option of placing the payload of the UDF in the script field if the spec supports it. However the old way will work as well. Dynamic class loading for triggers (and udfs) - Key: CASSANDRA-6871 URL: https://issues.apache.org/jira/browse/CASSANDRA-6871 Project: Cassandra Issue Type: New Feature Reporter: Edward Capriolo Assignee: Edward Capriolo Currently the trigger feature requires out of band shipping jar files to servers. In the near future users may be able to provide custom functions like trim() dynamically like pig and hive do. In order to accomplish this securely my suggestion is this. 1. Add a new configuration knob to cassandra.yaml which controls how users are allowed to load class definitions. {code} dynamic_loading: - JAVA_LOCAL_CLASSPATH - GROOVY_CLASS_LOADER {code} 2. Add the https://github.com/edwardcapriolo/nit-compiler to the project as a dependency. 3. Profit: A follow on piece would allow triggers to be defined in a JVM language. Features like https://issues.apache.org/jira/browse/CASSANDRA-6870 could use this. Users can also create different pluggable components to CQL at runtime. This issue would just be about brining the dynamic loading mechanism in the project securely. Not implementing it in a user facincg way. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Created] (CASSANDRA-6875) CQL3: select multiple CQL rows in a single partition using IN
Nicolas Favre-Felix created CASSANDRA-6875: -- Summary: CQL3: select multiple CQL rows in a single partition using IN Key: CASSANDRA-6875 URL: https://issues.apache.org/jira/browse/CASSANDRA-6875 Project: Cassandra Issue Type: Bug Components: API Reporter: Nicolas Favre-Felix In the spirit of CASSANDRA-4851 and to bring CQL to parity with Thrift, it is important to support reading several distinct CQL rows from a given partition using a distinct set of coordinates for these rows within the partition. CASSANDRA-4851 introduced a range scan over the multi-dimensional space of clustering keys. We also need to support a multi-get of CQL rows, potentially using the IN keyword to define a set of clustering keys to fetch at once. (reusing the same example\:) Consider the following table: {code} CREATE TABLE test ( k int, c1 int, c2 int, PRIMARY KEY (k, c1, c2) ); {code} with the following data: {code} k | c1 | c2 ---++ 0 | 0 | 0 0 | 0 | 1 0 | 1 | 0 0 | 1 | 1 {code} We can fetch a single row or a range of rows, but not a set of them: {code} SELECT * FROM test WHERE k = 0 AND (c1, c2) IN ((0, 0), (1,1)) ; Bad Request: line 1:54 missing EOF at ',' {code} Supporting this syntax would return: {code} k | c1 | c2 ---++ 0 | 0 | 0 0 | 1 | 1 {code} Being able to fetch these two CQL rows in a single read is important to maintain partition-level isolation. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Updated] (CASSANDRA-6875) CQL3: select multiple CQL rows in a single partition using IN
[ https://issues.apache.org/jira/browse/CASSANDRA-6875?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Sylvain Lebresne updated CASSANDRA-6875: Assignee: Tyler Hobbs CQL3: select multiple CQL rows in a single partition using IN - Key: CASSANDRA-6875 URL: https://issues.apache.org/jira/browse/CASSANDRA-6875 Project: Cassandra Issue Type: Bug Components: API Reporter: Nicolas Favre-Felix Assignee: Tyler Hobbs In the spirit of CASSANDRA-4851 and to bring CQL to parity with Thrift, it is important to support reading several distinct CQL rows from a given partition using a distinct set of coordinates for these rows within the partition. CASSANDRA-4851 introduced a range scan over the multi-dimensional space of clustering keys. We also need to support a multi-get of CQL rows, potentially using the IN keyword to define a set of clustering keys to fetch at once. (reusing the same example\:) Consider the following table: {code} CREATE TABLE test ( k int, c1 int, c2 int, PRIMARY KEY (k, c1, c2) ); {code} with the following data: {code} k | c1 | c2 ---++ 0 | 0 | 0 0 | 0 | 1 0 | 1 | 0 0 | 1 | 1 {code} We can fetch a single row or a range of rows, but not a set of them: {code} SELECT * FROM test WHERE k = 0 AND (c1, c2) IN ((0, 0), (1,1)) ; Bad Request: line 1:54 missing EOF at ',' {code} Supporting this syntax would return: {code} k | c1 | c2 ---++ 0 | 0 | 0 0 | 1 | 1 {code} Being able to fetch these two CQL rows in a single read is important to maintain partition-level isolation. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Updated] (CASSANDRA-6875) CQL3: select multiple CQL rows in a single partition using IN
[ https://issues.apache.org/jira/browse/CASSANDRA-6875?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Sylvain Lebresne updated CASSANDRA-6875: Priority: Minor (was: Major) CQL3: select multiple CQL rows in a single partition using IN - Key: CASSANDRA-6875 URL: https://issues.apache.org/jira/browse/CASSANDRA-6875 Project: Cassandra Issue Type: Bug Components: API Reporter: Nicolas Favre-Felix Assignee: Tyler Hobbs Priority: Minor In the spirit of CASSANDRA-4851 and to bring CQL to parity with Thrift, it is important to support reading several distinct CQL rows from a given partition using a distinct set of coordinates for these rows within the partition. CASSANDRA-4851 introduced a range scan over the multi-dimensional space of clustering keys. We also need to support a multi-get of CQL rows, potentially using the IN keyword to define a set of clustering keys to fetch at once. (reusing the same example\:) Consider the following table: {code} CREATE TABLE test ( k int, c1 int, c2 int, PRIMARY KEY (k, c1, c2) ); {code} with the following data: {code} k | c1 | c2 ---++ 0 | 0 | 0 0 | 0 | 1 0 | 1 | 0 0 | 1 | 1 {code} We can fetch a single row or a range of rows, but not a set of them: {code} SELECT * FROM test WHERE k = 0 AND (c1, c2) IN ((0, 0), (1,1)) ; Bad Request: line 1:54 missing EOF at ',' {code} Supporting this syntax would return: {code} k | c1 | c2 ---++ 0 | 0 | 0 0 | 1 | 1 {code} Being able to fetch these two CQL rows in a single read is important to maintain partition-level isolation. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Updated] (CASSANDRA-6814) We should ensure that AbstractReadExecutor.makeDigestRequests never calls the local machine
[ https://issues.apache.org/jira/browse/CASSANDRA-6814?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vijay updated CASSANDRA-6814: - Attachment: 0001-CASSANDRA-6814.patch Attached is a simple patch which moves the localhost comparison (priority) to AbstractEndpointSnitch.sortByProximity so the dynamic snitch will not overwrite comparing the scores. The motivation for this change is to avoid another sort, let me know if this works. My tests shows the assertion added doesn't break. We should ensure that AbstractReadExecutor.makeDigestRequests never calls the local machine --- Key: CASSANDRA-6814 URL: https://issues.apache.org/jira/browse/CASSANDRA-6814 Project: Cassandra Issue Type: Improvement Reporter: Benedict Assignee: Vijay Priority: Minor Fix For: 3.0 Attachments: 0001-CASSANDRA-6814.patch It should always opt to perform the actual read locally, when possible, and this code path should assert that it does not read locally. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Updated] (CASSANDRA-6646) Disk Failure Policy ignores CorruptBlockException
[ https://issues.apache.org/jira/browse/CASSANDRA-6646?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Marcus Eriksson updated CASSANDRA-6646: --- Attachment: 0001-add-paranoid-disk-failure-option.patch add paranoid DiskFailurePolicy for CorruptSSTableExceptions Disk Failure Policy ignores CorruptBlockException -- Key: CASSANDRA-6646 URL: https://issues.apache.org/jira/browse/CASSANDRA-6646 Project: Cassandra Issue Type: Bug Reporter: sankalp kohli Assignee: Marcus Eriksson Priority: Minor Fix For: 2.0.7, 2.1 beta2 Attachments: 0001-add-paranoid-disk-failure-option.patch, 0001-make-CorruptSSTableException-an-FSError-to-be-able-t.patch If Cassandra is using compression and has a bad drive or stable, it will throw an CorruptBlockException. Disk Failure Policy only works if it is an FSError and does not work for IOExceptions like this. We need to better handle such exceptions as it causes nodes to not respond to the co-ordinator causing the client to timeout. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Comment Edited] (CASSANDRA-6814) We should ensure that AbstractReadExecutor.makeDigestRequests never calls the local machine
[ https://issues.apache.org/jira/browse/CASSANDRA-6814?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13938097#comment-13938097 ] Vijay edited comment on CASSANDRA-6814 at 3/17/14 5:47 PM: --- Attached is a simple patch which moves the localhost comparison (priority) to AbstractEndpointSnitch.sortByProximity so the dynamic snitch will not overwrite comparing the scores. cc [~brandon.williams] The motivation for this change is to avoid another sort, let me know if this works. My tests shows the assertion added doesn't break. was (Author: vijay2...@yahoo.com): Attached is a simple patch which moves the localhost comparison (priority) to AbstractEndpointSnitch.sortByProximity so the dynamic snitch will not overwrite comparing the scores. The motivation for this change is to avoid another sort, let me know if this works. My tests shows the assertion added doesn't break. We should ensure that AbstractReadExecutor.makeDigestRequests never calls the local machine --- Key: CASSANDRA-6814 URL: https://issues.apache.org/jira/browse/CASSANDRA-6814 Project: Cassandra Issue Type: Improvement Reporter: Benedict Assignee: Vijay Priority: Minor Fix For: 3.0 Attachments: 0001-CASSANDRA-6814.patch It should always opt to perform the actual read locally, when possible, and this code path should assert that it does not read locally. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CASSANDRA-6875) CQL3: select multiple CQL rows in a single partition using IN
[ https://issues.apache.org/jira/browse/CASSANDRA-6875?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13938104#comment-13938104 ] Sylvain Lebresne commented on CASSANDRA-6875: - That's a relatively nature extension of CASSANDRA-4851 and we can definitively support that. CQL3: select multiple CQL rows in a single partition using IN - Key: CASSANDRA-6875 URL: https://issues.apache.org/jira/browse/CASSANDRA-6875 Project: Cassandra Issue Type: Bug Components: API Reporter: Nicolas Favre-Felix Assignee: Tyler Hobbs Priority: Minor Fix For: 2.1 In the spirit of CASSANDRA-4851 and to bring CQL to parity with Thrift, it is important to support reading several distinct CQL rows from a given partition using a distinct set of coordinates for these rows within the partition. CASSANDRA-4851 introduced a range scan over the multi-dimensional space of clustering keys. We also need to support a multi-get of CQL rows, potentially using the IN keyword to define a set of clustering keys to fetch at once. (reusing the same example\:) Consider the following table: {code} CREATE TABLE test ( k int, c1 int, c2 int, PRIMARY KEY (k, c1, c2) ); {code} with the following data: {code} k | c1 | c2 ---++ 0 | 0 | 0 0 | 0 | 1 0 | 1 | 0 0 | 1 | 1 {code} We can fetch a single row or a range of rows, but not a set of them: {code} SELECT * FROM test WHERE k = 0 AND (c1, c2) IN ((0, 0), (1,1)) ; Bad Request: line 1:54 missing EOF at ',' {code} Supporting this syntax would return: {code} k | c1 | c2 ---++ 0 | 0 | 0 0 | 1 | 1 {code} Being able to fetch these two CQL rows in a single read is important to maintain partition-level isolation. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Updated] (CASSANDRA-6875) CQL3: select multiple CQL rows in a single partition using IN
[ https://issues.apache.org/jira/browse/CASSANDRA-6875?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Sylvain Lebresne updated CASSANDRA-6875: Fix Version/s: 2.1 CQL3: select multiple CQL rows in a single partition using IN - Key: CASSANDRA-6875 URL: https://issues.apache.org/jira/browse/CASSANDRA-6875 Project: Cassandra Issue Type: Bug Components: API Reporter: Nicolas Favre-Felix Assignee: Tyler Hobbs Priority: Minor Fix For: 2.1 In the spirit of CASSANDRA-4851 and to bring CQL to parity with Thrift, it is important to support reading several distinct CQL rows from a given partition using a distinct set of coordinates for these rows within the partition. CASSANDRA-4851 introduced a range scan over the multi-dimensional space of clustering keys. We also need to support a multi-get of CQL rows, potentially using the IN keyword to define a set of clustering keys to fetch at once. (reusing the same example\:) Consider the following table: {code} CREATE TABLE test ( k int, c1 int, c2 int, PRIMARY KEY (k, c1, c2) ); {code} with the following data: {code} k | c1 | c2 ---++ 0 | 0 | 0 0 | 0 | 1 0 | 1 | 0 0 | 1 | 1 {code} We can fetch a single row or a range of rows, but not a set of them: {code} SELECT * FROM test WHERE k = 0 AND (c1, c2) IN ((0, 0), (1,1)) ; Bad Request: line 1:54 missing EOF at ',' {code} Supporting this syntax would return: {code} k | c1 | c2 ---++ 0 | 0 | 0 0 | 1 | 1 {code} Being able to fetch these two CQL rows in a single read is important to maintain partition-level isolation. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Reopened] (CASSANDRA-6418) auto_snapshots are not removable via 'nodetool clearsnapshot'
[ https://issues.apache.org/jira/browse/CASSANDRA-6418?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Nick Bailey reopened CASSANDRA-6418: Re-opening, let me know if I should create a separate ticket. auto_snapshots are not removable via 'nodetool clearsnapshot' - Key: CASSANDRA-6418 URL: https://issues.apache.org/jira/browse/CASSANDRA-6418 Project: Cassandra Issue Type: Bug Components: Tools Environment: auto_snapshot: true Reporter: J. Ryan Earl Assignee: Lyuben Todorov Priority: Minor Fix For: 2.0.5 Attachments: 6418_cassandra-2.0.patch, 6418_cassandra-2.0_v5.patch, 6418_v2.patch, 6418_v3_cassandra-2.0.patch, CASSANDRA-2.0-6418_v4.patch Snapshots of deleted CFs created via the auto_snapshot configuration parameter appear to not be tracked. The result is that 'nodetool clearsnapshot keyspace with deleted CFs' does nothing, and short of manually removing the files from the filesystem, deleted CFs remain indefinitely taking up space. I'm not sure if this is intended, but it seems pretty counter-intuitive. I haven't found any documentation that indicates auto_snapshots would be ignored by 'nodetool clearsnapshot'. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CASSANDRA-6774) Cleanup fails with assertion error after stopping previous run
[ https://issues.apache.org/jira/browse/CASSANDRA-6774?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13938125#comment-13938125 ] Marcus Eriksson commented on CASSANDRA-6774: hmm i guess we shouldn't change the signatures of the exposed mbean methods in a minor rev lets go 2.1 and leave 2.0 with the assertion, as it is mostly a cosmetic change Cleanup fails with assertion error after stopping previous run -- Key: CASSANDRA-6774 URL: https://issues.apache.org/jira/browse/CASSANDRA-6774 Project: Cassandra Issue Type: Bug Components: Core Environment: 2.0.5 Reporter: Keith Wright Assignee: Marcus Eriksson Fix For: 2.1 beta2 Attachments: 0001-6774-wip.patch, 0001-Dont-continue-after-failing-to-cancel-in-progress-co.patch, 6774-v2.txt I am stress testing a new 2.0.5 cluster and did the following: - start decommission during heavy write, moderate read load - trigger cleanup on non-decommissioning node (nodetool cleanup) - Started to see higher GC load stop stopped cleanup via nodetool stop CLEANUP - attempt to launch cleanup now fails with the following message in console. Cassandra log shows: http://aep.appspot.com/display/cKmlMcDuKD72iYAcBykDuVZkRWY/ -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Updated] (CASSANDRA-6774) Cleanup fails with assertion error after stopping previous run
[ https://issues.apache.org/jira/browse/CASSANDRA-6774?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Marcus Eriksson updated CASSANDRA-6774: --- Fix Version/s: (was: 2.0.7) 2.1 beta2 Cleanup fails with assertion error after stopping previous run -- Key: CASSANDRA-6774 URL: https://issues.apache.org/jira/browse/CASSANDRA-6774 Project: Cassandra Issue Type: Bug Components: Core Environment: 2.0.5 Reporter: Keith Wright Assignee: Marcus Eriksson Fix For: 2.1 beta2 Attachments: 0001-6774-wip.patch, 0001-Dont-continue-after-failing-to-cancel-in-progress-co.patch, 6774-v2.txt I am stress testing a new 2.0.5 cluster and did the following: - start decommission during heavy write, moderate read load - trigger cleanup on non-decommissioning node (nodetool cleanup) - Started to see higher GC load stop stopped cleanup via nodetool stop CLEANUP - attempt to launch cleanup now fails with the following message in console. Cassandra log shows: http://aep.appspot.com/display/cKmlMcDuKD72iYAcBykDuVZkRWY/ -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CASSANDRA-6646) Disk Failure Policy ignores CorruptBlockException
[ https://issues.apache.org/jira/browse/CASSANDRA-6646?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13938127#comment-13938127 ] Jonathan Ellis commented on CASSANDRA-6646: --- sorry to bikeshed myself, maybe rename to stop_paranoid to emphasize that it shares behavior with stop? where did stopTransports get introduced? i don't see it on trunk. Disk Failure Policy ignores CorruptBlockException -- Key: CASSANDRA-6646 URL: https://issues.apache.org/jira/browse/CASSANDRA-6646 Project: Cassandra Issue Type: Bug Reporter: sankalp kohli Assignee: Marcus Eriksson Priority: Minor Fix For: 2.0.7, 2.1 beta2 Attachments: 0001-add-paranoid-disk-failure-option.patch, 0001-make-CorruptSSTableException-an-FSError-to-be-able-t.patch If Cassandra is using compression and has a bad drive or stable, it will throw an CorruptBlockException. Disk Failure Policy only works if it is an FSError and does not work for IOExceptions like this. We need to better handle such exceptions as it causes nodes to not respond to the co-ordinator causing the client to timeout. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Updated] (CASSANDRA-6821) Cassandra can't delete snapshots for keyspaces that no longer exist.
[ https://issues.apache.org/jira/browse/CASSANDRA-6821?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mikhail Stepura updated CASSANDRA-6821: --- Description: If you drop a keyspace you can no longer clean up the snapshots for that keyspace without resorting to the command line. It would be nice to be able clean up those via jmx, especially for external tools. (was: If you drop a keyspace or table you can no longer clean up the snapshots for that keyspace/table without resorting to the command line. It would be nice to be able clean up those via jmx, especially for external tools.) Summary: Cassandra can't delete snapshots for keyspaces that no longer exist. (was: Cassandra can't delete snapshots for keyspaces/tables that no longer exist.) Cassandra can't delete snapshots for keyspaces that no longer exist. Key: CASSANDRA-6821 URL: https://issues.apache.org/jira/browse/CASSANDRA-6821 Project: Cassandra Issue Type: Improvement Reporter: Nick Bailey If you drop a keyspace you can no longer clean up the snapshots for that keyspace without resorting to the command line. It would be nice to be able clean up those via jmx, especially for external tools. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Reopened] (CASSANDRA-6821) Cassandra can't delete snapshots for keyspaces that no longer exist.
[ https://issues.apache.org/jira/browse/CASSANDRA-6821?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mikhail Stepura reopened CASSANDRA-6821: Cassandra can't delete snapshots for keyspaces that no longer exist. Key: CASSANDRA-6821 URL: https://issues.apache.org/jira/browse/CASSANDRA-6821 Project: Cassandra Issue Type: Improvement Reporter: Nick Bailey If you drop a keyspace you can no longer clean up the snapshots for that keyspace without resorting to the command line. It would be nice to be able clean up those via jmx, especially for external tools. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Resolved] (CASSANDRA-6418) auto_snapshots are not removable via 'nodetool clearsnapshot'
[ https://issues.apache.org/jira/browse/CASSANDRA-6418?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mikhail Stepura resolved CASSANDRA-6418. Resolution: Fixed Let's use CASSANDRA-6821 fro that auto_snapshots are not removable via 'nodetool clearsnapshot' - Key: CASSANDRA-6418 URL: https://issues.apache.org/jira/browse/CASSANDRA-6418 Project: Cassandra Issue Type: Bug Components: Tools Environment: auto_snapshot: true Reporter: J. Ryan Earl Assignee: Lyuben Todorov Priority: Minor Fix For: 2.0.5 Attachments: 6418_cassandra-2.0.patch, 6418_cassandra-2.0_v5.patch, 6418_v2.patch, 6418_v3_cassandra-2.0.patch, CASSANDRA-2.0-6418_v4.patch Snapshots of deleted CFs created via the auto_snapshot configuration parameter appear to not be tracked. The result is that 'nodetool clearsnapshot keyspace with deleted CFs' does nothing, and short of manually removing the files from the filesystem, deleted CFs remain indefinitely taking up space. I'm not sure if this is intended, but it seems pretty counter-intuitive. I haven't found any documentation that indicates auto_snapshots would be ignored by 'nodetool clearsnapshot'. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CASSANDRA-6646) Disk Failure Policy ignores CorruptBlockException
[ https://issues.apache.org/jira/browse/CASSANDRA-6646?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13938131#comment-13938131 ] Marcus Eriksson commented on CASSANDRA-6646: bq. rename to stop_paranoid sure it was introduced in CASSANDRA-6364 which was a 2.0-only fix, ill add it when i commit this Disk Failure Policy ignores CorruptBlockException -- Key: CASSANDRA-6646 URL: https://issues.apache.org/jira/browse/CASSANDRA-6646 Project: Cassandra Issue Type: Bug Reporter: sankalp kohli Assignee: Marcus Eriksson Priority: Minor Fix For: 2.0.7, 2.1 beta2 Attachments: 0001-add-paranoid-disk-failure-option.patch, 0001-make-CorruptSSTableException-an-FSError-to-be-able-t.patch If Cassandra is using compression and has a bad drive or stable, it will throw an CorruptBlockException. Disk Failure Policy only works if it is an FSError and does not work for IOExceptions like this. We need to better handle such exceptions as it causes nodes to not respond to the co-ordinator causing the client to timeout. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CASSANDRA-6646) Disk Failure Policy ignores CorruptBlockException
[ https://issues.apache.org/jira/browse/CASSANDRA-6646?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13938148#comment-13938148 ] sankalp kohli commented on CASSANDRA-6646: -- Let me look at the patch. Disk Failure Policy ignores CorruptBlockException -- Key: CASSANDRA-6646 URL: https://issues.apache.org/jira/browse/CASSANDRA-6646 Project: Cassandra Issue Type: Bug Reporter: sankalp kohli Assignee: Marcus Eriksson Priority: Minor Fix For: 2.0.7, 2.1 beta2 Attachments: 0001-add-paranoid-disk-failure-option.patch, 0001-make-CorruptSSTableException-an-FSError-to-be-able-t.patch If Cassandra is using compression and has a bad drive or stable, it will throw an CorruptBlockException. Disk Failure Policy only works if it is an FSError and does not work for IOExceptions like this. We need to better handle such exceptions as it causes nodes to not respond to the co-ordinator causing the client to timeout. -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Created] (CASSANDRA-6876) Improve PerRowSecondaryIndex performance by removing O(N) complexity when computing indexes for a column
Sergio Bossa created CASSANDRA-6876: --- Summary: Improve PerRowSecondaryIndex performance by removing O(N) complexity when computing indexes for a column Key: CASSANDRA-6876 URL: https://issues.apache.org/jira/browse/CASSANDRA-6876 Project: Cassandra Issue Type: Improvement Components: Core Reporter: Sergio Bossa Assignee: Sergio Bossa Priority: Minor Currently, given SecondaryIndexManager tracks all per-column and per-row secondary indexes in a by-column map, when computing indexes for a given column it has to scan all indexes for *all* columns, meaning that it will scan the *same* per-row index N times, where N is the number of columns it is associated with, raising the complexity of what could be an O(1) operation to O(N). -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Updated] (CASSANDRA-6876) Improve PerRowSecondaryIndex performance by removing O(N) complexity when computing indexes for a column
[ https://issues.apache.org/jira/browse/CASSANDRA-6876?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Sergio Bossa updated CASSANDRA-6876: Attachment: CASSANDRA-6876.patch Improve PerRowSecondaryIndex performance by removing O(N) complexity when computing indexes for a column Key: CASSANDRA-6876 URL: https://issues.apache.org/jira/browse/CASSANDRA-6876 Project: Cassandra Issue Type: Improvement Components: Core Reporter: Sergio Bossa Assignee: Sergio Bossa Priority: Minor Attachments: CASSANDRA-6876.patch Currently, given SecondaryIndexManager tracks all per-column and per-row secondary indexes in a by-column map, when computing indexes for a given column it has to scan all indexes for *all* columns, meaning that it will scan the *same* per-row index N times, where N is the number of columns it is associated with, raising the complexity of what could be an O(1) operation to O(N). -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Updated] (CASSANDRA-6746) Reads have a slow ramp up in speed
[ https://issues.apache.org/jira/browse/CASSANDRA-6746?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ryan McGuire updated CASSANDRA-6746: Attachment: 6746.blockdev_setra.full.png 6746.blockdev_setra.zoomed.png Playing around with 'blockdev --setra' does have a rather dramatic effect. Here's four runs, with read ahead set to 0, 128, 256, and 4096: !6746.blockdev_setra.full.png! The setting for 0 dwarfs the other results, so here it is zoomed in on just 128, 256, and 4096: !6746.blockdev_setra.zoomed.png! [raw data is here|http://riptano.github.io/cassandra_performance/graph/graph.html?stats=stats.6746.blockdev_readahead.jsonmetric=op_rateoperation=readsmoothing=1] Reads have a slow ramp up in speed -- Key: CASSANDRA-6746 URL: https://issues.apache.org/jira/browse/CASSANDRA-6746 Project: Cassandra Issue Type: Bug Components: Core Reporter: Ryan McGuire Assignee: Benedict Labels: performance Fix For: 2.1 beta2 Attachments: 2.1_vs_2.0_read.png, 6746-patched.png, 6746.blockdev_setra.full.png, 6746.blockdev_setra.zoomed.png, 6746.txt, cassandra-2.0-bdplab-trial-fincore.tar.bz2, cassandra-2.1-bdplab-trial-fincore.tar.bz2 On a physical four node cluister I am doing a big write and then a big read. The read takes a long time to ramp up to respectable speeds. !2.1_vs_2.0_read.png! [See data here|http://ryanmcguire.info/ds/graph/graph.html?stats=stats.2.1_vs_2.0_vs_1.2.retry1.jsonmetric=interval_op_rateoperation=stress-readsmoothing=1] -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Comment Edited] (CASSANDRA-6746) Reads have a slow ramp up in speed
[ https://issues.apache.org/jira/browse/CASSANDRA-6746?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13938214#comment-13938214 ] Ryan McGuire edited comment on CASSANDRA-6746 at 3/17/14 7:04 PM: -- Playing around with 'blockdev --setra' does have a rather dramatic effect. Here's four runs, with read ahead set to 0, 128, 256, and 4096: !6746.blockdev_setra.full.png! The setting for 0 dwarfs the other results, so here it is zoomed in on just 128, 256, and 4096: !6746.blockdev_setra.zoomed.png! [raw data is here|http://riptano.github.io/cassandra_performance/graph/graph.html?stats=stats.6746.blockdev_readahead.jsonmetric=op_rateoperation=readsmoothing=1] The double bump in the run for 4096 is something that [~benedict] and I have seen on other runs before. was (Author: enigmacurry): Playing around with 'blockdev --setra' does have a rather dramatic effect. Here's four runs, with read ahead set to 0, 128, 256, and 4096: !6746.blockdev_setra.full.png! The setting for 0 dwarfs the other results, so here it is zoomed in on just 128, 256, and 4096: !6746.blockdev_setra.zoomed.png! [raw data is here|http://riptano.github.io/cassandra_performance/graph/graph.html?stats=stats.6746.blockdev_readahead.jsonmetric=op_rateoperation=readsmoothing=1] Reads have a slow ramp up in speed -- Key: CASSANDRA-6746 URL: https://issues.apache.org/jira/browse/CASSANDRA-6746 Project: Cassandra Issue Type: Bug Components: Core Reporter: Ryan McGuire Assignee: Benedict Labels: performance Fix For: 2.1 beta2 Attachments: 2.1_vs_2.0_read.png, 6746-patched.png, 6746.blockdev_setra.full.png, 6746.blockdev_setra.zoomed.png, 6746.txt, cassandra-2.0-bdplab-trial-fincore.tar.bz2, cassandra-2.1-bdplab-trial-fincore.tar.bz2 On a physical four node cluister I am doing a big write and then a big read. The read takes a long time to ramp up to respectable speeds. !2.1_vs_2.0_read.png! [See data here|http://ryanmcguire.info/ds/graph/graph.html?stats=stats.2.1_vs_2.0_vs_1.2.retry1.jsonmetric=interval_op_rateoperation=stress-readsmoothing=1] -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CASSANDRA-6746) Reads have a slow ramp up in speed
[ https://issues.apache.org/jira/browse/CASSANDRA-6746?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13938223#comment-13938223 ] Pavel Yaskevich commented on CASSANDRA-6746: [~enigmacurry] Are the drives SSDs? Reads have a slow ramp up in speed -- Key: CASSANDRA-6746 URL: https://issues.apache.org/jira/browse/CASSANDRA-6746 Project: Cassandra Issue Type: Bug Components: Core Reporter: Ryan McGuire Assignee: Benedict Labels: performance Fix For: 2.1 beta2 Attachments: 2.1_vs_2.0_read.png, 6746-patched.png, 6746.blockdev_setra.full.png, 6746.blockdev_setra.zoomed.png, 6746.txt, cassandra-2.0-bdplab-trial-fincore.tar.bz2, cassandra-2.1-bdplab-trial-fincore.tar.bz2 On a physical four node cluister I am doing a big write and then a big read. The read takes a long time to ramp up to respectable speeds. !2.1_vs_2.0_read.png! [See data here|http://ryanmcguire.info/ds/graph/graph.html?stats=stats.2.1_vs_2.0_vs_1.2.retry1.jsonmetric=interval_op_rateoperation=stress-readsmoothing=1] -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CASSANDRA-6746) Reads have a slow ramp up in speed
[ https://issues.apache.org/jira/browse/CASSANDRA-6746?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13938233#comment-13938233 ] Ryan McGuire commented on CASSANDRA-6746: - No: {code} hdparm -I /dev/sdb | head /dev/sdb: ATA device, with non-removable media Model Number: WDC WD5003ABYX-18WERA0 Serial Number: WD-WMAYP2797667 Firmware Revision: 01.01S02 Transport: Serial, SATA 1.0a, SATA II Extensions, SATA Rev 2.5, SATA Rev 2.6 Standards: Supported: 8 7 6 5 {code} Reads have a slow ramp up in speed -- Key: CASSANDRA-6746 URL: https://issues.apache.org/jira/browse/CASSANDRA-6746 Project: Cassandra Issue Type: Bug Components: Core Reporter: Ryan McGuire Assignee: Benedict Labels: performance Fix For: 2.1 beta2 Attachments: 2.1_vs_2.0_read.png, 6746-patched.png, 6746.blockdev_setra.full.png, 6746.blockdev_setra.zoomed.png, 6746.txt, cassandra-2.0-bdplab-trial-fincore.tar.bz2, cassandra-2.1-bdplab-trial-fincore.tar.bz2 On a physical four node cluister I am doing a big write and then a big read. The read takes a long time to ramp up to respectable speeds. !2.1_vs_2.0_read.png! [See data here|http://ryanmcguire.info/ds/graph/graph.html?stats=stats.2.1_vs_2.0_vs_1.2.retry1.jsonmetric=interval_op_rateoperation=stress-readsmoothing=1] -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CASSANDRA-6746) Reads have a slow ramp up in speed
[ https://issues.apache.org/jira/browse/CASSANDRA-6746?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13938239#comment-13938239 ] Pavel Yaskevich commented on CASSANDRA-6746: I guess I should have been clearer about this one, we actually want readahead to be set to bigger number or default, that would speed up sequential part of the read significantly, because kernels' adaptive readahead logic would kick in and detect that file is being read sequential and do a right thing. The test I asked you to do should have uncovered effect of readahead on our reads which is pretty significant but quiet the opposite on HDD vs. SDD, still this gives us pretty good picture. Reads have a slow ramp up in speed -- Key: CASSANDRA-6746 URL: https://issues.apache.org/jira/browse/CASSANDRA-6746 Project: Cassandra Issue Type: Bug Components: Core Reporter: Ryan McGuire Assignee: Benedict Labels: performance Fix For: 2.1 beta2 Attachments: 2.1_vs_2.0_read.png, 6746-patched.png, 6746.blockdev_setra.full.png, 6746.blockdev_setra.zoomed.png, 6746.txt, cassandra-2.0-bdplab-trial-fincore.tar.bz2, cassandra-2.1-bdplab-trial-fincore.tar.bz2 On a physical four node cluister I am doing a big write and then a big read. The read takes a long time to ramp up to respectable speeds. !2.1_vs_2.0_read.png! [See data here|http://ryanmcguire.info/ds/graph/graph.html?stats=stats.2.1_vs_2.0_vs_1.2.retry1.jsonmetric=interval_op_rateoperation=stress-readsmoothing=1] -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CASSANDRA-6746) Reads have a slow ramp up in speed
[ https://issues.apache.org/jira/browse/CASSANDRA-6746?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13938244#comment-13938244 ] Ryan McGuire commented on CASSANDRA-6746: - The default on these machines was 256, and indeed the 4096 setting I tried did speed it up. Reads have a slow ramp up in speed -- Key: CASSANDRA-6746 URL: https://issues.apache.org/jira/browse/CASSANDRA-6746 Project: Cassandra Issue Type: Bug Components: Core Reporter: Ryan McGuire Assignee: Benedict Labels: performance Fix For: 2.1 beta2 Attachments: 2.1_vs_2.0_read.png, 6746-patched.png, 6746.blockdev_setra.full.png, 6746.blockdev_setra.zoomed.png, 6746.txt, cassandra-2.0-bdplab-trial-fincore.tar.bz2, cassandra-2.1-bdplab-trial-fincore.tar.bz2 On a physical four node cluister I am doing a big write and then a big read. The read takes a long time to ramp up to respectable speeds. !2.1_vs_2.0_read.png! [See data here|http://ryanmcguire.info/ds/graph/graph.html?stats=stats.2.1_vs_2.0_vs_1.2.retry1.jsonmetric=interval_op_rateoperation=stress-readsmoothing=1] -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CASSANDRA-6746) Reads have a slow ramp up in speed
[ https://issues.apache.org/jira/browse/CASSANDRA-6746?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13938246#comment-13938246 ] Ryan McGuire commented on CASSANDRA-6746: - I can also try this on ssd instances. Reads have a slow ramp up in speed -- Key: CASSANDRA-6746 URL: https://issues.apache.org/jira/browse/CASSANDRA-6746 Project: Cassandra Issue Type: Bug Components: Core Reporter: Ryan McGuire Assignee: Benedict Labels: performance Fix For: 2.1 beta2 Attachments: 2.1_vs_2.0_read.png, 6746-patched.png, 6746.blockdev_setra.full.png, 6746.blockdev_setra.zoomed.png, 6746.txt, cassandra-2.0-bdplab-trial-fincore.tar.bz2, cassandra-2.1-bdplab-trial-fincore.tar.bz2 On a physical four node cluister I am doing a big write and then a big read. The read takes a long time to ramp up to respectable speeds. !2.1_vs_2.0_read.png! [See data here|http://ryanmcguire.info/ds/graph/graph.html?stats=stats.2.1_vs_2.0_vs_1.2.retry1.jsonmetric=interval_op_rateoperation=stress-readsmoothing=1] -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CASSANDRA-6746) Reads have a slow ramp up in speed
[ https://issues.apache.org/jira/browse/CASSANDRA-6746?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13938253#comment-13938253 ] Pavel Yaskevich commented on CASSANDRA-6746: Would be awesome if you could try it out on the SSD machines too! Reads have a slow ramp up in speed -- Key: CASSANDRA-6746 URL: https://issues.apache.org/jira/browse/CASSANDRA-6746 Project: Cassandra Issue Type: Bug Components: Core Reporter: Ryan McGuire Assignee: Benedict Labels: performance Fix For: 2.1 beta2 Attachments: 2.1_vs_2.0_read.png, 6746-patched.png, 6746.blockdev_setra.full.png, 6746.blockdev_setra.zoomed.png, 6746.txt, cassandra-2.0-bdplab-trial-fincore.tar.bz2, cassandra-2.1-bdplab-trial-fincore.tar.bz2 On a physical four node cluister I am doing a big write and then a big read. The read takes a long time to ramp up to respectable speeds. !2.1_vs_2.0_read.png! [See data here|http://ryanmcguire.info/ds/graph/graph.html?stats=stats.2.1_vs_2.0_vs_1.2.retry1.jsonmetric=interval_op_rateoperation=stress-readsmoothing=1] -- This message was sent by Atlassian JIRA (v6.2#6252)
[jira] [Commented] (CASSANDRA-6756) Provide option to avoid loading orphan SSTables on startup
[ https://issues.apache.org/jira/browse/CASSANDRA-6756?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13938256#comment-13938256 ] Jeremiah Jordan commented on CASSANDRA-6756: What ever happens here, I think the default should stay as it is now. If you want this, you would add the flag to your cassandra-env.sh or cassandra.yaml (or where ever it get put). Provide option to avoid loading orphan SSTables on startup -- Key: CASSANDRA-6756 URL: https://issues.apache.org/jira/browse/CASSANDRA-6756 Project: Cassandra Issue Type: Improvement Components: Core Reporter: Vincent Mallet Fix For: 1.2.16 When Cassandra starts up, it enumerates all SSTables on disk for a known column family and proceeds to loading all of them, even those that were left behind before the restart because of a problem of some sort. This can lead to data gain (resurrected data) which is just as bad as data loss. The ask is to provide a yaml config option which would allow one to turn that behavior off by default so a cassandra cluster would be immune to data gain when nodes get restarted (at least with Leveled where Cassandra keeps track of SSTables). This is sort of a follow-up to CASSANDRA-6503 (fixed in 1.2.14). We're just extremely nervous that orphan SSTables could appear because of some other potential problem somewhere else and cause zombie data on a random reboot. -- This message was sent by Atlassian JIRA (v6.2#6252)
git commit: Fix CASSANDRA-6714 leftover issue
Repository: cassandra Updated Branches: refs/heads/cassandra-2.1 ceddff58f - e0c125fce Fix CASSANDRA-6714 leftover issue Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/e0c125fc Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e0c125fc Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e0c125fc Branch: refs/heads/cassandra-2.1 Commit: e0c125fce03fafe86e2d983329e1ca86bccaac8a Parents: ceddff5 Author: Aleksey Yeschenko alek...@apache.org Authored: Mon Mar 17 23:02:22 2014 +0300 Committer: Aleksey Yeschenko alek...@apache.org Committed: Mon Mar 17 23:02:22 2014 +0300 -- src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/e0c125fc/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java -- diff --git a/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java b/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java index 3bc0f87..213771d 100644 --- a/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java +++ b/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java @@ -239,7 +239,7 @@ public class CommitLogReplayer try { assert reader.length() = Integer.MAX_VALUE; -int offset = getStartOffset(segmentId, desc.getMessagingVersion()); +int offset = getStartOffset(segmentId, desc.getVersion()); if (offset 0) { logger.debug(skipping replay of fully-flushed {}, file);
[2/2] 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/a3c801e3 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/a3c801e3 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/a3c801e3 Branch: refs/heads/trunk Commit: a3c801e3f8f97709fc003440e7e43bd9ba727db9 Parents: 69cadca e0c125f Author: Aleksey Yeschenko alek...@apache.org Authored: Mon Mar 17 23:03:51 2014 +0300 Committer: Aleksey Yeschenko alek...@apache.org Committed: Mon Mar 17 23:03:51 2014 +0300 -- src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --
[1/2] git commit: Fix CASSANDRA-6714 leftover issue
Repository: cassandra Updated Branches: refs/heads/trunk 69cadca33 - a3c801e3f Fix CASSANDRA-6714 leftover issue Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/e0c125fc Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e0c125fc Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e0c125fc Branch: refs/heads/trunk Commit: e0c125fce03fafe86e2d983329e1ca86bccaac8a Parents: ceddff5 Author: Aleksey Yeschenko alek...@apache.org Authored: Mon Mar 17 23:02:22 2014 +0300 Committer: Aleksey Yeschenko alek...@apache.org Committed: Mon Mar 17 23:02:22 2014 +0300 -- src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/e0c125fc/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java -- diff --git a/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java b/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java index 3bc0f87..213771d 100644 --- a/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java +++ b/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java @@ -239,7 +239,7 @@ public class CommitLogReplayer try { assert reader.length() = Integer.MAX_VALUE; -int offset = getStartOffset(segmentId, desc.getMessagingVersion()); +int offset = getStartOffset(segmentId, desc.getVersion()); if (offset 0) { logger.debug(skipping replay of fully-flushed {}, file);
[jira] [Created] (CASSANDRA-6877) pig tests broken on 2.1/trunk
Brandon Williams created CASSANDRA-6877: --- Summary: pig tests broken on 2.1/trunk Key: CASSANDRA-6877 URL: https://issues.apache.org/jira/browse/CASSANDRA-6877 Project: Cassandra Issue Type: Bug Reporter: Brandon Williams Assignee: Alex Liu Fix For: 2.1 beta2 Not sure what happened here, but I get a smorgasbord of errors running the pig tests now, from xml errors in xerces to NotFoundExceptions. -- This message was sent by Atlassian JIRA (v6.2#6252)