[2/2] cassandra git commit: Merge branch 'cassandra-2.1' into trunk

2015-01-08 Thread marcuse
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/d1a552dd
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/d1a552dd
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/d1a552dd

Branch: refs/heads/trunk
Commit: d1a552dd7882f9ddb88e0e58d1af46791093
Parents: a289e71 14b2d7a
Author: Marcus Eriksson 
Authored: Fri Jan 9 07:34:30 2015 +0100
Committer: Marcus Eriksson 
Committed: Fri Jan 9 07:34:30 2015 +0100

--
 CHANGES.txt   | 1 +
 .../org/apache/cassandra/db/compaction/CompactionManager.java | 3 ++-
 2 files changed, 3 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/d1a552dd/CHANGES.txt
--
diff --cc CHANGES.txt
index 8686d6c,2028633..6d364cc
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,50 -1,5 +1,51 @@@
 +3.0
 + * Switch CommitLogSegment from RandomAccessFile to nio (CASSANDRA-8308)
 + * Allow mixing token and partition key restrictions (CASSANDRA-7016)
 + * Support index key/value entries on map collections (CASSANDRA-8473)
 + * Modernize schema tables (CASSANDRA-8261)
 + * Support for user-defined aggregation functions (CASSANDRA-8053)
 + * Fix NPE in SelectStatement with empty IN values (CASSANDRA-8419)
 + * Refactor SelectStatement, return IN results in natural order instead
 +   of IN value list order (CASSANDRA-7981)
 + * Support UDTs, tuples, and collections in user-defined
 +   functions (CASSANDRA-7563)
 + * Fix aggregate fn results on empty selection, result column name,
 +   and cqlsh parsing (CASSANDRA-8229)
 + * Mark sstables as repaired after full repair (CASSANDRA-7586)
 + * Extend Descriptor to include a format value and refactor reader/writer
 +   APIs (CASSANDRA-7443)
 + * Integrate JMH for microbenchmarks (CASSANDRA-8151)
 + * Keep sstable levels when bootstrapping (CASSANDRA-7460)
 + * Add Sigar library and perform basic OS settings check on startup 
(CASSANDRA-7838)
 + * Support for aggregation functions (CASSANDRA-4914)
 + * Remove cassandra-cli (CASSANDRA-7920)
 + * Accept dollar quoted strings in CQL (CASSANDRA-7769)
 + * Make assassinate a first class command (CASSANDRA-7935)
 + * Support IN clause on any clustering column (CASSANDRA-4762)
 + * Improve compaction logging (CASSANDRA-7818)
 + * Remove YamlFileNetworkTopologySnitch (CASSANDRA-7917)
 + * Do anticompaction in groups (CASSANDRA-6851)
 + * Support user-defined functions (CASSANDRA-7395, 7526, 7562, 7740, 7781, 
7929,
 +   7924, 7812, 8063, 7813, 7708)
 + * Permit configurable timestamps with cassandra-stress (CASSANDRA-7416)
 + * Move sstable RandomAccessReader to nio2, which allows using the
 +   FILE_SHARE_DELETE flag on Windows (CASSANDRA-4050)
 + * Remove CQL2 (CASSANDRA-5918)
 + * Add Thrift get_multi_slice call (CASSANDRA-6757)
 + * Optimize fetching multiple cells by name (CASSANDRA-6933)
 + * Allow compilation in java 8 (CASSANDRA-7028)
 + * Make incremental repair default (CASSANDRA-7250)
 + * Enable code coverage thru JaCoCo (CASSANDRA-7226)
 + * Switch external naming of 'column families' to 'tables' (CASSANDRA-4369) 
 + * Shorten SSTable path (CASSANDRA-6962)
 + * Use unsafe mutations for most unit tests (CASSANDRA-6969)
 + * Fix race condition during calculation of pending ranges (CASSANDRA-7390)
 + * Fail on very large batch sizes (CASSANDRA-8011)
 + * Improve concurrency of repair (CASSANDRA-6455, 8208)
 +
 +
  2.1.3
+  * Don't reuse the same cleanup strategy for all sstables (CASSANDRA-8537)
   * Fix case-sensitivity of index name on CREATE and DROP INDEX
 statements (CASSANDRA-8365)
   * Better detection/logging for corruption in compressed sstables 
(CASSANDRA-8192)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/d1a552dd/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
--



cassandra git commit: Don't use the same CleanupStrategy for all sstables

2015-01-08 Thread marcuse
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.1 818ec3310 -> 14b2d7a16


Don't use the same CleanupStrategy for all sstables

Patch by marcuse; reviewed by thobbs for CASSANDRA-8537


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/14b2d7a1
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/14b2d7a1
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/14b2d7a1

Branch: refs/heads/cassandra-2.1
Commit: 14b2d7a16b4b69eed6be5473dbbf238f040fb5c5
Parents: 818ec33
Author: Marcus Eriksson 
Authored: Thu Jan 8 14:39:08 2015 +0100
Committer: Marcus Eriksson 
Committed: Fri Jan 9 07:33:17 2015 +0100

--
 CHANGES.txt   | 1 +
 .../org/apache/cassandra/db/compaction/CompactionManager.java | 3 ++-
 2 files changed, 3 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/14b2d7a1/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 57c2f49..2028633 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.3
+ * Don't reuse the same cleanup strategy for all sstables (CASSANDRA-8537)
  * Fix case-sensitivity of index name on CREATE and DROP INDEX
statements (CASSANDRA-8365)
  * Better detection/logging for corruption in compressed sstables 
(CASSANDRA-8192)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/14b2d7a1/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
--
diff --git a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java 
b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
index 872ebed..eb7c0ee 100644
--- a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
+++ b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
@@ -347,7 +347,7 @@ public class CompactionManager implements 
CompactionManagerMBean
 return AllSSTableOpStatus.ABORTED;
 }
 final boolean hasIndexes = cfStore.indexManager.hasIndexes();
-final CleanupStrategy cleanupStrategy = CleanupStrategy.get(cfStore, 
ranges);
+
 return parallelAllSSTableOperation(cfStore, new OneSSTableOperation()
 {
 @Override
@@ -361,6 +361,7 @@ public class CompactionManager implements 
CompactionManagerMBean
 @Override
 public void execute(SSTableReader input) throws IOException
 {
+CleanupStrategy cleanupStrategy = CleanupStrategy.get(cfStore, 
ranges);
 doCleanupOne(cfStore, input, cleanupStrategy, ranges, 
hasIndexes);
 }
 });



[1/2] cassandra git commit: Don't use the same CleanupStrategy for all sstables

2015-01-08 Thread marcuse
Repository: cassandra
Updated Branches:
  refs/heads/trunk a289e71bd -> d1a552dd7


Don't use the same CleanupStrategy for all sstables

Patch by marcuse; reviewed by thobbs for CASSANDRA-8537


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/14b2d7a1
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/14b2d7a1
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/14b2d7a1

Branch: refs/heads/trunk
Commit: 14b2d7a16b4b69eed6be5473dbbf238f040fb5c5
Parents: 818ec33
Author: Marcus Eriksson 
Authored: Thu Jan 8 14:39:08 2015 +0100
Committer: Marcus Eriksson 
Committed: Fri Jan 9 07:33:17 2015 +0100

--
 CHANGES.txt   | 1 +
 .../org/apache/cassandra/db/compaction/CompactionManager.java | 3 ++-
 2 files changed, 3 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/14b2d7a1/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 57c2f49..2028633 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.1.3
+ * Don't reuse the same cleanup strategy for all sstables (CASSANDRA-8537)
  * Fix case-sensitivity of index name on CREATE and DROP INDEX
statements (CASSANDRA-8365)
  * Better detection/logging for corruption in compressed sstables 
(CASSANDRA-8192)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/14b2d7a1/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
--
diff --git a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java 
b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
index 872ebed..eb7c0ee 100644
--- a/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
+++ b/src/java/org/apache/cassandra/db/compaction/CompactionManager.java
@@ -347,7 +347,7 @@ public class CompactionManager implements 
CompactionManagerMBean
 return AllSSTableOpStatus.ABORTED;
 }
 final boolean hasIndexes = cfStore.indexManager.hasIndexes();
-final CleanupStrategy cleanupStrategy = CleanupStrategy.get(cfStore, 
ranges);
+
 return parallelAllSSTableOperation(cfStore, new OneSSTableOperation()
 {
 @Override
@@ -361,6 +361,7 @@ public class CompactionManager implements 
CompactionManagerMBean
 @Override
 public void execute(SSTableReader input) throws IOException
 {
+CleanupStrategy cleanupStrategy = CleanupStrategy.get(cfStore, 
ranges);
 doCleanupOne(cfStore, input, cleanupStrategy, ranges, 
hasIndexes);
 }
 });



[jira] [Created] (CASSANDRA-8588) Fix DropTypeStatements isusedBy for maps (typo ignored values)

2015-01-08 Thread Dave Brosius (JIRA)
Dave Brosius created CASSANDRA-8588:
---

 Summary: Fix DropTypeStatements isusedBy for maps (typo ignored 
values)
 Key: CASSANDRA-8588
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8588
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Dave Brosius
Assignee: Dave Brosius
Priority: Trivial
 Fix For: 2.1.3
 Attachments: is_used_by_maps.txt

simple typo caused the value of maps not to be checked but instead the key 
checked twice.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


cassandra git commit: use parameterized logging

2015-01-08 Thread dbrosius
Repository: cassandra
Updated Branches:
  refs/heads/trunk dde4d8293 -> a289e71bd


use parameterized logging


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/a289e71b
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/a289e71b
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/a289e71b

Branch: refs/heads/trunk
Commit: a289e71bd883bce6b78169b64c95cd6c2e1a8853
Parents: dde4d82
Author: Dave Brosius 
Authored: Fri Jan 9 00:33:25 2015 -0500
Committer: Dave Brosius 
Committed: Fri Jan 9 00:33:25 2015 -0500

--
 src/java/org/apache/cassandra/db/commitlog/CommitLogSegment.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/a289e71b/src/java/org/apache/cassandra/db/commitlog/CommitLogSegment.java
--
diff --git a/src/java/org/apache/cassandra/db/commitlog/CommitLogSegment.java 
b/src/java/org/apache/cassandra/db/commitlog/CommitLogSegment.java
index 6b40864..e98d3d2 100644
--- a/src/java/org/apache/cassandra/db/commitlog/CommitLogSegment.java
+++ b/src/java/org/apache/cassandra/db/commitlog/CommitLogSegment.java
@@ -150,7 +150,7 @@ public class CommitLogSegment
 }
 else
 {
-logger.debug("Creating new CommitLog segment: " + logFile);
+logger.debug("Creating new CommitLog segment: {}", 
logFile);
 }
 }
 



[1/3] cassandra git commit: fix typo causing bad format string marker

2015-01-08 Thread dbrosius
Repository: cassandra
Updated Branches:
  refs/heads/trunk 2fc3a8934 -> dde4d8293


fix typo causing bad format string marker


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/ed54e808
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ed54e808
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ed54e808

Branch: refs/heads/trunk
Commit: ed54e80855a37f88a8625e1ecf9ce574f0d4081d
Parents: e750ab2
Author: Dave Brosius 
Authored: Fri Jan 9 00:27:47 2015 -0500
Committer: Dave Brosius 
Committed: Fri Jan 9 00:27:47 2015 -0500

--
 .../db/compaction/DateTieredCompactionStrategyTest.java  | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/ed54e808/test/unit/org/apache/cassandra/db/compaction/DateTieredCompactionStrategyTest.java
--
diff --git 
a/test/unit/org/apache/cassandra/db/compaction/DateTieredCompactionStrategyTest.java
 
b/test/unit/org/apache/cassandra/db/compaction/DateTieredCompactionStrategyTest.java
index 299e1af..84230da 100644
--- 
a/test/unit/org/apache/cassandra/db/compaction/DateTieredCompactionStrategyTest.java
+++ 
b/test/unit/org/apache/cassandra/db/compaction/DateTieredCompactionStrategyTest.java
@@ -70,7 +70,7 @@ public class DateTieredCompactionStrategyTest extends 
SchemaLoader
 {
 options.put(DateTieredCompactionStrategyOptions.BASE_TIME_KEY, 
"-1337");
 validateOptions(options);
-fail(String.format("%Negative %s should be rejected", 
DateTieredCompactionStrategyOptions.BASE_TIME_KEY));
+fail(String.format("Negative %s should be rejected", 
DateTieredCompactionStrategyOptions.BASE_TIME_KEY));
 }
 catch (ConfigurationException e)
 {
@@ -81,7 +81,7 @@ public class DateTieredCompactionStrategyTest extends 
SchemaLoader
 {
 
options.put(DateTieredCompactionStrategyOptions.MAX_SSTABLE_AGE_KEY, "-1337");
 validateOptions(options);
-fail(String.format("%Negative %s should be rejected", 
DateTieredCompactionStrategyOptions.MAX_SSTABLE_AGE_KEY));
+fail(String.format("Negative %s should be rejected", 
DateTieredCompactionStrategyOptions.MAX_SSTABLE_AGE_KEY));
 }
 catch (ConfigurationException e)
 {



[2/3] cassandra git commit: Merge branch 'cassandra-2.0' into cassandra-2.1

2015-01-08 Thread dbrosius
Merge branch 'cassandra-2.0' into cassandra-2.1


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/818ec331
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/818ec331
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/818ec331

Branch: refs/heads/trunk
Commit: 818ec33107be17e000b182ab682013528a596d9b
Parents: 8c5a959 ed54e80
Author: Dave Brosius 
Authored: Fri Jan 9 00:28:30 2015 -0500
Committer: Dave Brosius 
Committed: Fri Jan 9 00:28:30 2015 -0500

--
 .../db/compaction/DateTieredCompactionStrategyTest.java  | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/818ec331/test/unit/org/apache/cassandra/db/compaction/DateTieredCompactionStrategyTest.java
--



[3/3] cassandra git commit: Merge branch 'cassandra-2.1' into trunk

2015-01-08 Thread dbrosius
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/dde4d829
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/dde4d829
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/dde4d829

Branch: refs/heads/trunk
Commit: dde4d82938f0d5951b0473cfb9d62d7ab0d9b637
Parents: 2fc3a89 818ec33
Author: Dave Brosius 
Authored: Fri Jan 9 00:28:56 2015 -0500
Committer: Dave Brosius 
Committed: Fri Jan 9 00:28:56 2015 -0500

--
 .../db/compaction/DateTieredCompactionStrategyTest.java  | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/dde4d829/test/unit/org/apache/cassandra/db/compaction/DateTieredCompactionStrategyTest.java
--



[1/2] cassandra git commit: fix typo causing bad format string marker

2015-01-08 Thread dbrosius
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.1 8c5a959c9 -> 818ec3310


fix typo causing bad format string marker


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/ed54e808
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ed54e808
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ed54e808

Branch: refs/heads/cassandra-2.1
Commit: ed54e80855a37f88a8625e1ecf9ce574f0d4081d
Parents: e750ab2
Author: Dave Brosius 
Authored: Fri Jan 9 00:27:47 2015 -0500
Committer: Dave Brosius 
Committed: Fri Jan 9 00:27:47 2015 -0500

--
 .../db/compaction/DateTieredCompactionStrategyTest.java  | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/ed54e808/test/unit/org/apache/cassandra/db/compaction/DateTieredCompactionStrategyTest.java
--
diff --git 
a/test/unit/org/apache/cassandra/db/compaction/DateTieredCompactionStrategyTest.java
 
b/test/unit/org/apache/cassandra/db/compaction/DateTieredCompactionStrategyTest.java
index 299e1af..84230da 100644
--- 
a/test/unit/org/apache/cassandra/db/compaction/DateTieredCompactionStrategyTest.java
+++ 
b/test/unit/org/apache/cassandra/db/compaction/DateTieredCompactionStrategyTest.java
@@ -70,7 +70,7 @@ public class DateTieredCompactionStrategyTest extends 
SchemaLoader
 {
 options.put(DateTieredCompactionStrategyOptions.BASE_TIME_KEY, 
"-1337");
 validateOptions(options);
-fail(String.format("%Negative %s should be rejected", 
DateTieredCompactionStrategyOptions.BASE_TIME_KEY));
+fail(String.format("Negative %s should be rejected", 
DateTieredCompactionStrategyOptions.BASE_TIME_KEY));
 }
 catch (ConfigurationException e)
 {
@@ -81,7 +81,7 @@ public class DateTieredCompactionStrategyTest extends 
SchemaLoader
 {
 
options.put(DateTieredCompactionStrategyOptions.MAX_SSTABLE_AGE_KEY, "-1337");
 validateOptions(options);
-fail(String.format("%Negative %s should be rejected", 
DateTieredCompactionStrategyOptions.MAX_SSTABLE_AGE_KEY));
+fail(String.format("Negative %s should be rejected", 
DateTieredCompactionStrategyOptions.MAX_SSTABLE_AGE_KEY));
 }
 catch (ConfigurationException e)
 {



[2/2] cassandra git commit: Merge branch 'cassandra-2.0' into cassandra-2.1

2015-01-08 Thread dbrosius
Merge branch 'cassandra-2.0' into cassandra-2.1


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/818ec331
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/818ec331
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/818ec331

Branch: refs/heads/cassandra-2.1
Commit: 818ec33107be17e000b182ab682013528a596d9b
Parents: 8c5a959 ed54e80
Author: Dave Brosius 
Authored: Fri Jan 9 00:28:30 2015 -0500
Committer: Dave Brosius 
Committed: Fri Jan 9 00:28:30 2015 -0500

--
 .../db/compaction/DateTieredCompactionStrategyTest.java  | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/818ec331/test/unit/org/apache/cassandra/db/compaction/DateTieredCompactionStrategyTest.java
--



cassandra git commit: fix typo causing bad format string marker

2015-01-08 Thread dbrosius
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.0 e750ab238 -> ed54e8085


fix typo causing bad format string marker


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/ed54e808
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ed54e808
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ed54e808

Branch: refs/heads/cassandra-2.0
Commit: ed54e80855a37f88a8625e1ecf9ce574f0d4081d
Parents: e750ab2
Author: Dave Brosius 
Authored: Fri Jan 9 00:27:47 2015 -0500
Committer: Dave Brosius 
Committed: Fri Jan 9 00:27:47 2015 -0500

--
 .../db/compaction/DateTieredCompactionStrategyTest.java  | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/ed54e808/test/unit/org/apache/cassandra/db/compaction/DateTieredCompactionStrategyTest.java
--
diff --git 
a/test/unit/org/apache/cassandra/db/compaction/DateTieredCompactionStrategyTest.java
 
b/test/unit/org/apache/cassandra/db/compaction/DateTieredCompactionStrategyTest.java
index 299e1af..84230da 100644
--- 
a/test/unit/org/apache/cassandra/db/compaction/DateTieredCompactionStrategyTest.java
+++ 
b/test/unit/org/apache/cassandra/db/compaction/DateTieredCompactionStrategyTest.java
@@ -70,7 +70,7 @@ public class DateTieredCompactionStrategyTest extends 
SchemaLoader
 {
 options.put(DateTieredCompactionStrategyOptions.BASE_TIME_KEY, 
"-1337");
 validateOptions(options);
-fail(String.format("%Negative %s should be rejected", 
DateTieredCompactionStrategyOptions.BASE_TIME_KEY));
+fail(String.format("Negative %s should be rejected", 
DateTieredCompactionStrategyOptions.BASE_TIME_KEY));
 }
 catch (ConfigurationException e)
 {
@@ -81,7 +81,7 @@ public class DateTieredCompactionStrategyTest extends 
SchemaLoader
 {
 
options.put(DateTieredCompactionStrategyOptions.MAX_SSTABLE_AGE_KEY, "-1337");
 validateOptions(options);
-fail(String.format("%Negative %s should be rejected", 
DateTieredCompactionStrategyOptions.MAX_SSTABLE_AGE_KEY));
+fail(String.format("Negative %s should be rejected", 
DateTieredCompactionStrategyOptions.MAX_SSTABLE_AGE_KEY));
 }
 catch (ConfigurationException e)
 {



[jira] [Created] (CASSANDRA-8587) Fix MessageOut's serializeSize calculation

2015-01-08 Thread Dave Brosius (JIRA)
Dave Brosius created CASSANDRA-8587:
---

 Summary: Fix MessageOut's serializeSize calculation
 Key: CASSANDRA-8587
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8587
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Dave Brosius
Assignee: Dave Brosius
Priority: Trivial
 Fix For: 2.0.12
 Attachments: ss.txt

simple typos keep size calculation to small.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[2/3] cassandra git commit: Merge branch 'cassandra-2.0' into cassandra-2.1

2015-01-08 Thread aleksey
Merge branch 'cassandra-2.0' into cassandra-2.1

Conflicts:
CHANGES.txt
src/java/org/apache/cassandra/auth/Auth.java
src/java/org/apache/cassandra/service/ClientState.java


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/8c5a959c
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/8c5a959c
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/8c5a959c

Branch: refs/heads/trunk
Commit: 8c5a959c97729c5fbd536bf0f47cf6330c0bddbc
Parents: 5674a96 e750ab2
Author: Aleksey Yeschenko 
Authored: Fri Jan 9 04:08:05 2015 +0300
Committer: Aleksey Yeschenko 
Committed: Fri Jan 9 04:08:05 2015 +0300

--
 CHANGES.txt |   2 +
 conf/cassandra.yaml |   8 ++
 src/java/org/apache/cassandra/auth/Auth.java|  55 ++
 .../org/apache/cassandra/auth/AuthMBean.java|  27 -
 .../apache/cassandra/auth/PermissionsCache.java | 108 +++
 .../org/apache/cassandra/config/Config.java |   2 +
 .../cassandra/config/DatabaseDescriptor.java|  10 +-
 .../apache/cassandra/service/ClientState.java   |  15 +--
 8 files changed, 138 insertions(+), 89 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/8c5a959c/CHANGES.txt
--
diff --cc CHANGES.txt
index dac555b,adb374a..57c2f49
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,55 -1,6 +1,57 @@@
 -2.0.12:
 +2.1.3
 + * Fix case-sensitivity of index name on CREATE and DROP INDEX
 +   statements (CASSANDRA-8365)
 + * Better detection/logging for corruption in compressed sstables 
(CASSANDRA-8192)
 + * Use the correct repairedAt value when closing writer (CASSANDRA-8570)
 + * (cqlsh) Handle a schema mismatch being detected on startup (CASSANDRA-8512)
 + * Properly calculate expected write size during compaction (CASSANDRA-8532)
 + * Invalidate affected prepared statements when a table's columns
 +   are altered (CASSANDRA-7910)
 + * Stress - user defined writes should populate sequentally (CASSANDRA-8524)
 + * Fix regression in SSTableRewriter causing some rows to become unreadable 
 +   during compaction (CASSANDRA-8429)
 + * Run major compactions for repaired/unrepaired in parallel (CASSANDRA-8510)
 + * (cqlsh) Fix compression options in DESCRIBE TABLE output when compression
 +   is disabled (CASSANDRA-8288)
 + * (cqlsh) Fix DESCRIBE output after keyspaces are altered (CASSANDRA-7623)
 + * Make sure we set lastCompactedKey correctly (CASSANDRA-8463)
 + * (cqlsh) Fix output of CONSISTENCY command (CASSANDRA-8507)
 + * (cqlsh) Fixed the handling of LIST statements (CASSANDRA-8370)
 + * Make sstablescrub check leveled manifest again (CASSANDRA-8432)
 + * Check first/last keys in sstable when giving out positions (CASSANDRA-8458)
 + * Disable mmap on Windows (CASSANDRA-6993)
 + * Add missing ConsistencyLevels to cassandra-stress (CASSANDRA-8253)
 + * Add auth support to cassandra-stress (CASSANDRA-7985)
 + * Fix ArrayIndexOutOfBoundsException when generating error message
 +   for some CQL syntax errors (CASSANDRA-8455)
 + * Scale memtable slab allocation logarithmically (CASSANDRA-7882)
 + * cassandra-stress simultaneous inserts over same seed (CASSANDRA-7964)
 + * Reduce cassandra-stress sampling memory requirements (CASSANDRA-7926)
 + * Ensure memtable flush cannot expire commit log entries from its future 
(CASSANDRA-8383)
 + * Make read "defrag" async to reclaim memtables (CASSANDRA-8459)
 + * Remove tmplink files for offline compactions (CASSANDRA-8321)
 + * Reduce maxHintsInProgress (CASSANDRA-8415)
 + * BTree updates may call provided update function twice (CASSANDRA-8018)
 + * Release sstable references after anticompaction (CASSANDRA-8386)
 + * Handle abort() in SSTableRewriter properly (CASSANDRA-8320)
 + * Fix high size calculations for prepared statements (CASSANDRA-8231)
 + * Centralize shared executors (CASSANDRA-8055)
 + * Fix filtering for CONTAINS (KEY) relations on frozen collection
 +   clustering columns when the query is restricted to a single
 +   partition (CASSANDRA-8203)
 + * Do more aggressive entire-sstable TTL expiry checks (CASSANDRA-8243)
 + * Add more log info if readMeter is null (CASSANDRA-8238)
 + * add check of the system wall clock time at startup (CASSANDRA-8305)
 + * Support for frozen collections (CASSANDRA-7859)
 + * Fix overflow on histogram computation (CASSANDRA-8028)
 + * Have paxos reuse the timestamp generation of normal queries 
(CASSANDRA-7801)
 + * Fix incremental repair not remove parent session on remote (CASSANDRA-8291)
 + * Improve JBOD disk utilization (CASSANDRA-7386)
 + * Log failed host when preparing incremental repair (CASSANDRA-8228)
 + * Force config client mode in CQLSSTableWriter (CASSANDRA-8281)
 +Merged from 2.

[3/3] cassandra git commit: Merge branch 'cassandra-2.1' into trunk

2015-01-08 Thread aleksey
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/2fc3a893
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/2fc3a893
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/2fc3a893

Branch: refs/heads/trunk
Commit: 2fc3a8934b211af762f9b3bec4c5b2dc46d6e0f5
Parents: e412319 8c5a959
Author: Aleksey Yeschenko 
Authored: Fri Jan 9 04:08:30 2015 +0300
Committer: Aleksey Yeschenko 
Committed: Fri Jan 9 04:08:30 2015 +0300

--
 CHANGES.txt |   2 +
 conf/cassandra.yaml |   8 ++
 src/java/org/apache/cassandra/auth/Auth.java|  55 ++
 .../org/apache/cassandra/auth/AuthMBean.java|  27 -
 .../apache/cassandra/auth/PermissionsCache.java | 108 +++
 .../org/apache/cassandra/config/Config.java |   2 +
 .../cassandra/config/DatabaseDescriptor.java|  10 +-
 .../apache/cassandra/service/ClientState.java   |  15 +--
 8 files changed, 138 insertions(+), 89 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/2fc3a893/CHANGES.txt
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/2fc3a893/conf/cassandra.yaml
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/2fc3a893/src/java/org/apache/cassandra/config/Config.java
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/2fc3a893/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/2fc3a893/src/java/org/apache/cassandra/service/ClientState.java
--



[1/3] cassandra git commit: Introduce background cache refreshing to permissions cache

2015-01-08 Thread aleksey
Repository: cassandra
Updated Branches:
  refs/heads/trunk e41231933 -> 2fc3a8934


Introduce background cache refreshing to permissions cache

patch by Sam Tunnicliffe; reviewed by Aleksey Yeschenko for
CASSANDRA-8194


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/e750ab23
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e750ab23
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e750ab23

Branch: refs/heads/trunk
Commit: e750ab238e07daa61180d2451ba90f819a4cf5a1
Parents: bd3c47c
Author: Sam Tunnicliffe 
Authored: Fri Jan 9 04:02:32 2015 +0300
Committer: Aleksey Yeschenko 
Committed: Fri Jan 9 04:02:32 2015 +0300

--
 CHANGES.txt |   2 +
 conf/cassandra.yaml |   8 ++
 src/java/org/apache/cassandra/auth/Auth.java|  55 ++
 .../org/apache/cassandra/auth/AuthMBean.java|  27 -
 .../apache/cassandra/auth/PermissionsCache.java | 108 +++
 .../org/apache/cassandra/config/Config.java |   2 +
 .../cassandra/config/DatabaseDescriptor.java|  10 +-
 .../apache/cassandra/service/ClientState.java   |  15 +--
 8 files changed, 138 insertions(+), 89 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/e750ab23/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 9ccbf45..adb374a 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,6 @@
 2.0.12:
+ * Introduce background cache refreshing to permissions cache
+   (CASSANDRA-8194)
  * Fix race condition in StreamTransferTask that could lead to
infinite loops and premature sstable deletion (CASSANDRA-7704)
  * Add an extra version check to MigrationTask (CASSANDRA-8462)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/e750ab23/conf/cassandra.yaml
--
diff --git a/conf/cassandra.yaml b/conf/cassandra.yaml
index 5eaffc2..45290aa 100644
--- a/conf/cassandra.yaml
+++ b/conf/cassandra.yaml
@@ -79,6 +79,14 @@ authorizer: AllowAllAuthorizer
 # Will be disabled automatically for AllowAllAuthorizer.
 permissions_validity_in_ms: 2000
 
+# Refresh interval for permissions cache (if enabled).
+# After this interval, cache entries become eligible for refresh. Upon next
+# access, an async reload is scheduled and the old value returned until it
+# completes. If permissions_validity_in_ms is non-zero, then this must be
+# also.
+# Defaults to the same value as permissions_validity_in_ms.
+# permissions_update_interval_in_ms: 1000
+
 # The partitioner is responsible for distributing groups of rows (by
 # partition key) across nodes in the cluster.  You should leave this
 # alone for new clusters.  The partitioner can NOT be changed without

http://git-wip-us.apache.org/repos/asf/cassandra/blob/e750ab23/src/java/org/apache/cassandra/auth/Auth.java
--
diff --git a/src/java/org/apache/cassandra/auth/Auth.java 
b/src/java/org/apache/cassandra/auth/Auth.java
index 94d4b3d..465643d 100644
--- a/src/java/org/apache/cassandra/auth/Auth.java
+++ b/src/java/org/apache/cassandra/auth/Auth.java
@@ -20,9 +20,6 @@ package org.apache.cassandra.auth;
 import java.util.Set;
 import java.util.concurrent.TimeUnit;
 
-import com.google.common.cache.CacheBuilder;
-import com.google.common.cache.CacheLoader;
-import com.google.common.cache.LoadingCache;
 import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.Lists;
 import org.apache.commons.lang3.StringUtils;
@@ -32,9 +29,9 @@ import org.slf4j.LoggerFactory;
 import org.apache.cassandra.config.DatabaseDescriptor;
 import org.apache.cassandra.config.KSMetaData;
 import org.apache.cassandra.config.Schema;
-import org.apache.cassandra.cql3.UntypedResultSet;
-import org.apache.cassandra.cql3.QueryProcessor;
 import org.apache.cassandra.cql3.QueryOptions;
+import org.apache.cassandra.cql3.QueryProcessor;
+import org.apache.cassandra.cql3.UntypedResultSet;
 import org.apache.cassandra.cql3.statements.SelectStatement;
 import org.apache.cassandra.db.ConsistencyLevel;
 import org.apache.cassandra.exceptions.RequestExecutionException;
@@ -43,9 +40,8 @@ import org.apache.cassandra.locator.SimpleStrategy;
 import org.apache.cassandra.service.*;
 import org.apache.cassandra.transport.messages.ResultMessage;
 import org.apache.cassandra.utils.ByteBufferUtil;
-import org.apache.cassandra.utils.Pair;
 
-public class Auth implements AuthMBean
+public class Auth
 {
 private static final Logger logger = LoggerFactory.getLogger(Auth.class);
 
@@ -57,8 +53,10 @@ public class Auth implements AuthMBean
 public static final String USERS_CF = "users";
 
 // User-level permissi

[1/2] cassandra git commit: Introduce background cache refreshing to permissions cache

2015-01-08 Thread aleksey
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.1 5674a96d4 -> 8c5a959c9


Introduce background cache refreshing to permissions cache

patch by Sam Tunnicliffe; reviewed by Aleksey Yeschenko for
CASSANDRA-8194


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/e750ab23
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e750ab23
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e750ab23

Branch: refs/heads/cassandra-2.1
Commit: e750ab238e07daa61180d2451ba90f819a4cf5a1
Parents: bd3c47c
Author: Sam Tunnicliffe 
Authored: Fri Jan 9 04:02:32 2015 +0300
Committer: Aleksey Yeschenko 
Committed: Fri Jan 9 04:02:32 2015 +0300

--
 CHANGES.txt |   2 +
 conf/cassandra.yaml |   8 ++
 src/java/org/apache/cassandra/auth/Auth.java|  55 ++
 .../org/apache/cassandra/auth/AuthMBean.java|  27 -
 .../apache/cassandra/auth/PermissionsCache.java | 108 +++
 .../org/apache/cassandra/config/Config.java |   2 +
 .../cassandra/config/DatabaseDescriptor.java|  10 +-
 .../apache/cassandra/service/ClientState.java   |  15 +--
 8 files changed, 138 insertions(+), 89 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/e750ab23/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 9ccbf45..adb374a 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,6 @@
 2.0.12:
+ * Introduce background cache refreshing to permissions cache
+   (CASSANDRA-8194)
  * Fix race condition in StreamTransferTask that could lead to
infinite loops and premature sstable deletion (CASSANDRA-7704)
  * Add an extra version check to MigrationTask (CASSANDRA-8462)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/e750ab23/conf/cassandra.yaml
--
diff --git a/conf/cassandra.yaml b/conf/cassandra.yaml
index 5eaffc2..45290aa 100644
--- a/conf/cassandra.yaml
+++ b/conf/cassandra.yaml
@@ -79,6 +79,14 @@ authorizer: AllowAllAuthorizer
 # Will be disabled automatically for AllowAllAuthorizer.
 permissions_validity_in_ms: 2000
 
+# Refresh interval for permissions cache (if enabled).
+# After this interval, cache entries become eligible for refresh. Upon next
+# access, an async reload is scheduled and the old value returned until it
+# completes. If permissions_validity_in_ms is non-zero, then this must be
+# also.
+# Defaults to the same value as permissions_validity_in_ms.
+# permissions_update_interval_in_ms: 1000
+
 # The partitioner is responsible for distributing groups of rows (by
 # partition key) across nodes in the cluster.  You should leave this
 # alone for new clusters.  The partitioner can NOT be changed without

http://git-wip-us.apache.org/repos/asf/cassandra/blob/e750ab23/src/java/org/apache/cassandra/auth/Auth.java
--
diff --git a/src/java/org/apache/cassandra/auth/Auth.java 
b/src/java/org/apache/cassandra/auth/Auth.java
index 94d4b3d..465643d 100644
--- a/src/java/org/apache/cassandra/auth/Auth.java
+++ b/src/java/org/apache/cassandra/auth/Auth.java
@@ -20,9 +20,6 @@ package org.apache.cassandra.auth;
 import java.util.Set;
 import java.util.concurrent.TimeUnit;
 
-import com.google.common.cache.CacheBuilder;
-import com.google.common.cache.CacheLoader;
-import com.google.common.cache.LoadingCache;
 import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.Lists;
 import org.apache.commons.lang3.StringUtils;
@@ -32,9 +29,9 @@ import org.slf4j.LoggerFactory;
 import org.apache.cassandra.config.DatabaseDescriptor;
 import org.apache.cassandra.config.KSMetaData;
 import org.apache.cassandra.config.Schema;
-import org.apache.cassandra.cql3.UntypedResultSet;
-import org.apache.cassandra.cql3.QueryProcessor;
 import org.apache.cassandra.cql3.QueryOptions;
+import org.apache.cassandra.cql3.QueryProcessor;
+import org.apache.cassandra.cql3.UntypedResultSet;
 import org.apache.cassandra.cql3.statements.SelectStatement;
 import org.apache.cassandra.db.ConsistencyLevel;
 import org.apache.cassandra.exceptions.RequestExecutionException;
@@ -43,9 +40,8 @@ import org.apache.cassandra.locator.SimpleStrategy;
 import org.apache.cassandra.service.*;
 import org.apache.cassandra.transport.messages.ResultMessage;
 import org.apache.cassandra.utils.ByteBufferUtil;
-import org.apache.cassandra.utils.Pair;
 
-public class Auth implements AuthMBean
+public class Auth
 {
 private static final Logger logger = LoggerFactory.getLogger(Auth.class);
 
@@ -57,8 +53,10 @@ public class Auth implements AuthMBean
 public static final String USERS_CF = "users";
 
 // Use

[2/2] cassandra git commit: Merge branch 'cassandra-2.0' into cassandra-2.1

2015-01-08 Thread aleksey
Merge branch 'cassandra-2.0' into cassandra-2.1

Conflicts:
CHANGES.txt
src/java/org/apache/cassandra/auth/Auth.java
src/java/org/apache/cassandra/service/ClientState.java


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/8c5a959c
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/8c5a959c
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/8c5a959c

Branch: refs/heads/cassandra-2.1
Commit: 8c5a959c97729c5fbd536bf0f47cf6330c0bddbc
Parents: 5674a96 e750ab2
Author: Aleksey Yeschenko 
Authored: Fri Jan 9 04:08:05 2015 +0300
Committer: Aleksey Yeschenko 
Committed: Fri Jan 9 04:08:05 2015 +0300

--
 CHANGES.txt |   2 +
 conf/cassandra.yaml |   8 ++
 src/java/org/apache/cassandra/auth/Auth.java|  55 ++
 .../org/apache/cassandra/auth/AuthMBean.java|  27 -
 .../apache/cassandra/auth/PermissionsCache.java | 108 +++
 .../org/apache/cassandra/config/Config.java |   2 +
 .../cassandra/config/DatabaseDescriptor.java|  10 +-
 .../apache/cassandra/service/ClientState.java   |  15 +--
 8 files changed, 138 insertions(+), 89 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/8c5a959c/CHANGES.txt
--
diff --cc CHANGES.txt
index dac555b,adb374a..57c2f49
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,55 -1,6 +1,57 @@@
 -2.0.12:
 +2.1.3
 + * Fix case-sensitivity of index name on CREATE and DROP INDEX
 +   statements (CASSANDRA-8365)
 + * Better detection/logging for corruption in compressed sstables 
(CASSANDRA-8192)
 + * Use the correct repairedAt value when closing writer (CASSANDRA-8570)
 + * (cqlsh) Handle a schema mismatch being detected on startup (CASSANDRA-8512)
 + * Properly calculate expected write size during compaction (CASSANDRA-8532)
 + * Invalidate affected prepared statements when a table's columns
 +   are altered (CASSANDRA-7910)
 + * Stress - user defined writes should populate sequentally (CASSANDRA-8524)
 + * Fix regression in SSTableRewriter causing some rows to become unreadable 
 +   during compaction (CASSANDRA-8429)
 + * Run major compactions for repaired/unrepaired in parallel (CASSANDRA-8510)
 + * (cqlsh) Fix compression options in DESCRIBE TABLE output when compression
 +   is disabled (CASSANDRA-8288)
 + * (cqlsh) Fix DESCRIBE output after keyspaces are altered (CASSANDRA-7623)
 + * Make sure we set lastCompactedKey correctly (CASSANDRA-8463)
 + * (cqlsh) Fix output of CONSISTENCY command (CASSANDRA-8507)
 + * (cqlsh) Fixed the handling of LIST statements (CASSANDRA-8370)
 + * Make sstablescrub check leveled manifest again (CASSANDRA-8432)
 + * Check first/last keys in sstable when giving out positions (CASSANDRA-8458)
 + * Disable mmap on Windows (CASSANDRA-6993)
 + * Add missing ConsistencyLevels to cassandra-stress (CASSANDRA-8253)
 + * Add auth support to cassandra-stress (CASSANDRA-7985)
 + * Fix ArrayIndexOutOfBoundsException when generating error message
 +   for some CQL syntax errors (CASSANDRA-8455)
 + * Scale memtable slab allocation logarithmically (CASSANDRA-7882)
 + * cassandra-stress simultaneous inserts over same seed (CASSANDRA-7964)
 + * Reduce cassandra-stress sampling memory requirements (CASSANDRA-7926)
 + * Ensure memtable flush cannot expire commit log entries from its future 
(CASSANDRA-8383)
 + * Make read "defrag" async to reclaim memtables (CASSANDRA-8459)
 + * Remove tmplink files for offline compactions (CASSANDRA-8321)
 + * Reduce maxHintsInProgress (CASSANDRA-8415)
 + * BTree updates may call provided update function twice (CASSANDRA-8018)
 + * Release sstable references after anticompaction (CASSANDRA-8386)
 + * Handle abort() in SSTableRewriter properly (CASSANDRA-8320)
 + * Fix high size calculations for prepared statements (CASSANDRA-8231)
 + * Centralize shared executors (CASSANDRA-8055)
 + * Fix filtering for CONTAINS (KEY) relations on frozen collection
 +   clustering columns when the query is restricted to a single
 +   partition (CASSANDRA-8203)
 + * Do more aggressive entire-sstable TTL expiry checks (CASSANDRA-8243)
 + * Add more log info if readMeter is null (CASSANDRA-8238)
 + * add check of the system wall clock time at startup (CASSANDRA-8305)
 + * Support for frozen collections (CASSANDRA-7859)
 + * Fix overflow on histogram computation (CASSANDRA-8028)
 + * Have paxos reuse the timestamp generation of normal queries 
(CASSANDRA-7801)
 + * Fix incremental repair not remove parent session on remote (CASSANDRA-8291)
 + * Improve JBOD disk utilization (CASSANDRA-7386)
 + * Log failed host when preparing incremental repair (CASSANDRA-8228)
 + * Force config client mode in CQLSSTableWriter (CASSANDRA-8281)
 +Merged

cassandra git commit: Introduce background cache refreshing to permissions cache

2015-01-08 Thread aleksey
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.0 bd3c47ca7 -> e750ab238


Introduce background cache refreshing to permissions cache

patch by Sam Tunnicliffe; reviewed by Aleksey Yeschenko for
CASSANDRA-8194


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/e750ab23
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e750ab23
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e750ab23

Branch: refs/heads/cassandra-2.0
Commit: e750ab238e07daa61180d2451ba90f819a4cf5a1
Parents: bd3c47c
Author: Sam Tunnicliffe 
Authored: Fri Jan 9 04:02:32 2015 +0300
Committer: Aleksey Yeschenko 
Committed: Fri Jan 9 04:02:32 2015 +0300

--
 CHANGES.txt |   2 +
 conf/cassandra.yaml |   8 ++
 src/java/org/apache/cassandra/auth/Auth.java|  55 ++
 .../org/apache/cassandra/auth/AuthMBean.java|  27 -
 .../apache/cassandra/auth/PermissionsCache.java | 108 +++
 .../org/apache/cassandra/config/Config.java |   2 +
 .../cassandra/config/DatabaseDescriptor.java|  10 +-
 .../apache/cassandra/service/ClientState.java   |  15 +--
 8 files changed, 138 insertions(+), 89 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/e750ab23/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 9ccbf45..adb374a 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,6 @@
 2.0.12:
+ * Introduce background cache refreshing to permissions cache
+   (CASSANDRA-8194)
  * Fix race condition in StreamTransferTask that could lead to
infinite loops and premature sstable deletion (CASSANDRA-7704)
  * Add an extra version check to MigrationTask (CASSANDRA-8462)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/e750ab23/conf/cassandra.yaml
--
diff --git a/conf/cassandra.yaml b/conf/cassandra.yaml
index 5eaffc2..45290aa 100644
--- a/conf/cassandra.yaml
+++ b/conf/cassandra.yaml
@@ -79,6 +79,14 @@ authorizer: AllowAllAuthorizer
 # Will be disabled automatically for AllowAllAuthorizer.
 permissions_validity_in_ms: 2000
 
+# Refresh interval for permissions cache (if enabled).
+# After this interval, cache entries become eligible for refresh. Upon next
+# access, an async reload is scheduled and the old value returned until it
+# completes. If permissions_validity_in_ms is non-zero, then this must be
+# also.
+# Defaults to the same value as permissions_validity_in_ms.
+# permissions_update_interval_in_ms: 1000
+
 # The partitioner is responsible for distributing groups of rows (by
 # partition key) across nodes in the cluster.  You should leave this
 # alone for new clusters.  The partitioner can NOT be changed without

http://git-wip-us.apache.org/repos/asf/cassandra/blob/e750ab23/src/java/org/apache/cassandra/auth/Auth.java
--
diff --git a/src/java/org/apache/cassandra/auth/Auth.java 
b/src/java/org/apache/cassandra/auth/Auth.java
index 94d4b3d..465643d 100644
--- a/src/java/org/apache/cassandra/auth/Auth.java
+++ b/src/java/org/apache/cassandra/auth/Auth.java
@@ -20,9 +20,6 @@ package org.apache.cassandra.auth;
 import java.util.Set;
 import java.util.concurrent.TimeUnit;
 
-import com.google.common.cache.CacheBuilder;
-import com.google.common.cache.CacheLoader;
-import com.google.common.cache.LoadingCache;
 import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.Lists;
 import org.apache.commons.lang3.StringUtils;
@@ -32,9 +29,9 @@ import org.slf4j.LoggerFactory;
 import org.apache.cassandra.config.DatabaseDescriptor;
 import org.apache.cassandra.config.KSMetaData;
 import org.apache.cassandra.config.Schema;
-import org.apache.cassandra.cql3.UntypedResultSet;
-import org.apache.cassandra.cql3.QueryProcessor;
 import org.apache.cassandra.cql3.QueryOptions;
+import org.apache.cassandra.cql3.QueryProcessor;
+import org.apache.cassandra.cql3.UntypedResultSet;
 import org.apache.cassandra.cql3.statements.SelectStatement;
 import org.apache.cassandra.db.ConsistencyLevel;
 import org.apache.cassandra.exceptions.RequestExecutionException;
@@ -43,9 +40,8 @@ import org.apache.cassandra.locator.SimpleStrategy;
 import org.apache.cassandra.service.*;
 import org.apache.cassandra.transport.messages.ResultMessage;
 import org.apache.cassandra.utils.ByteBufferUtil;
-import org.apache.cassandra.utils.Pair;
 
-public class Auth implements AuthMBean
+public class Auth
 {
 private static final Logger logger = LoggerFactory.getLogger(Auth.class);
 
@@ -57,8 +53,10 @@ public class Auth implements AuthMBean
 public static final String USERS_CF = "users";
 
 // Use

[jira] [Commented] (CASSANDRA-8194) Reading from Auth table should not be in the request path

2015-01-08 Thread Sam Tunnicliffe (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8194?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14270280#comment-14270280
 ] 

Sam Tunnicliffe commented on CASSANDRA-8194:


I've attached an new patch (V5) which: 

* Splits out the cache from Auth into a separate class.
* Adds a new setting to yaml - permissions_update_interval_in_ms
* The cache now does both async refresh on active keys after the update 
interval & expiry of inactive keys after the validity period expires. (If 
errors are encountered during refresh, expiry still applies so we won't serve 
stale data indefinitely).
* Removed the AuthMBean as the bean was never being registered.
* The new update interval setting defaults to whatever validity_period_in_ms is 
set to, so default behaviour is preserved.

> Reading from Auth table should not be in the request path
> -
>
> Key: CASSANDRA-8194
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8194
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Vishy Kasar
>Assignee: Aleksey Yeschenko
>Priority: Minor
> Fix For: 2.0.12, 3.0
>
> Attachments: 8194-V2.patch, 8194-V3.txt, 8194-V4.txt, 8194-V5.txt, 
> 8194.patch, CacheTest2.java
>
>
> We use PasswordAuthenticator and PasswordAuthorizer. The system_auth has a RF 
> of 10 per DC over 2 DCs. The permissions_validity_in_ms is 5 minutes. 
> We still have few thousand requests failing each day with the trace below. 
> The reason for this is read cache request realizing that cached entry has 
> expired and doing a blocking request to refresh cache. 
> We should have cache refreshed periodically only in the back ground. The user 
> request should simply look at the cache and not try to refresh it. 
> com.google.common.util.concurrent.UncheckedExecutionException: 
> java.lang.RuntimeException: 
> org.apache.cassandra.exceptions.ReadTimeoutException: Operation timed out - 
> received only 0 responses.
>   at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2258)
>   at com.google.common.cache.LocalCache.get(LocalCache.java:3990)
>   at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3994)
>   at 
> com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4878)
>   at 
> org.apache.cassandra.service.ClientState.authorize(ClientState.java:292)
>   at 
> org.apache.cassandra.service.ClientState.ensureHasPermission(ClientState.java:172)
>   at 
> org.apache.cassandra.service.ClientState.hasAccess(ClientState.java:165)
>   at 
> org.apache.cassandra.service.ClientState.hasColumnFamilyAccess(ClientState.java:149)
>   at 
> org.apache.cassandra.cql3.statements.ModificationStatement.checkAccess(ModificationStatement.java:75)
>   at 
> org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:102)
>   at 
> org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:113)
>   at 
> org.apache.cassandra.thrift.CassandraServer.execute_cql3_query(CassandraServer.java:1735)
>   at 
> org.apache.cassandra.thrift.Cassandra$Processor$execute_cql3_query.getResult(Cassandra.java:4162)
>   at 
> org.apache.cassandra.thrift.Cassandra$Processor$execute_cql3_query.getResult(Cassandra.java:4150)
>   at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:32)
>   at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:34)
>   at 
> org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:206)
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>   at java.lang.Thread.run(Thread.java:722)
> Caused by: java.lang.RuntimeException: 
> org.apache.cassandra.exceptions.ReadTimeoutException: Operation timed out - 
> received only 0 responses.
>   at org.apache.cassandra.auth.Auth.selectUser(Auth.java:256)
>   at org.apache.cassandra.auth.Auth.isSuperuser(Auth.java:84)
>   at 
> org.apache.cassandra.auth.AuthenticatedUser.isSuper(AuthenticatedUser.java:50)
>   at 
> org.apache.cassandra.auth.CassandraAuthorizer.authorize(CassandraAuthorizer.java:68)
>   at org.apache.cassandra.service.ClientState$1.load(ClientState.java:278)
>   at org.apache.cassandra.service.ClientState$1.load(ClientState.java:275)
>   at 
> com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3589)
>   at 
> com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2374)
>   at 
> com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2337)
>   at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2252)
> 

[jira] [Updated] (CASSANDRA-8194) Reading from Auth table should not be in the request path

2015-01-08 Thread Sam Tunnicliffe (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-8194?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sam Tunnicliffe updated CASSANDRA-8194:
---
Attachment: 8194-V5.txt

> Reading from Auth table should not be in the request path
> -
>
> Key: CASSANDRA-8194
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8194
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Vishy Kasar
>Assignee: Aleksey Yeschenko
>Priority: Minor
> Fix For: 2.0.12, 3.0
>
> Attachments: 8194-V2.patch, 8194-V3.txt, 8194-V4.txt, 8194-V5.txt, 
> 8194.patch, CacheTest2.java
>
>
> We use PasswordAuthenticator and PasswordAuthorizer. The system_auth has a RF 
> of 10 per DC over 2 DCs. The permissions_validity_in_ms is 5 minutes. 
> We still have few thousand requests failing each day with the trace below. 
> The reason for this is read cache request realizing that cached entry has 
> expired and doing a blocking request to refresh cache. 
> We should have cache refreshed periodically only in the back ground. The user 
> request should simply look at the cache and not try to refresh it. 
> com.google.common.util.concurrent.UncheckedExecutionException: 
> java.lang.RuntimeException: 
> org.apache.cassandra.exceptions.ReadTimeoutException: Operation timed out - 
> received only 0 responses.
>   at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2258)
>   at com.google.common.cache.LocalCache.get(LocalCache.java:3990)
>   at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3994)
>   at 
> com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4878)
>   at 
> org.apache.cassandra.service.ClientState.authorize(ClientState.java:292)
>   at 
> org.apache.cassandra.service.ClientState.ensureHasPermission(ClientState.java:172)
>   at 
> org.apache.cassandra.service.ClientState.hasAccess(ClientState.java:165)
>   at 
> org.apache.cassandra.service.ClientState.hasColumnFamilyAccess(ClientState.java:149)
>   at 
> org.apache.cassandra.cql3.statements.ModificationStatement.checkAccess(ModificationStatement.java:75)
>   at 
> org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:102)
>   at 
> org.apache.cassandra.cql3.QueryProcessor.process(QueryProcessor.java:113)
>   at 
> org.apache.cassandra.thrift.CassandraServer.execute_cql3_query(CassandraServer.java:1735)
>   at 
> org.apache.cassandra.thrift.Cassandra$Processor$execute_cql3_query.getResult(Cassandra.java:4162)
>   at 
> org.apache.cassandra.thrift.Cassandra$Processor$execute_cql3_query.getResult(Cassandra.java:4150)
>   at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:32)
>   at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:34)
>   at 
> org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:206)
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>   at java.lang.Thread.run(Thread.java:722)
> Caused by: java.lang.RuntimeException: 
> org.apache.cassandra.exceptions.ReadTimeoutException: Operation timed out - 
> received only 0 responses.
>   at org.apache.cassandra.auth.Auth.selectUser(Auth.java:256)
>   at org.apache.cassandra.auth.Auth.isSuperuser(Auth.java:84)
>   at 
> org.apache.cassandra.auth.AuthenticatedUser.isSuper(AuthenticatedUser.java:50)
>   at 
> org.apache.cassandra.auth.CassandraAuthorizer.authorize(CassandraAuthorizer.java:68)
>   at org.apache.cassandra.service.ClientState$1.load(ClientState.java:278)
>   at org.apache.cassandra.service.ClientState$1.load(ClientState.java:275)
>   at 
> com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3589)
>   at 
> com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2374)
>   at 
> com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2337)
>   at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2252)
>   ... 19 more
> Caused by: org.apache.cassandra.exceptions.ReadTimeoutException: Operation 
> timed out - received only 0 responses.
>   at org.apache.cassandra.service.ReadCallback.get(ReadCallback.java:105)
>   at 
> org.apache.cassandra.service.StorageProxy.fetchRows(StorageProxy.java:943)
>   at org.apache.cassandra.service.StorageProxy.read(StorageProxy.java:828)
>   at 
> org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:140)
>   at org.apache.cassandra.auth.Auth.selectUser(Auth.java:245)
>   ... 28 more
> ERROR [Thrift:17232] 2014-10-24 05:06:51,004 CustomTThreadP

[jira] [Updated] (CASSANDRA-8586) support millions of sstables by lazily acquiring/caching/dropping filehandles

2015-01-08 Thread Aleksey Yeschenko (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-8586?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Aleksey Yeschenko updated CASSANDRA-8586:
-
Fix Version/s: 3.1

> support millions of sstables by lazily acquiring/caching/dropping filehandles
> -
>
> Key: CASSANDRA-8586
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8586
> Project: Cassandra
>  Issue Type: New Feature
>Reporter: Tupshin Harper
>Assignee: Aleksey Yeschenko
> Fix For: 3.1
>
>
> This might turn into a meta ticket if other obstacles are found in the goal 
> of supporting a huge number of sstables.
> Technically, the only gap that I know of to prevent us from supporting absurd 
> numbers of sstables is the fact that we hold on to an open filehandle for 
> every single sstable. 
> For use cases that are willing to take a hit to read-performance in order to 
> achieve high densities and low write amplification, a mechanism for only 
> retaining file handles for recently read sstables could be very valuable.
> This will allow for alternate compaction strategies and compaction strategy 
> tuning that don't try to optimize for read performance as aggresively.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (CASSANDRA-8586) support millions of sstables by lazily acquiring/caching/dropping filehandles

2015-01-08 Thread Tupshin Harper (JIRA)
Tupshin Harper created CASSANDRA-8586:
-

 Summary: support millions of sstables by lazily 
acquiring/caching/dropping filehandles
 Key: CASSANDRA-8586
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8586
 Project: Cassandra
  Issue Type: New Feature
Reporter: Tupshin Harper
Assignee: Aleksey Yeschenko


This might turn into a meta ticket if other obstacles are found in the goal of 
supporting a huge number of sstables.

Technically, the only gap that I know of to prevent us from supporting absurd 
numbers of sstables is the fact that we hold on to an open filehandle for every 
single sstable. 

For use cases that are willing to take a hit to read-performance in order to 
achieve high densities and low write amplification, a mechanism for only 
retaining file handles for recently read sstables could be very valuable.

This will allow for alternate compaction strategies and compaction strategy 
tuning that don't try to optimize for read performance as aggresively.




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-8552) Large compactions run out of off-heap RAM

2015-01-08 Thread Brent Haines (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8552?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14270185#comment-14270185
 ] 

Brent Haines commented on CASSANDRA-8552:
-

The stories* tables are, but that script doesn't reflect that -- 

{code}
cqlsh:data> describe columnfamily stories;

CREATE TABLE data.stories (
id timeuuid PRIMARY KEY,
action_data timeuuid,
action_name text,
app_id timeuuid,
app_instance_id timeuuid,
data map,
objects set,
time_stamp timestamp,
user_id timeuuid
) WITH bloom_filter_fp_chance = 0.01
AND caching = '{"keys":"ALL", "rows_per_partition":"NONE"}'
AND comment = 'Stories represent the timeline and are placed in the 
dashboard for the brand manager to see'
AND compaction = {'min_threshold': '4', 'class': 
'org.apache.cassandra.db.compaction.LeveledCompactionStrategy', 
'max_threshold': '32'}
AND compression = {'sstable_compression': 
'org.apache.cassandra.io.compress.LZ4Compressor'}
AND dclocal_read_repair_chance = 0.0
AND default_time_to_live = 0
AND gc_grace_seconds = 864000
AND max_index_interval = 2048
AND memtable_flush_period_in_ms = 0
AND min_index_interval = 128
AND read_repair_chance = 0.1
AND speculative_retry = '99.0PERCENTILE';

cqlsh:data> describe columnfamily stories_by_text;

CREATE TABLE data.stories_by_text (
ref_id timeuuid,
second_type text,
second_value text,
object_type text,
field_name text,
value text,
story_id timeuuid,
PRIMARY KEY ((ref_id, second_type, second_value, object_type, field_name), 
value, story_id)
) WITH CLUSTERING ORDER BY (value ASC, story_id ASC)
AND bloom_filter_fp_chance = 0.01
AND caching = '{"keys":"ALL", "rows_per_partition":"NONE"}'
AND comment = 'Searchable fields and actions in a story are indexed by ref 
id which corresponds to a brand, app, app instance, or user.'
AND compaction = {'min_threshold': '4', 'class': 
'org.apache.cassandra.db.compaction.LeveledCompactionStrategy', 
'max_threshold': '32'}
AND compression = {'sstable_compression': 
'org.apache.cassandra.io.compress.LZ4Compressor'}
AND dclocal_read_repair_chance = 0.0
AND default_time_to_live = 0
AND gc_grace_seconds = 864000
AND max_index_interval = 2048
AND memtable_flush_period_in_ms = 0
AND min_index_interval = 128
AND read_repair_chance = 0.1
AND speculative_retry = '99.0PERCENTILE';

cqlsh:data> describe columnfamily stories_by_number;

CREATE TABLE data.stories_by_number (
ref_id timeuuid,
second_type text,
second_value text,
object_type text,
field_name text,
value bigint,
story_id timeuuid,
PRIMARY KEY ((ref_id, second_type, second_value, object_type, field_name), 
value, story_id)
) WITH CLUSTERING ORDER BY (value ASC, story_id ASC)
AND bloom_filter_fp_chance = 0.01
AND caching = '{"keys":"ALL", "rows_per_partition":"NONE"}'
AND comment = 'Searchable fields and actions in a story are indexed by ref 
id which corresponds to a brand, app, app instance, or user.'
AND compaction = {'min_threshold': '4', 'class': 
'org.apache.cassandra.db.compaction.LeveledCompactionStrategy', 
'max_threshold': '32'}
AND compression = {'sstable_compression': 
'org.apache.cassandra.io.compress.LZ4Compressor'}
AND dclocal_read_repair_chance = 0.0
AND default_time_to_live = 0
AND gc_grace_seconds = 864000
AND max_index_interval = 2048
AND memtable_flush_period_in_ms = 0
AND min_index_interval = 128
AND read_repair_chance = 0.1
AND speculative_retry = '99.0PERCENTILE';

{code}



> Large compactions run out of off-heap RAM
> -
>
> Key: CASSANDRA-8552
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8552
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
> Environment: Ubuntu 14.4 
> AWS EC2
> 12 m1.xlarge nodes [4 cores, 16GB RAM, 1TB storage (251GB Used)]
> Java build 1.7.0_55-b13 and build 1.8.0_25-b17
>Reporter: Brent Haines
>Assignee: Benedict
>Priority: Blocker
> Fix For: 2.1.3
>
> Attachments: Screen Shot 2015-01-02 at 9.36.11 PM.png, data.cql, 
> fhandles.log, freelog.log, lsof.txt, meminfo.txt, sysctl.txt, system.log
>
>
> We have a large table of storing, effectively event logs and a pair of 
> denormalized tables for indexing.
> When updating from 2.0 to 2.1 we saw performance improvements, but some 
> random and silent crashes during nightly repairs. We lost a node (totally 
> corrupted) and replaced it. That node has never stabilized -- it simply can't 
> finish the compactions. 
> Smaller compactions finish. Larger compactions, like these two never finish - 
> {code}
> pending tasks: 48
>compaction type   keyspace table completed 

[jira] [Updated] (CASSANDRA-6809) Compressed Commit Log

2015-01-08 Thread Aleksey Yeschenko (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-6809?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Aleksey Yeschenko updated CASSANDRA-6809:
-
Reviewer: Ariel Weisberg

bq. Please reassign as I'm not going to realistically get a chance to review 
for the next few weeks.

Too bad :( Re-assigned to Ariel.

> Compressed Commit Log
> -
>
> Key: CASSANDRA-6809
> URL: https://issues.apache.org/jira/browse/CASSANDRA-6809
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Benedict
>Assignee: Branimir Lambov
>Priority: Minor
>  Labels: performance
> Fix For: 3.0
>
> Attachments: logtest.txt
>
>
> It seems an unnecessary oversight that we don't compress the commit log. 
> Doing so should improve throughput, but some care will need to be taken to 
> ensure we use as much of a segment as possible. I propose decoupling the 
> writing of the records from the segments. Basically write into a (queue of) 
> DirectByteBuffer, and have the sync thread compress, say, ~64K chunks every X 
> MB written to the CL (where X is ordinarily CLS size), and then pack as many 
> of the compressed chunks into a CLS as possible.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (CASSANDRA-6809) Compressed Commit Log

2015-01-08 Thread Aleksey Yeschenko (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-6809?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Aleksey Yeschenko updated CASSANDRA-6809:
-
Reviewer:   (was: Jason Brown)

> Compressed Commit Log
> -
>
> Key: CASSANDRA-6809
> URL: https://issues.apache.org/jira/browse/CASSANDRA-6809
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Benedict
>Assignee: Branimir Lambov
>Priority: Minor
>  Labels: performance
> Fix For: 3.0
>
> Attachments: logtest.txt
>
>
> It seems an unnecessary oversight that we don't compress the commit log. 
> Doing so should improve throughput, but some care will need to be taken to 
> ensure we use as much of a segment as possible. I propose decoupling the 
> writing of the records from the segments. Basically write into a (queue of) 
> DirectByteBuffer, and have the sync thread compress, say, ~64K chunks every X 
> MB written to the CL (where X is ordinarily CLS size), and then pack as many 
> of the compressed chunks into a CLS as possible.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-6809) Compressed Commit Log

2015-01-08 Thread Jason Brown (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-6809?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14270142#comment-14270142
 ] 

Jason Brown commented on CASSANDRA-6809:


Please reassign as I'm not going to realistically get a chance to review for 
the next few weeks.

> Compressed Commit Log
> -
>
> Key: CASSANDRA-6809
> URL: https://issues.apache.org/jira/browse/CASSANDRA-6809
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Benedict
>Assignee: Branimir Lambov
>Priority: Minor
>  Labels: performance
> Fix For: 3.0
>
> Attachments: logtest.txt
>
>
> It seems an unnecessary oversight that we don't compress the commit log. 
> Doing so should improve throughput, but some care will need to be taken to 
> ensure we use as much of a segment as possible. I propose decoupling the 
> writing of the records from the segments. Basically write into a (queue of) 
> DirectByteBuffer, and have the sync thread compress, say, ~64K chunks every X 
> MB written to the CL (where X is ordinarily CLS size), and then pack as many 
> of the compressed chunks into a CLS as possible.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-8552) Large compactions run out of off-heap RAM

2015-01-08 Thread Alan Boudreault (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8552?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14270098#comment-14270098
 ] 

Alan Boudreault commented on CASSANDRA-8552:


[~thebrenthaines] They are not LCS ?

> Large compactions run out of off-heap RAM
> -
>
> Key: CASSANDRA-8552
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8552
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
> Environment: Ubuntu 14.4 
> AWS EC2
> 12 m1.xlarge nodes [4 cores, 16GB RAM, 1TB storage (251GB Used)]
> Java build 1.7.0_55-b13 and build 1.8.0_25-b17
>Reporter: Brent Haines
>Assignee: Benedict
>Priority: Blocker
> Fix For: 2.1.3
>
> Attachments: Screen Shot 2015-01-02 at 9.36.11 PM.png, data.cql, 
> fhandles.log, freelog.log, lsof.txt, meminfo.txt, sysctl.txt, system.log
>
>
> We have a large table of storing, effectively event logs and a pair of 
> denormalized tables for indexing.
> When updating from 2.0 to 2.1 we saw performance improvements, but some 
> random and silent crashes during nightly repairs. We lost a node (totally 
> corrupted) and replaced it. That node has never stabilized -- it simply can't 
> finish the compactions. 
> Smaller compactions finish. Larger compactions, like these two never finish - 
> {code}
> pending tasks: 48
>compaction type   keyspace table completed total   
>  unit   progress
> Compaction   data   stories   16532973358   75977993784   
> bytes 21.76%
> Compaction   data   stories_by_text   10593780658   38555048812   
> bytes 27.48%
> Active compaction remaining time :   0h10m51s
> {code}
> We are not getting exceptions and are not running out of heap space. The 
> Ubuntu OOM killer is reaping the process after all of the memory is consumed. 
> We watch memory in the opscenter console and it will grow. If we turn off the 
> OOM killer for the process, it will run until everything else is killed 
> instead and then the kernel panics.
> We have the following settings configured: 
> 2G Heap
> 512M New
> {code}
> memtable_heap_space_in_mb: 1024
> memtable_offheap_space_in_mb: 1024
> memtable_allocation_type: heap_buffers
> commitlog_total_space_in_mb: 2048
> concurrent_compactors: 1
> compaction_throughput_mb_per_sec: 128
> {code}
> The compaction strategy is leveled (these are read-intensive tables that are 
> rarely updated)
> I have tried every setting, every option and I have the system where the MTBF 
> is about an hour now, but we never finish compacting because there are some 
> large compactions pending. None of the GC tools or settings help because it 
> is not a GC problem. It is an off-heap memory problem.
> We are getting these messages in our syslog 
> {code}
> Jan  2 07:06:00 ip-10-0-2-226 kernel: [49801151.219527] BUG: Bad page map in 
> process java  pte:0320 pmd:2d6fa5067
> Jan  2 07:06:00 ip-10-0-2-226 kernel: [49801151.219545] addr:7fb820be3000 
> vm_flags:0870 anon_vma:  (null) mapping:  (null) 
> index:7fb820be3
> Jan  2 07:06:00 ip-10-0-2-226 kernel: [49801151.219556] CPU: 3 PID: 27344 
> Comm: java Tainted: GB3.13.0-24-generic #47-Ubuntu
> Jan  2 07:06:00 ip-10-0-2-226 kernel: [49801151.219559]  880028510e40 
> 88020d43da98 81715ac4 7fb820be3000
> Jan  2 07:06:00 ip-10-0-2-226 kernel: [49801151.219565]  88020d43dae0 
> 81174183 0320 0007fb820be3
> Jan  2 07:06:00 ip-10-0-2-226 kernel: [49801151.219568]  8802d6fa5f18 
> 0320 7fb820be3000 7fb820be4000
> Jan  2 07:06:00 ip-10-0-2-226 kernel: [49801151.219572] Call Trace:
> Jan  2 07:06:00 ip-10-0-2-226 kernel: [49801151.219584]  [] 
> dump_stack+0x45/0x56
> Jan  2 07:06:00 ip-10-0-2-226 kernel: [49801151.219591]  [] 
> print_bad_pte+0x1a3/0x250
> Jan  2 07:06:00 ip-10-0-2-226 kernel: [49801151.219594]  [] 
> vm_normal_page+0x69/0x80
> Jan  2 07:06:00 ip-10-0-2-226 kernel: [49801151.219598]  [] 
> unmap_page_range+0x3bb/0x7f0
> Jan  2 07:06:00 ip-10-0-2-226 kernel: [49801151.219602]  [] 
> unmap_single_vma+0x81/0xf0
> Jan  2 07:06:00 ip-10-0-2-226 kernel: [49801151.219605]  [] 
> unmap_vmas+0x49/0x90
> Jan  2 07:06:00 ip-10-0-2-226 kernel: [49801151.219610]  [] 
> exit_mmap+0x9c/0x170
> Jan  2 07:06:00 ip-10-0-2-226 kernel: [49801151.219617]  [] 
> ? __delayacct_add_tsk+0x153/0x170
> Jan  2 07:06:00 ip-10-0-2-226 kernel: [49801151.219621]  [] 
> mmput+0x5c/0x120
> Jan  2 07:06:00 ip-10-0-2-226 kernel: [49801151.219625]  [] 
> do_exit+0x26c/0xa50
> Jan  2 07:06:00 ip-10-0-2-226 kernel: [49801151.219631]  [] 
> ? __unqueue_futex+0x31/0x60
> Jan  2 07:06:00 ip-10-0-2-226 kernel: [49801151.219634]  [] 
> ? futex_wait+0x126/0x290
> Jan  2 07:06:00 ip-10-0-2-226 kernel: [498

[jira] [Updated] (CASSANDRA-8552) Large compactions run out of off-heap RAM

2015-01-08 Thread Brent Haines (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-8552?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Brent Haines updated CASSANDRA-8552:

Attachment: data.cql

Here is our schema for application data

> Large compactions run out of off-heap RAM
> -
>
> Key: CASSANDRA-8552
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8552
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
> Environment: Ubuntu 14.4 
> AWS EC2
> 12 m1.xlarge nodes [4 cores, 16GB RAM, 1TB storage (251GB Used)]
> Java build 1.7.0_55-b13 and build 1.8.0_25-b17
>Reporter: Brent Haines
>Assignee: Benedict
>Priority: Blocker
> Fix For: 2.1.3
>
> Attachments: Screen Shot 2015-01-02 at 9.36.11 PM.png, data.cql, 
> fhandles.log, freelog.log, lsof.txt, meminfo.txt, sysctl.txt, system.log
>
>
> We have a large table of storing, effectively event logs and a pair of 
> denormalized tables for indexing.
> When updating from 2.0 to 2.1 we saw performance improvements, but some 
> random and silent crashes during nightly repairs. We lost a node (totally 
> corrupted) and replaced it. That node has never stabilized -- it simply can't 
> finish the compactions. 
> Smaller compactions finish. Larger compactions, like these two never finish - 
> {code}
> pending tasks: 48
>compaction type   keyspace table completed total   
>  unit   progress
> Compaction   data   stories   16532973358   75977993784   
> bytes 21.76%
> Compaction   data   stories_by_text   10593780658   38555048812   
> bytes 27.48%
> Active compaction remaining time :   0h10m51s
> {code}
> We are not getting exceptions and are not running out of heap space. The 
> Ubuntu OOM killer is reaping the process after all of the memory is consumed. 
> We watch memory in the opscenter console and it will grow. If we turn off the 
> OOM killer for the process, it will run until everything else is killed 
> instead and then the kernel panics.
> We have the following settings configured: 
> 2G Heap
> 512M New
> {code}
> memtable_heap_space_in_mb: 1024
> memtable_offheap_space_in_mb: 1024
> memtable_allocation_type: heap_buffers
> commitlog_total_space_in_mb: 2048
> concurrent_compactors: 1
> compaction_throughput_mb_per_sec: 128
> {code}
> The compaction strategy is leveled (these are read-intensive tables that are 
> rarely updated)
> I have tried every setting, every option and I have the system where the MTBF 
> is about an hour now, but we never finish compacting because there are some 
> large compactions pending. None of the GC tools or settings help because it 
> is not a GC problem. It is an off-heap memory problem.
> We are getting these messages in our syslog 
> {code}
> Jan  2 07:06:00 ip-10-0-2-226 kernel: [49801151.219527] BUG: Bad page map in 
> process java  pte:0320 pmd:2d6fa5067
> Jan  2 07:06:00 ip-10-0-2-226 kernel: [49801151.219545] addr:7fb820be3000 
> vm_flags:0870 anon_vma:  (null) mapping:  (null) 
> index:7fb820be3
> Jan  2 07:06:00 ip-10-0-2-226 kernel: [49801151.219556] CPU: 3 PID: 27344 
> Comm: java Tainted: GB3.13.0-24-generic #47-Ubuntu
> Jan  2 07:06:00 ip-10-0-2-226 kernel: [49801151.219559]  880028510e40 
> 88020d43da98 81715ac4 7fb820be3000
> Jan  2 07:06:00 ip-10-0-2-226 kernel: [49801151.219565]  88020d43dae0 
> 81174183 0320 0007fb820be3
> Jan  2 07:06:00 ip-10-0-2-226 kernel: [49801151.219568]  8802d6fa5f18 
> 0320 7fb820be3000 7fb820be4000
> Jan  2 07:06:00 ip-10-0-2-226 kernel: [49801151.219572] Call Trace:
> Jan  2 07:06:00 ip-10-0-2-226 kernel: [49801151.219584]  [] 
> dump_stack+0x45/0x56
> Jan  2 07:06:00 ip-10-0-2-226 kernel: [49801151.219591]  [] 
> print_bad_pte+0x1a3/0x250
> Jan  2 07:06:00 ip-10-0-2-226 kernel: [49801151.219594]  [] 
> vm_normal_page+0x69/0x80
> Jan  2 07:06:00 ip-10-0-2-226 kernel: [49801151.219598]  [] 
> unmap_page_range+0x3bb/0x7f0
> Jan  2 07:06:00 ip-10-0-2-226 kernel: [49801151.219602]  [] 
> unmap_single_vma+0x81/0xf0
> Jan  2 07:06:00 ip-10-0-2-226 kernel: [49801151.219605]  [] 
> unmap_vmas+0x49/0x90
> Jan  2 07:06:00 ip-10-0-2-226 kernel: [49801151.219610]  [] 
> exit_mmap+0x9c/0x170
> Jan  2 07:06:00 ip-10-0-2-226 kernel: [49801151.219617]  [] 
> ? __delayacct_add_tsk+0x153/0x170
> Jan  2 07:06:00 ip-10-0-2-226 kernel: [49801151.219621]  [] 
> mmput+0x5c/0x120
> Jan  2 07:06:00 ip-10-0-2-226 kernel: [49801151.219625]  [] 
> do_exit+0x26c/0xa50
> Jan  2 07:06:00 ip-10-0-2-226 kernel: [49801151.219631]  [] 
> ? __unqueue_futex+0x31/0x60
> Jan  2 07:06:00 ip-10-0-2-226 kernel: [49801151.219634]  [] 
> ? futex_wait+0x126/0x290
> Jan  2 07:06:00 ip-10-0-2-226 kernel: [49801151.219640]  [] 
> ? _raw_spin_un

[jira] [Updated] (CASSANDRA-8580) AssertionErrors after activating unchecked_tombstone_compaction with leveled compaction

2015-01-08 Thread Philip Thompson (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-8580?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Philip Thompson updated CASSANDRA-8580:
---
Fix Version/s: 2.1.3
 Assignee: Marcus Eriksson

> AssertionErrors after activating unchecked_tombstone_compaction with leveled 
> compaction
> ---
>
> Key: CASSANDRA-8580
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8580
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Björn Hachmann
>Assignee: Marcus Eriksson
> Fix For: 2.1.3
>
>
> During our upgrade of Cassandra from version 2.0.7 to 2.1.2 we experienced a 
> serious problem regarding the setting unchecked_tombstone_compaction in 
> combination with leveled compaction strategy.
> In order to prevent tombstone-threshold-warnings we activated the setting for 
> a specific table after the upgrade. Some time after that we observed new 
> errors in our log files:
> {code}
> INFO  [CompactionExecutor:184] 2014-12-11 12:36:06,597 
> CompactionTask.java:136 - Compacting 
> [SSTableReader(path='/data/cassandra/data/system/compactions_in_progress/system-compactions_in_progress-ka-1848-Data.db'),
>  SSTableReader(path='/
> data/cassandra/data/system/compactions_in_progress/system-compactions_in_progress-ka-1847-Data.db'),
>  
> SSTableReader(path='/data/cassandra/data/system/compactions_in_progress/system-compactions_in_progress-ka-1845-Data.db'),
>  SSTableReader
> (path='/data/cassandra/data/system/compactions_in_progress/system-compactions_in_progress-ka-1846-Data.db')]
> ERROR [CompactionExecutor:183] 2014-12-11 12:36:06,613 
> CassandraDaemon.java:153 - Exception in thread 
> Thread[CompactionExecutor:183,1,main]
> java.lang.AssertionError: 
> /data/cassandra/data/metrigo_prod/new_user_data/metrigo_prod-new_user_data-tmplink-ka-705732-Data.db
> at 
> org.apache.cassandra.io.sstable.SSTableReader.getApproximateKeyCount(SSTableReader.java:243)
>  ~[apache-cassandra-2.1.2.jar:2.1.2]
> at 
> org.apache.cassandra.db.compaction.CompactionTask.runWith(CompactionTask.java:146)
>  ~[apache-cassandra-2.1.2.jar:2.1.2]
> at 
> org.apache.cassandra.io.util.DiskAwareRunnable.runMayThrow(DiskAwareRunnable.java:48)
>  ~[apache-cassandra-2.1.2.jar:2.1.2]
> at 
> org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) 
> ~[apache-cassandra-2.1.2.jar:2.1.2]
> at 
> org.apache.cassandra.db.compaction.CompactionTask.executeInternal(CompactionTask.java:75)
>  ~[apache-cassandra-2.1.2.jar:2.1.2]
> at 
> org.apache.cassandra.db.compaction.AbstractCompactionTask.execute(AbstractCompactionTask.java:59)
>  ~[apache-cassandra-2.1.2.jar:2.1.2]
> at 
> org.apache.cassandra.db.compaction.CompactionManager$BackgroundCompactionTask.run(CompactionManager.java:232)
>  ~[apache-cassandra-2.1.2.jar:2.1.2]
> at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
> ~[na:1.7.0_45]
> at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
> ~[na:1.7.0_45]
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>  ~[na:1.7.0_45]
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>  [na:1.7.0_45]
> at java.lang.Thread.run(Thread.java:744) [na:1.7.0_45]
> {code}
> Obviously that error aborted the compaction and after some time the number of 
> pending compactions became very high on every node. Of course, this in turn 
> had a negative impact on several other metrics.
> After reverting the setting we had to restart all nodes. After that 
> compactions could finish again and the pending compactions could be worked 
> off.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[Cassandra Wiki] Update of "HowToContribute" by RussellHatch

2015-01-08 Thread Apache Wiki
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Cassandra Wiki" for 
change notification.

The "HowToContribute" page has been changed by RussellHatch:
https://wiki.apache.org/cassandra/HowToContribute?action=diff&rev1=59&rev2=60

Comment:
update code coverage info from cobertura to jacoco

   1. Run all tests by running `nosetests` from the dtest checkout.  You can 
run a specific module like so: `nosetests cql_tests.py`.  You can run a 
specific test method like this: `nosetests cql_tests.py:TestCQL.counters_test`
  
  === Running the code coverage task ===
-  1. Unzip this one: 
http://sourceforge.net/projects/cobertura/files/cobertura/1.9.4.1/cobertura-1.9.4.1-bin.zip/download
-  1. `ant codecoverage -Dcobertura.dir=/path/to/cobertura`
-  1. `/path/to/cobertura/cobertura-report.sh --destination 
build/cobertura/html source code src/java`
-  1. View `build/cobertura/html/index.html`
+  1. Run a basic coverage report of unit tests using `ant codecoverage`
+  1. Alternatively, run any test task with `ant jacoco-run 
-Dtaskname=some_test_taskname`. Run more test tasks in this fashion to push 
more coverage data onto the report in progress. Then manually build the report 
with `ant jacoco-report` (the 'codecoverage' task shown above does this 
automatically).
+  1. View the report at `build/jacoco/index.html`.
+  1. When done, clean up jacoco data so it doesn't confuse your next coverage 
report: `ant jacoco-cleanup`.
  
  === Continuous integration ===
  Jenkins runs the Cassandra tests continuously: http://cassci.datastax.com/ 
(Builders for stable branches also exist.)


[jira] [Updated] (CASSANDRA-8550) Internal pagination in CQL3 index queries creating substantial overhead

2015-01-08 Thread Tyler Hobbs (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-8550?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tyler Hobbs updated CASSANDRA-8550:
---
Attachment: 8550-2.0.txt

It looks like this has been a problem since CASSANDRA-3680.  The logic there 
appears to have been copied from KeysSearcher (where it actually makes sense).

The attached patch just uses the query limit to calculate the index table slice 
limit.

[~blerer] can you review?

> Internal pagination in CQL3 index queries creating substantial overhead
> ---
>
> Key: CASSANDRA-8550
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8550
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Reporter: Samuel Klock
>Assignee: Tyler Hobbs
> Fix For: 2.0.12, 2.1.3
>
> Attachments: 8550-2.0.txt
>
>
> While benchmarking CQL3 secondary indexes in 2.1.2, we've noticed substantial 
> performance degradation as the volume of indexed data increases.  In trying 
> to figure out what's going on, we found that a major factor contributing to 
> this degradation appears to be logic in 
> {{o.a.c.db.index.composites.CompositesSearcher}} used to paginate scans of 
> index tables.  In particular, in the use cases we've explored, this short 
> algorithm used to select a page size appears to be the culprit:
> {code:java}
> private int meanColumns = 
> Math.max(index.getIndexCfs().getMeanColumns(), 1);
> // We shouldn't fetch only 1 row as this provides buggy paging in 
> case the first row doesn't satisfy all clauses
> private int rowsPerQuery = Math.max(Math.min(filter.maxRows(), 
> filter.maxColumns() / meanColumns), 2);
> {code}
> In indexes where the cardinality doesn't scale linearly with the volume of 
> data indexed, it seems likely that the value of {{meanColumns}} will steadily 
> rise in write-heavy workloads.  In the cases we've explored, 
> {{filter.maxColumns()}} returns a small enough number (related to the lesser 
> of the native-protocol page size or the user-specified limit for the query) 
> that, after {{meanColumns}} reaches a few thousand, {{rowsPerQuery}} (the 
> page size) is consistently set to 2.
> The resulting overhead is severe.  In our environment, if we fix 
> {{rowsPerQuery}} to some reasonably large constant (e.g., 5,000), queries 
> that with the existing logic would require over two minutes to complete can 
> run in under ten seconds.
> Using a constant clearly seems like the wrong answer.  But the overhead the 
> existing algorithm seems to introduce suggests that it isn't the right answer 
> either.  An intuitive solution might be to use the minimum of 
> {{filter.maxRows()}} and {{filter.maxColumns()}} (or 2 if both of those are 
> 1), but it's not immediately clear that there aren't safety considerations 
> the algorithm is attempting to account for that this strategy does not.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (CASSANDRA-8550) Internal pagination in CQL3 index queries creating substantial overhead

2015-01-08 Thread Tyler Hobbs (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-8550?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tyler Hobbs updated CASSANDRA-8550:
---
Reviewer: Benjamin Lerer

> Internal pagination in CQL3 index queries creating substantial overhead
> ---
>
> Key: CASSANDRA-8550
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8550
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Reporter: Samuel Klock
>Assignee: Tyler Hobbs
> Fix For: 2.0.12, 2.1.3
>
> Attachments: 8550-2.0.txt
>
>
> While benchmarking CQL3 secondary indexes in 2.1.2, we've noticed substantial 
> performance degradation as the volume of indexed data increases.  In trying 
> to figure out what's going on, we found that a major factor contributing to 
> this degradation appears to be logic in 
> {{o.a.c.db.index.composites.CompositesSearcher}} used to paginate scans of 
> index tables.  In particular, in the use cases we've explored, this short 
> algorithm used to select a page size appears to be the culprit:
> {code:java}
> private int meanColumns = 
> Math.max(index.getIndexCfs().getMeanColumns(), 1);
> // We shouldn't fetch only 1 row as this provides buggy paging in 
> case the first row doesn't satisfy all clauses
> private int rowsPerQuery = Math.max(Math.min(filter.maxRows(), 
> filter.maxColumns() / meanColumns), 2);
> {code}
> In indexes where the cardinality doesn't scale linearly with the volume of 
> data indexed, it seems likely that the value of {{meanColumns}} will steadily 
> rise in write-heavy workloads.  In the cases we've explored, 
> {{filter.maxColumns()}} returns a small enough number (related to the lesser 
> of the native-protocol page size or the user-specified limit for the query) 
> that, after {{meanColumns}} reaches a few thousand, {{rowsPerQuery}} (the 
> page size) is consistently set to 2.
> The resulting overhead is severe.  In our environment, if we fix 
> {{rowsPerQuery}} to some reasonably large constant (e.g., 5,000), queries 
> that with the existing logic would require over two minutes to complete can 
> run in under ten seconds.
> Using a constant clearly seems like the wrong answer.  But the overhead the 
> existing algorithm seems to introduce suggests that it isn't the right answer 
> either.  An intuitive solution might be to use the minimum of 
> {{filter.maxRows()}} and {{filter.maxColumns()}} (or 2 if both of those are 
> 1), but it's not immediately clear that there aren't safety considerations 
> the algorithm is attempting to account for that this strategy does not.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (CASSANDRA-8550) Internal pagination in CQL3 index queries creating substantial overhead

2015-01-08 Thread Tyler Hobbs (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-8550?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tyler Hobbs updated CASSANDRA-8550:
---
Since Version: 1.2.0 beta 1
Fix Version/s: 2.0.12

> Internal pagination in CQL3 index queries creating substantial overhead
> ---
>
> Key: CASSANDRA-8550
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8550
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Reporter: Samuel Klock
>Assignee: Tyler Hobbs
> Fix For: 2.0.12, 2.1.3
>
>
> While benchmarking CQL3 secondary indexes in 2.1.2, we've noticed substantial 
> performance degradation as the volume of indexed data increases.  In trying 
> to figure out what's going on, we found that a major factor contributing to 
> this degradation appears to be logic in 
> {{o.a.c.db.index.composites.CompositesSearcher}} used to paginate scans of 
> index tables.  In particular, in the use cases we've explored, this short 
> algorithm used to select a page size appears to be the culprit:
> {code:java}
> private int meanColumns = 
> Math.max(index.getIndexCfs().getMeanColumns(), 1);
> // We shouldn't fetch only 1 row as this provides buggy paging in 
> case the first row doesn't satisfy all clauses
> private int rowsPerQuery = Math.max(Math.min(filter.maxRows(), 
> filter.maxColumns() / meanColumns), 2);
> {code}
> In indexes where the cardinality doesn't scale linearly with the volume of 
> data indexed, it seems likely that the value of {{meanColumns}} will steadily 
> rise in write-heavy workloads.  In the cases we've explored, 
> {{filter.maxColumns()}} returns a small enough number (related to the lesser 
> of the native-protocol page size or the user-specified limit for the query) 
> that, after {{meanColumns}} reaches a few thousand, {{rowsPerQuery}} (the 
> page size) is consistently set to 2.
> The resulting overhead is severe.  In our environment, if we fix 
> {{rowsPerQuery}} to some reasonably large constant (e.g., 5,000), queries 
> that with the existing logic would require over two minutes to complete can 
> run in under ten seconds.
> Using a constant clearly seems like the wrong answer.  But the overhead the 
> existing algorithm seems to introduce suggests that it isn't the right answer 
> either.  An intuitive solution might be to use the minimum of 
> {{filter.maxRows()}} and {{filter.maxColumns()}} (or 2 if both of those are 
> 1), but it's not immediately clear that there aren't safety considerations 
> the algorithm is attempting to account for that this strategy does not.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (CASSANDRA-8581) Null pointer in cassandra.hadoop.ColumnFamilyRecoderWriter

2015-01-08 Thread Philip Thompson (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-8581?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Philip Thompson updated CASSANDRA-8581:
---
Tester:   (was: Philip Thompson)

> Null pointer in cassandra.hadoop.ColumnFamilyRecoderWriter
> --
>
> Key: CASSANDRA-8581
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8581
> Project: Cassandra
>  Issue Type: Bug
>  Components: Hadoop
>Reporter: xiangdong Huang
>Assignee: Brandon Williams
>  Labels: hadoop
> Fix For: 2.1.3
>
> Attachments: 屏幕快照 2015-01-08 下午7.59.29.png, 屏幕快照 2015-01-08 
> 下午8.01.15.png, 屏幕快照 2015-01-08 下午8.07.23.png
>
>
> When I run examples/hadoop_word_count. I find that ReducerToFilesystem is 
> correct but when I use ReducerToCassandra, the program will call loadYaml().
> The reason is that the program catch a exception at line 196 of 
> ColumnFamilyRecoderWriter.java. 
> Then it check why the exception occur, then it loadYaml to check if the disk 
> is broken...
> However, the exception is NullPointerException. because the client is not 
> initialized.
>  
> So we need a check to judge whether the client is null. 
> (
> The exception, original code and fixed code are in the attachments.
> )



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-8585) Thrift CLI client reporting inconsistent column family structure after upgrade to Cassandra 2.1.2

2015-01-08 Thread Sotirios Delimanolis (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8585?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14270036#comment-14270036
 ] 

Sotirios Delimanolis commented on CASSANDRA-8585:
-

That's definitely good to know. I'll make sure that the one responsible is 
aware (I did my upgrade locally, nothing serious).  Cheers!

> Thrift CLI client reporting inconsistent column family structure after 
> upgrade to Cassandra 2.1.2
> -
>
> Key: CASSANDRA-8585
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8585
> Project: Cassandra
>  Issue Type: Bug
>  Components: API
>Reporter: Sotirios Delimanolis
>Assignee: Philip Thompson
>Priority: Minor
> Fix For: 2.1.3
>
> Attachments: schema_columnfamilies.out, schema_columns.out
>
>
> After upgrading from Cassandra 2.0.6.4 to Cassandra 2.1.2-SNAPSHOT, the 
> Thrift CLI client started reporting wrong default_validation_class for a 
> Column Family.
> For example, 
> {noformat}
> [default@MyKeyspace] show schema;
> [...]
> create column family SomeColumnFamily
>   with column_type = 'Standard'
>   and comparator = 'BytesType'
>   and default_validation_class = 'BytesType'
>   and key_validation_class = 'BytesType'
>   and read_repair_chance = 0.1
>   and dclocal_read_repair_chance = 0.0
>   and gc_grace = 10800
>   and min_compaction_threshold = 4
>   and max_compaction_threshold = 32
>   and compaction_strategy = 
> 'org.apache.cassandra.db.compaction.LeveledCompactionStrategy'
>   and caching = 'KEYS_ONLY'
>   and cells_per_row_to_cache = '0'
>   and default_time_to_live = 0
>   and speculative_retry = 'NONE'
>   and compaction_strategy_options = {'tombstone_compaction_interval' : '300', 
> 'sstable_size_in_mb' : '200', 'tombstone_threshold' : '0.1'}
>   and compression_options = {'sstable_compression' : 
> 'org.apache.cassandra.io.compress.SnappyCompressor'};
> {noformat}
> but
> {noformat}
> [default@MyKeyspace] describe SomeColumnFamily;
> WARNING: CQL3 tables are intentionally omitted from 'describe' output.
> See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.
> ColumnFamily: SomeColumnFamily
>   Key Validation Class: org.apache.cassandra.db.marshal.BytesType
>   Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
>   Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
>   GC grace seconds: 10800
>   Compaction min/max thresholds: 4/32
>   Read repair chance: 0.1
>   DC Local Read repair chance: 0.0
>   Caching: KEYS_ONLY
>   Default time to live: 0
>   Bloom Filter FP chance: default
>   Index interval: default
>   Speculative Retry: NONE
>   Built indexes: []
>   Compaction Strategy: 
> org.apache.cassandra.db.compaction.LeveledCompactionStrategy
>   Compaction Strategy Options:
> tombstone_compaction_interval: 300
> sstable_size_in_mb: 200
> tombstone_threshold: 0.1
>   Compression Options:
> sstable_compression: org.apache.cassandra.io.compress.SnappyCompressor
> {noformat}
> Note how the default column value validator and cell sorting is UTF8Type 
> rather than the BytesType reported earlier.
> If I populate the column family and list its rows, I get
> {noformat}
> [default@MyKeyspace] list SomeColumnFamily;
> Using default limit of 100
> Using default cell limit of 100
> ---
> RowKey: SomeRowKey
> String didn't validate.
> {noformat}
> I can't see the row. I can temporarily fix this by setting the 
> default_column_validator
> {noformat}
> [default@MyKeyspace] update column family SomeColumnFamily with 
> default_validation_class = BytesType;
> 0fba13e4-aac6-3963-ad65-ba354d99ebdc
> [default@MyKeyspace] list SomeColumnFamily;
> Using default limit of 100
> Using default cell limit of 100
> ---
> RowKey: SomeRowKey
> => (name=some name, value=some value, timestamp=635540144263687300)
> ---
> [More RowKeys]
> {noformat}
> If I do a DESCRIBE again, though, LIST stops working again.
> {noformat}
> [default@KeySpace] describe SomeColumnFamily;
> WARNING: CQL3 tables are intentionally omitted from 'describe' output.
> See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.
> ColumnFamily: SomeColumnFamily
>   Key Validation Class: org.apache.cassandra.db.marshal.BytesType
>   Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
>   Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
>   GC grace seconds: 10800
>   Compaction min/max thresholds: 4/32
>   Read repair chance: 0.1
>   DC Local Read repair chance: 0.0
>   Caching: KEYS_ONLY
>   Default time to live: 0
>   Bloom Filter FP chance

[jira] [Commented] (CASSANDRA-8585) Thrift CLI client reporting inconsistent column family structure after upgrade to Cassandra 2.1.2

2015-01-08 Thread Philip Thompson (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8585?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14270029#comment-14270029
 ] 

Philip Thompson commented on CASSANDRA-8585:


I should note, in case you weren't aware, though it's too late, upgrading 
directly from 2.0.6 to 2.1.2 is not supported. The only supported (or tested) 
upgrade path is from the most recent minor version for a given major version, 
which would be 2.0.11 -> 2.1.2. It may work, but it is always safer, especially 
in a production environment, to do an upgrade path like 2.0.6 -> 2.0.11 -> 
2.1.2.

Thank you for being so responsive on this ticket!

> Thrift CLI client reporting inconsistent column family structure after 
> upgrade to Cassandra 2.1.2
> -
>
> Key: CASSANDRA-8585
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8585
> Project: Cassandra
>  Issue Type: Bug
>  Components: API
>Reporter: Sotirios Delimanolis
>Assignee: Philip Thompson
>Priority: Minor
> Fix For: 2.1.3
>
> Attachments: schema_columnfamilies.out, schema_columns.out
>
>
> After upgrading from Cassandra 2.0.6.4 to Cassandra 2.1.2-SNAPSHOT, the 
> Thrift CLI client started reporting wrong default_validation_class for a 
> Column Family.
> For example, 
> {noformat}
> [default@MyKeyspace] show schema;
> [...]
> create column family SomeColumnFamily
>   with column_type = 'Standard'
>   and comparator = 'BytesType'
>   and default_validation_class = 'BytesType'
>   and key_validation_class = 'BytesType'
>   and read_repair_chance = 0.1
>   and dclocal_read_repair_chance = 0.0
>   and gc_grace = 10800
>   and min_compaction_threshold = 4
>   and max_compaction_threshold = 32
>   and compaction_strategy = 
> 'org.apache.cassandra.db.compaction.LeveledCompactionStrategy'
>   and caching = 'KEYS_ONLY'
>   and cells_per_row_to_cache = '0'
>   and default_time_to_live = 0
>   and speculative_retry = 'NONE'
>   and compaction_strategy_options = {'tombstone_compaction_interval' : '300', 
> 'sstable_size_in_mb' : '200', 'tombstone_threshold' : '0.1'}
>   and compression_options = {'sstable_compression' : 
> 'org.apache.cassandra.io.compress.SnappyCompressor'};
> {noformat}
> but
> {noformat}
> [default@MyKeyspace] describe SomeColumnFamily;
> WARNING: CQL3 tables are intentionally omitted from 'describe' output.
> See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.
> ColumnFamily: SomeColumnFamily
>   Key Validation Class: org.apache.cassandra.db.marshal.BytesType
>   Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
>   Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
>   GC grace seconds: 10800
>   Compaction min/max thresholds: 4/32
>   Read repair chance: 0.1
>   DC Local Read repair chance: 0.0
>   Caching: KEYS_ONLY
>   Default time to live: 0
>   Bloom Filter FP chance: default
>   Index interval: default
>   Speculative Retry: NONE
>   Built indexes: []
>   Compaction Strategy: 
> org.apache.cassandra.db.compaction.LeveledCompactionStrategy
>   Compaction Strategy Options:
> tombstone_compaction_interval: 300
> sstable_size_in_mb: 200
> tombstone_threshold: 0.1
>   Compression Options:
> sstable_compression: org.apache.cassandra.io.compress.SnappyCompressor
> {noformat}
> Note how the default column value validator and cell sorting is UTF8Type 
> rather than the BytesType reported earlier.
> If I populate the column family and list its rows, I get
> {noformat}
> [default@MyKeyspace] list SomeColumnFamily;
> Using default limit of 100
> Using default cell limit of 100
> ---
> RowKey: SomeRowKey
> String didn't validate.
> {noformat}
> I can't see the row. I can temporarily fix this by setting the 
> default_column_validator
> {noformat}
> [default@MyKeyspace] update column family SomeColumnFamily with 
> default_validation_class = BytesType;
> 0fba13e4-aac6-3963-ad65-ba354d99ebdc
> [default@MyKeyspace] list SomeColumnFamily;
> Using default limit of 100
> Using default cell limit of 100
> ---
> RowKey: SomeRowKey
> => (name=some name, value=some value, timestamp=635540144263687300)
> ---
> [More RowKeys]
> {noformat}
> If I do a DESCRIBE again, though, LIST stops working again.
> {noformat}
> [default@KeySpace] describe SomeColumnFamily;
> WARNING: CQL3 tables are intentionally omitted from 'describe' output.
> See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.
> ColumnFamily: SomeColumnFamily
>   Key Validation Class: org.apache.cassandra.db.marshal.BytesType
>   Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
> 

[jira] [Commented] (CASSANDRA-8585) Thrift CLI client reporting inconsistent column family structure after upgrade to Cassandra 2.1.2

2015-01-08 Thread Sotirios Delimanolis (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8585?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14270023#comment-14270023
 ] 

Sotirios Delimanolis commented on CASSANDRA-8585:
-

Yeah, I discovered this while starting to migrate to CQL. I was just worried 
that it might affect more than the cassandra-cli, but it seems that's not the 
case. Thanks for checking. I don't plan on providing a fix either. Thank you!

> Thrift CLI client reporting inconsistent column family structure after 
> upgrade to Cassandra 2.1.2
> -
>
> Key: CASSANDRA-8585
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8585
> Project: Cassandra
>  Issue Type: Bug
>  Components: API
>Reporter: Sotirios Delimanolis
>Assignee: Philip Thompson
>Priority: Minor
> Fix For: 2.1.3
>
> Attachments: schema_columnfamilies.out, schema_columns.out
>
>
> After upgrading from Cassandra 2.0.6.4 to Cassandra 2.1.2-SNAPSHOT, the 
> Thrift CLI client started reporting wrong default_validation_class for a 
> Column Family.
> For example, 
> {noformat}
> [default@MyKeyspace] show schema;
> [...]
> create column family SomeColumnFamily
>   with column_type = 'Standard'
>   and comparator = 'BytesType'
>   and default_validation_class = 'BytesType'
>   and key_validation_class = 'BytesType'
>   and read_repair_chance = 0.1
>   and dclocal_read_repair_chance = 0.0
>   and gc_grace = 10800
>   and min_compaction_threshold = 4
>   and max_compaction_threshold = 32
>   and compaction_strategy = 
> 'org.apache.cassandra.db.compaction.LeveledCompactionStrategy'
>   and caching = 'KEYS_ONLY'
>   and cells_per_row_to_cache = '0'
>   and default_time_to_live = 0
>   and speculative_retry = 'NONE'
>   and compaction_strategy_options = {'tombstone_compaction_interval' : '300', 
> 'sstable_size_in_mb' : '200', 'tombstone_threshold' : '0.1'}
>   and compression_options = {'sstable_compression' : 
> 'org.apache.cassandra.io.compress.SnappyCompressor'};
> {noformat}
> but
> {noformat}
> [default@MyKeyspace] describe SomeColumnFamily;
> WARNING: CQL3 tables are intentionally omitted from 'describe' output.
> See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.
> ColumnFamily: SomeColumnFamily
>   Key Validation Class: org.apache.cassandra.db.marshal.BytesType
>   Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
>   Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
>   GC grace seconds: 10800
>   Compaction min/max thresholds: 4/32
>   Read repair chance: 0.1
>   DC Local Read repair chance: 0.0
>   Caching: KEYS_ONLY
>   Default time to live: 0
>   Bloom Filter FP chance: default
>   Index interval: default
>   Speculative Retry: NONE
>   Built indexes: []
>   Compaction Strategy: 
> org.apache.cassandra.db.compaction.LeveledCompactionStrategy
>   Compaction Strategy Options:
> tombstone_compaction_interval: 300
> sstable_size_in_mb: 200
> tombstone_threshold: 0.1
>   Compression Options:
> sstable_compression: org.apache.cassandra.io.compress.SnappyCompressor
> {noformat}
> Note how the default column value validator and cell sorting is UTF8Type 
> rather than the BytesType reported earlier.
> If I populate the column family and list its rows, I get
> {noformat}
> [default@MyKeyspace] list SomeColumnFamily;
> Using default limit of 100
> Using default cell limit of 100
> ---
> RowKey: SomeRowKey
> String didn't validate.
> {noformat}
> I can't see the row. I can temporarily fix this by setting the 
> default_column_validator
> {noformat}
> [default@MyKeyspace] update column family SomeColumnFamily with 
> default_validation_class = BytesType;
> 0fba13e4-aac6-3963-ad65-ba354d99ebdc
> [default@MyKeyspace] list SomeColumnFamily;
> Using default limit of 100
> Using default cell limit of 100
> ---
> RowKey: SomeRowKey
> => (name=some name, value=some value, timestamp=635540144263687300)
> ---
> [More RowKeys]
> {noformat}
> If I do a DESCRIBE again, though, LIST stops working again.
> {noformat}
> [default@KeySpace] describe SomeColumnFamily;
> WARNING: CQL3 tables are intentionally omitted from 'describe' output.
> See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.
> ColumnFamily: SomeColumnFamily
>   Key Validation Class: org.apache.cassandra.db.marshal.BytesType
>   Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
>   Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
>   GC grace seconds: 10800
>   Compaction min/max thresholds: 4/32
>   Read repair chance: 0.1
>   DC Local Read repair ch

[jira] [Resolved] (CASSANDRA-8585) Thrift CLI client reporting inconsistent column family structure after upgrade to Cassandra 2.1.2

2015-01-08 Thread Philip Thompson (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-8585?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Philip Thompson resolved CASSANDRA-8585.

Resolution: Won't Fix

> Thrift CLI client reporting inconsistent column family structure after 
> upgrade to Cassandra 2.1.2
> -
>
> Key: CASSANDRA-8585
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8585
> Project: Cassandra
>  Issue Type: Bug
>  Components: API
>Reporter: Sotirios Delimanolis
>Assignee: Philip Thompson
>Priority: Minor
> Fix For: 2.1.3
>
> Attachments: schema_columnfamilies.out, schema_columns.out
>
>
> After upgrading from Cassandra 2.0.6.4 to Cassandra 2.1.2-SNAPSHOT, the 
> Thrift CLI client started reporting wrong default_validation_class for a 
> Column Family.
> For example, 
> {noformat}
> [default@MyKeyspace] show schema;
> [...]
> create column family SomeColumnFamily
>   with column_type = 'Standard'
>   and comparator = 'BytesType'
>   and default_validation_class = 'BytesType'
>   and key_validation_class = 'BytesType'
>   and read_repair_chance = 0.1
>   and dclocal_read_repair_chance = 0.0
>   and gc_grace = 10800
>   and min_compaction_threshold = 4
>   and max_compaction_threshold = 32
>   and compaction_strategy = 
> 'org.apache.cassandra.db.compaction.LeveledCompactionStrategy'
>   and caching = 'KEYS_ONLY'
>   and cells_per_row_to_cache = '0'
>   and default_time_to_live = 0
>   and speculative_retry = 'NONE'
>   and compaction_strategy_options = {'tombstone_compaction_interval' : '300', 
> 'sstable_size_in_mb' : '200', 'tombstone_threshold' : '0.1'}
>   and compression_options = {'sstable_compression' : 
> 'org.apache.cassandra.io.compress.SnappyCompressor'};
> {noformat}
> but
> {noformat}
> [default@MyKeyspace] describe SomeColumnFamily;
> WARNING: CQL3 tables are intentionally omitted from 'describe' output.
> See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.
> ColumnFamily: SomeColumnFamily
>   Key Validation Class: org.apache.cassandra.db.marshal.BytesType
>   Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
>   Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
>   GC grace seconds: 10800
>   Compaction min/max thresholds: 4/32
>   Read repair chance: 0.1
>   DC Local Read repair chance: 0.0
>   Caching: KEYS_ONLY
>   Default time to live: 0
>   Bloom Filter FP chance: default
>   Index interval: default
>   Speculative Retry: NONE
>   Built indexes: []
>   Compaction Strategy: 
> org.apache.cassandra.db.compaction.LeveledCompactionStrategy
>   Compaction Strategy Options:
> tombstone_compaction_interval: 300
> sstable_size_in_mb: 200
> tombstone_threshold: 0.1
>   Compression Options:
> sstable_compression: org.apache.cassandra.io.compress.SnappyCompressor
> {noformat}
> Note how the default column value validator and cell sorting is UTF8Type 
> rather than the BytesType reported earlier.
> If I populate the column family and list its rows, I get
> {noformat}
> [default@MyKeyspace] list SomeColumnFamily;
> Using default limit of 100
> Using default cell limit of 100
> ---
> RowKey: SomeRowKey
> String didn't validate.
> {noformat}
> I can't see the row. I can temporarily fix this by setting the 
> default_column_validator
> {noformat}
> [default@MyKeyspace] update column family SomeColumnFamily with 
> default_validation_class = BytesType;
> 0fba13e4-aac6-3963-ad65-ba354d99ebdc
> [default@MyKeyspace] list SomeColumnFamily;
> Using default limit of 100
> Using default cell limit of 100
> ---
> RowKey: SomeRowKey
> => (name=some name, value=some value, timestamp=635540144263687300)
> ---
> [More RowKeys]
> {noformat}
> If I do a DESCRIBE again, though, LIST stops working again.
> {noformat}
> [default@KeySpace] describe SomeColumnFamily;
> WARNING: CQL3 tables are intentionally omitted from 'describe' output.
> See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.
> ColumnFamily: SomeColumnFamily
>   Key Validation Class: org.apache.cassandra.db.marshal.BytesType
>   Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
>   Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
>   GC grace seconds: 10800
>   Compaction min/max thresholds: 4/32
>   Read repair chance: 0.1
>   DC Local Read repair chance: 0.0
>   Caching: KEYS_ONLY
>   Default time to live: 0
>   Bloom Filter FP chance: default
>   Index interval: default
>   Speculative Retry: NONE
>   Built indexes: []
>   Compaction Strategy: 
> org.apache.cassandra.db.compaction.LeveledCo

[jira] [Commented] (CASSANDRA-8585) Thrift CLI client reporting inconsistent column family structure after upgrade to Cassandra 2.1.2

2015-01-08 Thread Philip Thompson (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8585?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14270016#comment-14270016
 ] 

Philip Thompson commented on CASSANDRA-8585:


[~s_delima], so based on the C# driver output and the system table information, 
this is definitely just the CLI. I don't know of a good workaround, other than 
to suggest cqlsh if your schema allows for it, but this is definitely not going 
to be fixed by us due to how deprecated the CLI is. I'm going to close this as 
"Won't Fix", but if you write up a local fix, we may merge it in.

> Thrift CLI client reporting inconsistent column family structure after 
> upgrade to Cassandra 2.1.2
> -
>
> Key: CASSANDRA-8585
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8585
> Project: Cassandra
>  Issue Type: Bug
>  Components: API
>Reporter: Sotirios Delimanolis
>Assignee: Philip Thompson
>Priority: Minor
> Fix For: 2.1.3
>
> Attachments: schema_columnfamilies.out, schema_columns.out
>
>
> After upgrading from Cassandra 2.0.6.4 to Cassandra 2.1.2-SNAPSHOT, the 
> Thrift CLI client started reporting wrong default_validation_class for a 
> Column Family.
> For example, 
> {noformat}
> [default@MyKeyspace] show schema;
> [...]
> create column family SomeColumnFamily
>   with column_type = 'Standard'
>   and comparator = 'BytesType'
>   and default_validation_class = 'BytesType'
>   and key_validation_class = 'BytesType'
>   and read_repair_chance = 0.1
>   and dclocal_read_repair_chance = 0.0
>   and gc_grace = 10800
>   and min_compaction_threshold = 4
>   and max_compaction_threshold = 32
>   and compaction_strategy = 
> 'org.apache.cassandra.db.compaction.LeveledCompactionStrategy'
>   and caching = 'KEYS_ONLY'
>   and cells_per_row_to_cache = '0'
>   and default_time_to_live = 0
>   and speculative_retry = 'NONE'
>   and compaction_strategy_options = {'tombstone_compaction_interval' : '300', 
> 'sstable_size_in_mb' : '200', 'tombstone_threshold' : '0.1'}
>   and compression_options = {'sstable_compression' : 
> 'org.apache.cassandra.io.compress.SnappyCompressor'};
> {noformat}
> but
> {noformat}
> [default@MyKeyspace] describe SomeColumnFamily;
> WARNING: CQL3 tables are intentionally omitted from 'describe' output.
> See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.
> ColumnFamily: SomeColumnFamily
>   Key Validation Class: org.apache.cassandra.db.marshal.BytesType
>   Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
>   Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
>   GC grace seconds: 10800
>   Compaction min/max thresholds: 4/32
>   Read repair chance: 0.1
>   DC Local Read repair chance: 0.0
>   Caching: KEYS_ONLY
>   Default time to live: 0
>   Bloom Filter FP chance: default
>   Index interval: default
>   Speculative Retry: NONE
>   Built indexes: []
>   Compaction Strategy: 
> org.apache.cassandra.db.compaction.LeveledCompactionStrategy
>   Compaction Strategy Options:
> tombstone_compaction_interval: 300
> sstable_size_in_mb: 200
> tombstone_threshold: 0.1
>   Compression Options:
> sstable_compression: org.apache.cassandra.io.compress.SnappyCompressor
> {noformat}
> Note how the default column value validator and cell sorting is UTF8Type 
> rather than the BytesType reported earlier.
> If I populate the column family and list its rows, I get
> {noformat}
> [default@MyKeyspace] list SomeColumnFamily;
> Using default limit of 100
> Using default cell limit of 100
> ---
> RowKey: SomeRowKey
> String didn't validate.
> {noformat}
> I can't see the row. I can temporarily fix this by setting the 
> default_column_validator
> {noformat}
> [default@MyKeyspace] update column family SomeColumnFamily with 
> default_validation_class = BytesType;
> 0fba13e4-aac6-3963-ad65-ba354d99ebdc
> [default@MyKeyspace] list SomeColumnFamily;
> Using default limit of 100
> Using default cell limit of 100
> ---
> RowKey: SomeRowKey
> => (name=some name, value=some value, timestamp=635540144263687300)
> ---
> [More RowKeys]
> {noformat}
> If I do a DESCRIBE again, though, LIST stops working again.
> {noformat}
> [default@KeySpace] describe SomeColumnFamily;
> WARNING: CQL3 tables are intentionally omitted from 'describe' output.
> See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.
> ColumnFamily: SomeColumnFamily
>   Key Validation Class: org.apache.cassandra.db.marshal.BytesType
>   Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
>   Cells sorted by: org.apache.cassandra.db.marshal.UTF8T

[3/3] cassandra git commit: Merge branch 'cassandra-2.1' into trunk

2015-01-08 Thread tylerhobbs
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/e4123193
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e4123193
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e4123193

Branch: refs/heads/trunk
Commit: e41231933bf8bce865bd43c85e4def525c3535d1
Parents: dd84a29 5674a96
Author: Tyler Hobbs 
Authored: Thu Jan 8 14:41:25 2015 -0600
Committer: Tyler Hobbs 
Committed: Thu Jan 8 14:41:25 2015 -0600

--
 .../apache/cassandra/db/index/composites/CompositesSearcher.java  | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/e4123193/src/java/org/apache/cassandra/db/index/composites/CompositesSearcher.java
--



[2/3] cassandra git commit: Merge branch 'cassandra-2.0' into cassandra-2.1

2015-01-08 Thread tylerhobbs
Merge branch 'cassandra-2.0' into cassandra-2.1

Conflicts:

src/java/org/apache/cassandra/db/index/composites/CompositesSearcher.java


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/5674a96d
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/5674a96d
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/5674a96d

Branch: refs/heads/trunk
Commit: 5674a96d4c5d9022bf5f4fcecff97d21036882ca
Parents: fb95309 bd3c47c
Author: Tyler Hobbs 
Authored: Thu Jan 8 14:41:01 2015 -0600
Committer: Tyler Hobbs 
Committed: Thu Jan 8 14:41:01 2015 -0600

--
 .../apache/cassandra/db/index/composites/CompositesSearcher.java  | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5674a96d/src/java/org/apache/cassandra/db/index/composites/CompositesSearcher.java
--
diff --cc 
src/java/org/apache/cassandra/db/index/composites/CompositesSearcher.java
index 5c1abc9,b978021..8483c15
--- a/src/java/org/apache/cassandra/db/index/composites/CompositesSearcher.java
+++ b/src/java/org/apache/cassandra/db/index/composites/CompositesSearcher.java
@@@ -245,22 -226,13 +245,23 @@@ public class CompositesSearcher extend
  }
  }
  
 -// Check if this entry cannot be a hit due to the 
original column filter
 -ByteBuffer start = entry.indexedEntryStart();
 -if 
(!filter.columnFilter(dk.key).maySelectPrefix(baseComparator, start))
 +// Check if this entry cannot be a hit due to the 
original cell filter
 +Composite start = entry.indexedEntryPrefix;
 +if 
(!filter.columnFilter(dk.getKey()).maySelectPrefix(baseComparator, start))
  continue;
  
 +// If we've record the previous prefix, it means 
we're dealing with an index on the collection value. In
 +// that case, we can have multiple index prefix for 
the same CQL3 row. In that case, we want to only add
 +// the CQL3 row once (because requesting the data 
multiple time would be inefficient but more importantly
 +// because we shouldn't count the columns multiple 
times with the lastCounted() call at the end of this
 +// method).
 +if (previousPrefix != null && 
previousPrefix.equals(start))
 +continue;
 +else
 +previousPrefix = null;
 +
- logger.trace("Adding index hit to current row for 
{}", indexComparator.getString(cell.name()));
+ if (logger.isTraceEnabled())
 -logger.trace("Adding index hit to current row for 
{}", indexComparator.getString(column.name()));
++logger.trace("Adding index hit to current row for 
{}", indexComparator.getString(cell.name()));
  
  // We always query the whole CQL3 row. In the case 
where the original filter was a name filter this might be
  // slightly wasteful, but this probably doesn't 
matter in practice and it simplify things.



[1/3] cassandra git commit: Avoid expensive string op when trace logging is not enabled

2015-01-08 Thread tylerhobbs
Repository: cassandra
Updated Branches:
  refs/heads/trunk dd84a29b2 -> e41231933


Avoid expensive string op when trace logging is not enabled


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/bd3c47ca
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/bd3c47ca
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/bd3c47ca

Branch: refs/heads/trunk
Commit: bd3c47ca739a9b84ba68a19387bef8233e1f90e1
Parents: 5e797eb
Author: Tyler Hobbs 
Authored: Thu Jan 8 14:39:29 2015 -0600
Committer: Tyler Hobbs 
Committed: Thu Jan 8 14:40:09 2015 -0600

--
 .../apache/cassandra/db/index/composites/CompositesSearcher.java  | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/bd3c47ca/src/java/org/apache/cassandra/db/index/composites/CompositesSearcher.java
--
diff --git 
a/src/java/org/apache/cassandra/db/index/composites/CompositesSearcher.java 
b/src/java/org/apache/cassandra/db/index/composites/CompositesSearcher.java
index eb618f4..b978021 100644
--- a/src/java/org/apache/cassandra/db/index/composites/CompositesSearcher.java
+++ b/src/java/org/apache/cassandra/db/index/composites/CompositesSearcher.java
@@ -231,7 +231,8 @@ public class CompositesSearcher extends 
SecondaryIndexSearcher
 if 
(!filter.columnFilter(dk.key).maySelectPrefix(baseComparator, start))
 continue;
 
-logger.trace("Adding index hit to current row for {}", 
indexComparator.getString(column.name()));
+if (logger.isTraceEnabled())
+logger.trace("Adding index hit to current row for 
{}", indexComparator.getString(column.name()));
 
 // We always query the whole CQL3 row. In the case 
where the original filter was a name filter this might be
 // slightly wasteful, but this probably doesn't matter 
in practice and it simplify things.



[2/2] cassandra git commit: Merge branch 'cassandra-2.0' into cassandra-2.1

2015-01-08 Thread tylerhobbs
Merge branch 'cassandra-2.0' into cassandra-2.1

Conflicts:

src/java/org/apache/cassandra/db/index/composites/CompositesSearcher.java


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/5674a96d
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/5674a96d
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/5674a96d

Branch: refs/heads/cassandra-2.1
Commit: 5674a96d4c5d9022bf5f4fcecff97d21036882ca
Parents: fb95309 bd3c47c
Author: Tyler Hobbs 
Authored: Thu Jan 8 14:41:01 2015 -0600
Committer: Tyler Hobbs 
Committed: Thu Jan 8 14:41:01 2015 -0600

--
 .../apache/cassandra/db/index/composites/CompositesSearcher.java  | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5674a96d/src/java/org/apache/cassandra/db/index/composites/CompositesSearcher.java
--
diff --cc 
src/java/org/apache/cassandra/db/index/composites/CompositesSearcher.java
index 5c1abc9,b978021..8483c15
--- a/src/java/org/apache/cassandra/db/index/composites/CompositesSearcher.java
+++ b/src/java/org/apache/cassandra/db/index/composites/CompositesSearcher.java
@@@ -245,22 -226,13 +245,23 @@@ public class CompositesSearcher extend
  }
  }
  
 -// Check if this entry cannot be a hit due to the 
original column filter
 -ByteBuffer start = entry.indexedEntryStart();
 -if 
(!filter.columnFilter(dk.key).maySelectPrefix(baseComparator, start))
 +// Check if this entry cannot be a hit due to the 
original cell filter
 +Composite start = entry.indexedEntryPrefix;
 +if 
(!filter.columnFilter(dk.getKey()).maySelectPrefix(baseComparator, start))
  continue;
  
 +// If we've record the previous prefix, it means 
we're dealing with an index on the collection value. In
 +// that case, we can have multiple index prefix for 
the same CQL3 row. In that case, we want to only add
 +// the CQL3 row once (because requesting the data 
multiple time would be inefficient but more importantly
 +// because we shouldn't count the columns multiple 
times with the lastCounted() call at the end of this
 +// method).
 +if (previousPrefix != null && 
previousPrefix.equals(start))
 +continue;
 +else
 +previousPrefix = null;
 +
- logger.trace("Adding index hit to current row for 
{}", indexComparator.getString(cell.name()));
+ if (logger.isTraceEnabled())
 -logger.trace("Adding index hit to current row for 
{}", indexComparator.getString(column.name()));
++logger.trace("Adding index hit to current row for 
{}", indexComparator.getString(cell.name()));
  
  // We always query the whole CQL3 row. In the case 
where the original filter was a name filter this might be
  // slightly wasteful, but this probably doesn't 
matter in practice and it simplify things.



[1/2] cassandra git commit: Avoid expensive string op when trace logging is not enabled

2015-01-08 Thread tylerhobbs
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.1 fb9530948 -> 5674a96d4


Avoid expensive string op when trace logging is not enabled


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/bd3c47ca
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/bd3c47ca
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/bd3c47ca

Branch: refs/heads/cassandra-2.1
Commit: bd3c47ca739a9b84ba68a19387bef8233e1f90e1
Parents: 5e797eb
Author: Tyler Hobbs 
Authored: Thu Jan 8 14:39:29 2015 -0600
Committer: Tyler Hobbs 
Committed: Thu Jan 8 14:40:09 2015 -0600

--
 .../apache/cassandra/db/index/composites/CompositesSearcher.java  | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/bd3c47ca/src/java/org/apache/cassandra/db/index/composites/CompositesSearcher.java
--
diff --git 
a/src/java/org/apache/cassandra/db/index/composites/CompositesSearcher.java 
b/src/java/org/apache/cassandra/db/index/composites/CompositesSearcher.java
index eb618f4..b978021 100644
--- a/src/java/org/apache/cassandra/db/index/composites/CompositesSearcher.java
+++ b/src/java/org/apache/cassandra/db/index/composites/CompositesSearcher.java
@@ -231,7 +231,8 @@ public class CompositesSearcher extends 
SecondaryIndexSearcher
 if 
(!filter.columnFilter(dk.key).maySelectPrefix(baseComparator, start))
 continue;
 
-logger.trace("Adding index hit to current row for {}", 
indexComparator.getString(column.name()));
+if (logger.isTraceEnabled())
+logger.trace("Adding index hit to current row for 
{}", indexComparator.getString(column.name()));
 
 // We always query the whole CQL3 row. In the case 
where the original filter was a name filter this might be
 // slightly wasteful, but this probably doesn't matter 
in practice and it simplify things.



[jira] [Commented] (CASSANDRA-8585) Thrift CLI client reporting inconsistent column family structure after upgrade to Cassandra 2.1.2

2015-01-08 Thread Sotirios Delimanolis (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8585?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14270015#comment-14270015
 ] 

Sotirios Delimanolis commented on CASSANDRA-8585:
-

Updated description and attached files. Let me know if anything is missing.

> Thrift CLI client reporting inconsistent column family structure after 
> upgrade to Cassandra 2.1.2
> -
>
> Key: CASSANDRA-8585
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8585
> Project: Cassandra
>  Issue Type: Bug
>  Components: API
>Reporter: Sotirios Delimanolis
>Assignee: Philip Thompson
>Priority: Minor
> Fix For: 2.1.3
>
> Attachments: schema_columnfamilies.out, schema_columns.out
>
>
> After upgrading from Cassandra 2.0.6.4 to Cassandra 2.1.2-SNAPSHOT, the 
> Thrift CLI client started reporting wrong default_validation_class for a 
> Column Family.
> For example, 
> {noformat}
> [default@MyKeyspace] show schema;
> [...]
> create column family SomeColumnFamily
>   with column_type = 'Standard'
>   and comparator = 'BytesType'
>   and default_validation_class = 'BytesType'
>   and key_validation_class = 'BytesType'
>   and read_repair_chance = 0.1
>   and dclocal_read_repair_chance = 0.0
>   and gc_grace = 10800
>   and min_compaction_threshold = 4
>   and max_compaction_threshold = 32
>   and compaction_strategy = 
> 'org.apache.cassandra.db.compaction.LeveledCompactionStrategy'
>   and caching = 'KEYS_ONLY'
>   and cells_per_row_to_cache = '0'
>   and default_time_to_live = 0
>   and speculative_retry = 'NONE'
>   and compaction_strategy_options = {'tombstone_compaction_interval' : '300', 
> 'sstable_size_in_mb' : '200', 'tombstone_threshold' : '0.1'}
>   and compression_options = {'sstable_compression' : 
> 'org.apache.cassandra.io.compress.SnappyCompressor'};
> {noformat}
> but
> {noformat}
> [default@MyKeyspace] describe SomeColumnFamily;
> WARNING: CQL3 tables are intentionally omitted from 'describe' output.
> See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.
> ColumnFamily: SomeColumnFamily
>   Key Validation Class: org.apache.cassandra.db.marshal.BytesType
>   Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
>   Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
>   GC grace seconds: 10800
>   Compaction min/max thresholds: 4/32
>   Read repair chance: 0.1
>   DC Local Read repair chance: 0.0
>   Caching: KEYS_ONLY
>   Default time to live: 0
>   Bloom Filter FP chance: default
>   Index interval: default
>   Speculative Retry: NONE
>   Built indexes: []
>   Compaction Strategy: 
> org.apache.cassandra.db.compaction.LeveledCompactionStrategy
>   Compaction Strategy Options:
> tombstone_compaction_interval: 300
> sstable_size_in_mb: 200
> tombstone_threshold: 0.1
>   Compression Options:
> sstable_compression: org.apache.cassandra.io.compress.SnappyCompressor
> {noformat}
> Note how the default column value validator and cell sorting is UTF8Type 
> rather than the BytesType reported earlier.
> If I populate the column family and list its rows, I get
> {noformat}
> [default@MyKeyspace] list SomeColumnFamily;
> Using default limit of 100
> Using default cell limit of 100
> ---
> RowKey: SomeRowKey
> String didn't validate.
> {noformat}
> I can't see the row. I can temporarily fix this by setting the 
> default_column_validator
> {noformat}
> [default@MyKeyspace] update column family SomeColumnFamily with 
> default_validation_class = BytesType;
> 0fba13e4-aac6-3963-ad65-ba354d99ebdc
> [default@MyKeyspace] list SomeColumnFamily;
> Using default limit of 100
> Using default cell limit of 100
> ---
> RowKey: SomeRowKey
> => (name=some name, value=some value, timestamp=635540144263687300)
> ---
> [More RowKeys]
> {noformat}
> If I do a DESCRIBE again, though, LIST stops working again.
> {noformat}
> [default@KeySpace] describe SomeColumnFamily;
> WARNING: CQL3 tables are intentionally omitted from 'describe' output.
> See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.
> ColumnFamily: SomeColumnFamily
>   Key Validation Class: org.apache.cassandra.db.marshal.BytesType
>   Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
>   Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
>   GC grace seconds: 10800
>   Compaction min/max thresholds: 4/32
>   Read repair chance: 0.1
>   DC Local Read repair chance: 0.0
>   Caching: KEYS_ONLY
>   Default time to live: 0
>   Bloom Filter FP chance: default
>   Index interval: default
>   Speculativ

cassandra git commit: Avoid expensive string op when trace logging is not enabled

2015-01-08 Thread tylerhobbs
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.0 5e797ebba -> bd3c47ca7


Avoid expensive string op when trace logging is not enabled


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/bd3c47ca
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/bd3c47ca
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/bd3c47ca

Branch: refs/heads/cassandra-2.0
Commit: bd3c47ca739a9b84ba68a19387bef8233e1f90e1
Parents: 5e797eb
Author: Tyler Hobbs 
Authored: Thu Jan 8 14:39:29 2015 -0600
Committer: Tyler Hobbs 
Committed: Thu Jan 8 14:40:09 2015 -0600

--
 .../apache/cassandra/db/index/composites/CompositesSearcher.java  | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/bd3c47ca/src/java/org/apache/cassandra/db/index/composites/CompositesSearcher.java
--
diff --git 
a/src/java/org/apache/cassandra/db/index/composites/CompositesSearcher.java 
b/src/java/org/apache/cassandra/db/index/composites/CompositesSearcher.java
index eb618f4..b978021 100644
--- a/src/java/org/apache/cassandra/db/index/composites/CompositesSearcher.java
+++ b/src/java/org/apache/cassandra/db/index/composites/CompositesSearcher.java
@@ -231,7 +231,8 @@ public class CompositesSearcher extends 
SecondaryIndexSearcher
 if 
(!filter.columnFilter(dk.key).maySelectPrefix(baseComparator, start))
 continue;
 
-logger.trace("Adding index hit to current row for {}", 
indexComparator.getString(column.name()));
+if (logger.isTraceEnabled())
+logger.trace("Adding index hit to current row for 
{}", indexComparator.getString(column.name()));
 
 // We always query the whole CQL3 row. In the case 
where the original filter was a name filter this might be
 // slightly wasteful, but this probably doesn't matter 
in practice and it simplify things.



[jira] [Updated] (CASSANDRA-8585) Thrift CLI client reporting inconsistent column family structure after upgrade to Cassandra 2.1.2

2015-01-08 Thread Sotirios Delimanolis (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-8585?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sotirios Delimanolis updated CASSANDRA-8585:

Description: 
After upgrading from Cassandra 2.0.6.4 to Cassandra 2.1.2-SNAPSHOT, the Thrift 
CLI client started reporting wrong default_validation_class for a Column Family.

For example, 

{noformat}
[default@MyKeyspace] show schema;
[...]
create column family SomeColumnFamily
  with column_type = 'Standard'
  and comparator = 'BytesType'
  and default_validation_class = 'BytesType'
  and key_validation_class = 'BytesType'
  and read_repair_chance = 0.1
  and dclocal_read_repair_chance = 0.0
  and gc_grace = 10800
  and min_compaction_threshold = 4
  and max_compaction_threshold = 32
  and compaction_strategy = 
'org.apache.cassandra.db.compaction.LeveledCompactionStrategy'
  and caching = 'KEYS_ONLY'
  and cells_per_row_to_cache = '0'
  and default_time_to_live = 0
  and speculative_retry = 'NONE'
  and compaction_strategy_options = {'tombstone_compaction_interval' : '300', 
'sstable_size_in_mb' : '200', 'tombstone_threshold' : '0.1'}
  and compression_options = {'sstable_compression' : 
'org.apache.cassandra.io.compress.SnappyCompressor'};
{noformat}

but

{noformat}
[default@MyKeyspace] describe SomeColumnFamily;

WARNING: CQL3 tables are intentionally omitted from 'describe' output.
See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.

ColumnFamily: SomeColumnFamily
  Key Validation Class: org.apache.cassandra.db.marshal.BytesType
  Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
  Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
  GC grace seconds: 10800
  Compaction min/max thresholds: 4/32
  Read repair chance: 0.1
  DC Local Read repair chance: 0.0
  Caching: KEYS_ONLY
  Default time to live: 0
  Bloom Filter FP chance: default
  Index interval: default
  Speculative Retry: NONE
  Built indexes: []
  Compaction Strategy: 
org.apache.cassandra.db.compaction.LeveledCompactionStrategy
  Compaction Strategy Options:
tombstone_compaction_interval: 300
sstable_size_in_mb: 200
tombstone_threshold: 0.1
  Compression Options:
sstable_compression: org.apache.cassandra.io.compress.SnappyCompressor
{noformat}

Note how the default column value validator and cell sorting is UTF8Type rather 
than the BytesType reported earlier.

If I populate the column family and list its rows, I get

{noformat}
[default@MyKeyspace] list SomeColumnFamily;
Using default limit of 100
Using default cell limit of 100
---
RowKey: SomeRowKey
String didn't validate.
{noformat}

I can't see the row. I can temporarily fix this by setting the 
default_column_validator

{noformat}
[default@MyKeyspace] update column family SomeColumnFamily with 
default_validation_class = BytesType;
0fba13e4-aac6-3963-ad65-ba354d99ebdc
[default@MyKeyspace] list SomeColumnFamily;
Using default limit of 100
Using default cell limit of 100
---
RowKey: SomeRowKey
=> (name=some name, value=some value, timestamp=635540144263687300)
---
[More RowKeys]
{noformat}

If I do a DESCRIBE again, though, LIST stops working again.

{noformat}
[default@KeySpace] describe SomeColumnFamily;

WARNING: CQL3 tables are intentionally omitted from 'describe' output.
See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.

ColumnFamily: SomeColumnFamily
  Key Validation Class: org.apache.cassandra.db.marshal.BytesType
  Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
  Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
  GC grace seconds: 10800
  Compaction min/max thresholds: 4/32
  Read repair chance: 0.1
  DC Local Read repair chance: 0.0
  Caching: KEYS_ONLY
  Default time to live: 0
  Bloom Filter FP chance: default
  Index interval: default
  Speculative Retry: NONE
  Built indexes: []
  Compaction Strategy: 
org.apache.cassandra.db.compaction.LeveledCompactionStrategy
  Compaction Strategy Options:
tombstone_compaction_interval: 300
sstable_size_in_mb: 200
tombstone_threshold: 0.1
  Compression Options:
sstable_compression: org.apache.cassandra.io.compress.SnappyCompressor
[default@MyKeyspace] list SomeColumnFamily;
Using default limit of 100
Using default cell limit of 100
---
RowKey: SomeRowKey
String didn't validate.
{noformat}

I can access the column family rows with other clients, the C# driver for 
example.

With C#

{code:c#}
var keyspaceDef = pool.DescribeKeyspace ("MyKeyspace");
var cfDefs = keyspaceDef.Cf_defs;
foreach (CfDef cfDef in cfDefs) {
if (cfDef.Name == "SomeColumnFamily") {
Console.WriteLine ("Default val

[jira] [Updated] (CASSANDRA-8585) Thrift CLI client reporting inconsistent column family structure after upgrade to Cassandra 2.1.2

2015-01-08 Thread Sotirios Delimanolis (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-8585?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sotirios Delimanolis updated CASSANDRA-8585:

Description: 
After upgrading from Cassandra 2.0.6.4 to Cassandra 2.1.2-SNAPSHOT, the Thrift 
CLI client started reporting wrong default_validation_class for a Column Family.

For example, 

{noformat}
[default@MyKeyspace] show schema;
[...]
create column family SomeColumnFamily
  with column_type = 'Standard'
  and comparator = 'BytesType'
  and default_validation_class = 'BytesType'
  and key_validation_class = 'BytesType'
  and read_repair_chance = 0.1
  and dclocal_read_repair_chance = 0.0
  and gc_grace = 10800
  and min_compaction_threshold = 4
  and max_compaction_threshold = 32
  and compaction_strategy = 
'org.apache.cassandra.db.compaction.LeveledCompactionStrategy'
  and caching = 'KEYS_ONLY'
  and cells_per_row_to_cache = '0'
  and default_time_to_live = 0
  and speculative_retry = 'NONE'
  and compaction_strategy_options = {'tombstone_compaction_interval' : '300', 
'sstable_size_in_mb' : '200', 'tombstone_threshold' : '0.1'}
  and compression_options = {'sstable_compression' : 
'org.apache.cassandra.io.compress.SnappyCompressor'};
{noformat}

but

{noformat}
[default@MyKeyspace] describe SomeColumnFamily;

WARNING: CQL3 tables are intentionally omitted from 'describe' output.
See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.

ColumnFamily: SomeColumnFamily
  Key Validation Class: org.apache.cassandra.db.marshal.BytesType
  Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
  Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
  GC grace seconds: 10800
  Compaction min/max thresholds: 4/32
  Read repair chance: 0.1
  DC Local Read repair chance: 0.0
  Caching: KEYS_ONLY
  Default time to live: 0
  Bloom Filter FP chance: default
  Index interval: default
  Speculative Retry: NONE
  Built indexes: []
  Compaction Strategy: 
org.apache.cassandra.db.compaction.LeveledCompactionStrategy
  Compaction Strategy Options:
tombstone_compaction_interval: 300
sstable_size_in_mb: 200
tombstone_threshold: 0.1
  Compression Options:
sstable_compression: org.apache.cassandra.io.compress.SnappyCompressor
{noformat}

Note how the default column value validator and cell sorting is UTF8Type rather 
than the BytesType reported earlier.

If I populate the column family and list its rows, I get

{noformat}
[default@MyKeyspace] list SomeColumnFamily;
Using default limit of 100
Using default cell limit of 100
---
RowKey: SomeRowKey
String didn't validate.
{noformat}

I can't see the row. I can temporarily fix this by setting the 
default_column_validator

{noformat}
[default@MyKeyspace] update column family SomeColumnFamily with 
default_validation_class = BytesType;
0fba13e4-aac6-3963-ad65-ba354d99ebdc
[default@MyKeyspace] list SomeColumnFamily;
Using default limit of 100
Using default cell limit of 100
---
RowKey: SomeRowKey
=> (name=some name, value=some value, timestamp=635540144263687300)
---
[More RowKeys]
{noformat}

If I do a DESCRIBE again, though, LIST stops working again.

{noformat}
[default@KeySpace] describe SomeColumnFamily;

WARNING: CQL3 tables are intentionally omitted from 'describe' output.
See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.

ColumnFamily: SomeColumnFamily
  Key Validation Class: org.apache.cassandra.db.marshal.BytesType
  Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
  Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
  GC grace seconds: 10800
  Compaction min/max thresholds: 4/32
  Read repair chance: 0.1
  DC Local Read repair chance: 0.0
  Caching: KEYS_ONLY
  Default time to live: 0
  Bloom Filter FP chance: default
  Index interval: default
  Speculative Retry: NONE
  Built indexes: []
  Compaction Strategy: 
org.apache.cassandra.db.compaction.LeveledCompactionStrategy
  Compaction Strategy Options:
tombstone_compaction_interval: 300
sstable_size_in_mb: 200
tombstone_threshold: 0.1
  Compression Options:
sstable_compression: org.apache.cassandra.io.compress.SnappyCompressor
[default@MyKeyspace] list SomeColumnFamily;
Using default limit of 100
Using default cell limit of 100
---
RowKey: SomeRowKey
String didn't validate.
{noformat}

I can access the column family rows with other clients, the C# driver for 
example.

With C#

{code:}
var keyspaceDef = pool.DescribeKeyspace ("MyKeyspace");
var cfDefs = keyspaceDef.Cf_defs;
foreach (CfDef cfDef in cfDefs) {
if (cfDef.Name == "SomeColumnFamily") {
Console.WriteLine ("Default validation class: " + 
cfDef.Default_validation_class);
C

[jira] [Updated] (CASSANDRA-8585) Thrift CLI client reporting inconsistent column family structure after upgrade to Cassandra 2.1.2

2015-01-08 Thread Sotirios Delimanolis (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-8585?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sotirios Delimanolis updated CASSANDRA-8585:

Description: 
After upgrading from Cassandra 2.0.6.4 to Cassandra 2.1.2-SNAPSHOT, the Thrift 
CLI client started reporting wrong default_validation_class for a Column Family.

For example, 

{noformat}
[default@MyKeyspace] show schema;
[...]
create column family SomeColumnFamily
  with column_type = 'Standard'
  and comparator = 'BytesType'
  and default_validation_class = 'BytesType'
  and key_validation_class = 'BytesType'
  and read_repair_chance = 0.1
  and dclocal_read_repair_chance = 0.0
  and gc_grace = 10800
  and min_compaction_threshold = 4
  and max_compaction_threshold = 32
  and compaction_strategy = 
'org.apache.cassandra.db.compaction.LeveledCompactionStrategy'
  and caching = 'KEYS_ONLY'
  and cells_per_row_to_cache = '0'
  and default_time_to_live = 0
  and speculative_retry = 'NONE'
  and compaction_strategy_options = {'tombstone_compaction_interval' : '300', 
'sstable_size_in_mb' : '200', 'tombstone_threshold' : '0.1'}
  and compression_options = {'sstable_compression' : 
'org.apache.cassandra.io.compress.SnappyCompressor'};
{noformat}

but

{noformat}
[default@MyKeyspace] describe SomeColumnFamily;

WARNING: CQL3 tables are intentionally omitted from 'describe' output.
See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.

ColumnFamily: SomeColumnFamily
  Key Validation Class: org.apache.cassandra.db.marshal.BytesType
  Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
  Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
  GC grace seconds: 10800
  Compaction min/max thresholds: 4/32
  Read repair chance: 0.1
  DC Local Read repair chance: 0.0
  Caching: KEYS_ONLY
  Default time to live: 0
  Bloom Filter FP chance: default
  Index interval: default
  Speculative Retry: NONE
  Built indexes: []
  Compaction Strategy: 
org.apache.cassandra.db.compaction.LeveledCompactionStrategy
  Compaction Strategy Options:
tombstone_compaction_interval: 300
sstable_size_in_mb: 200
tombstone_threshold: 0.1
  Compression Options:
sstable_compression: org.apache.cassandra.io.compress.SnappyCompressor
{noformat}

Note how the default column value validator and cell sorting is UTF8Type rather 
than the BytesType reported earlier.

If I populate the column family and list its rows, I get

{noformat}
[default@MyKeyspace] list SomeColumnFamily;
Using default limit of 100
Using default cell limit of 100
---
RowKey: SomeRowKey
String didn't validate.
{noformat}

I can't see the row. I can temporarily fix this by setting the 
default_column_validator

{noformat}
[default@MyKeyspace] update column family SomeColumnFamily with 
default_validation_class = BytesType;
0fba13e4-aac6-3963-ad65-ba354d99ebdc
[default@MyKeyspace] list SomeColumnFamily;
Using default limit of 100
Using default cell limit of 100
---
RowKey: SomeRowKey
=> (name=some name, value=some value, timestamp=635540144263687300)
---
[More RowKeys]
{noformat}

If I do a DESCRIBE again, though, LIST stops working again.

{noformat}
[default@KeySpace] describe SomeColumnFamily;

WARNING: CQL3 tables are intentionally omitted from 'describe' output.
See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.

ColumnFamily: SomeColumnFamily
  Key Validation Class: org.apache.cassandra.db.marshal.BytesType
  Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
  Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
  GC grace seconds: 10800
  Compaction min/max thresholds: 4/32
  Read repair chance: 0.1
  DC Local Read repair chance: 0.0
  Caching: KEYS_ONLY
  Default time to live: 0
  Bloom Filter FP chance: default
  Index interval: default
  Speculative Retry: NONE
  Built indexes: []
  Compaction Strategy: 
org.apache.cassandra.db.compaction.LeveledCompactionStrategy
  Compaction Strategy Options:
tombstone_compaction_interval: 300
sstable_size_in_mb: 200
tombstone_threshold: 0.1
  Compression Options:
sstable_compression: org.apache.cassandra.io.compress.SnappyCompressor
[default@MyKeyspace] list SomeColumnFamily;
Using default limit of 100
Using default cell limit of 100
---
RowKey: SomeRowKey
String didn't validate.
{noformat}

I can access the column family rows with other clients, the C# driver for 
example.

With C#
{code:c#}
var keyspaceDef = pool.DescribeKeyspace ("MyKeyspace");
var cfDefs = keyspaceDef.Cf_defs;
foreach (CfDef cfDef in cfDefs) {
if (cfDef.Name == "SomeColumnFamily") {
Console.WriteLine ("Default vali

[jira] [Commented] (CASSANDRA-8537) ConcurrentModificationException while executing 'nodetool cleanup'

2015-01-08 Thread Tyler Hobbs (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8537?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14269993#comment-14269993
 ] 

Tyler Hobbs commented on CASSANDRA-8537:


+1

> ConcurrentModificationException while executing 'nodetool cleanup'
> --
>
> Key: CASSANDRA-8537
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8537
> Project: Cassandra
>  Issue Type: Bug
>  Components: Tools
> Environment: Debian 7.7, Oracle JRE 1.7.0_72
>Reporter: Noureddine Chatti
>Assignee: Marcus Eriksson
> Fix For: 2.1.3
>
> Attachments: 
> 0001-don-t-use-the-same-cleanupstrategy-for-all-sstables.patch
>
>
> After adding a new node to an existing cluster (7 already started nodes), and 
> waiting a few minutes to be sure that data migration to the new node is 
> completed, I began to use the command nodetool cleanup sequentially on each 
> old node. When I issued this command on the third node, after a few minutes I 
> got a ConcurrentModificationException.
> ~$ nodetool cleanup
> error: null
> -- StackTrace --
> java.util.ConcurrentModificationException
> at java.util.ArrayList$Itr.checkForComodification(Unknown Source)
> at java.util.ArrayList$Itr.next(Unknown Source)
> at 
> org.apache.cassandra.db.index.SecondaryIndexManager.deleteFromIndexes(SecondaryIndexManager.java:476)
> at 
> org.apache.cassandra.db.compaction.CompactionManager$CleanupStrategy$Full.cleanup(CompactionManager.java:833)
> at 
> org.apache.cassandra.db.compaction.CompactionManager.doCleanupOne(CompactionManager.java:704)
> at 
> org.apache.cassandra.db.compaction.CompactionManager.access$400(CompactionManager.java:97)
> at 
> org.apache.cassandra.db.compaction.CompactionManager$5.execute(CompactionManager.java:370)
> at 
> org.apache.cassandra.db.compaction.CompactionManager$2.call(CompactionManager.java:267)
> at java.util.concurrent.FutureTask.run(Unknown Source)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
> at java.lang.Thread.run(Unknown Source)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (CASSANDRA-8585) Thrift CLI client reporting inconsistent column family structure after upgrade to Cassandra 2.1.2

2015-01-08 Thread Sotirios Delimanolis (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-8585?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sotirios Delimanolis updated CASSANDRA-8585:

Attachment: schema_columns.out
schema_columnfamilies.out

> Thrift CLI client reporting inconsistent column family structure after 
> upgrade to Cassandra 2.1.2
> -
>
> Key: CASSANDRA-8585
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8585
> Project: Cassandra
>  Issue Type: Bug
>  Components: API
>Reporter: Sotirios Delimanolis
>Assignee: Philip Thompson
>Priority: Minor
> Fix For: 2.1.3
>
> Attachments: schema_columnfamilies.out, schema_columns.out
>
>
> After upgrading from Cassandra 2.0.6.4 to Cassandra 2.1.2-SNAPSHOT, the 
> Thrift CLI client started reporting wrong default_validation_class for a 
> Column Family.
> For example, 
> {noformat}
> [default@MyKeyspace] show schema;
> [...]
> create column family SomeColumnFamily
>   with column_type = 'Standard'
>   and comparator = 'BytesType'
>   and default_validation_class = 'BytesType'
>   and key_validation_class = 'BytesType'
>   and read_repair_chance = 0.1
>   and dclocal_read_repair_chance = 0.0
>   and gc_grace = 10800
>   and min_compaction_threshold = 4
>   and max_compaction_threshold = 32
>   and compaction_strategy = 
> 'org.apache.cassandra.db.compaction.LeveledCompactionStrategy'
>   and caching = 'KEYS_ONLY'
>   and cells_per_row_to_cache = '0'
>   and default_time_to_live = 0
>   and speculative_retry = 'NONE'
>   and compaction_strategy_options = {'tombstone_compaction_interval' : '300', 
> 'sstable_size_in_mb' : '200', 'tombstone_threshold' : '0.1'}
>   and compression_options = {'sstable_compression' : 
> 'org.apache.cassandra.io.compress.SnappyCompressor'};
> {noformat}
> but
> {noformat}
> [default@MyKeyspace] describe SomeColumnFamily;
> WARNING: CQL3 tables are intentionally omitted from 'describe' output.
> See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.
> ColumnFamily: SomeColumnFamily
>   Key Validation Class: org.apache.cassandra.db.marshal.BytesType
>   Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
>   Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
>   GC grace seconds: 10800
>   Compaction min/max thresholds: 4/32
>   Read repair chance: 0.1
>   DC Local Read repair chance: 0.0
>   Caching: KEYS_ONLY
>   Default time to live: 0
>   Bloom Filter FP chance: default
>   Index interval: default
>   Speculative Retry: NONE
>   Built indexes: []
>   Compaction Strategy: 
> org.apache.cassandra.db.compaction.LeveledCompactionStrategy
>   Compaction Strategy Options:
> tombstone_compaction_interval: 300
> sstable_size_in_mb: 200
> tombstone_threshold: 0.1
>   Compression Options:
> sstable_compression: org.apache.cassandra.io.compress.SnappyCompressor
> {noformat}
> Note how the default column value validator and cell sorting is UTF8Type 
> rather than the BytesType reported earlier.
> If I populate the column family and list its rows, I get
> {noformat}
> [default@MyKeyspace] list SomeColumnFamily;
> Using default limit of 100
> Using default cell limit of 100
> ---
> RowKey: SomeRowKey
> String didn't validate.
> {noformat}
> I can't see the row. I can temporarily fix this by setting the 
> default_column_validator
> {noformat}
> [default@MyKeyspace] update column family SomeColumnFamily with 
> default_validation_class = BytesType;
> 0fba13e4-aac6-3963-ad65-ba354d99ebdc
> [default@MyKeyspace] list SomeColumnFamily;
> Using default limit of 100
> Using default cell limit of 100
> ---
> RowKey: SomeRowKey
> => (name=some name, value=some value, timestamp=635540144263687300)
> ---
> [More RowKeys]
> {noformat}
> If I do a DESCRIBE again, though, LIST stops working again.
> {noformat}
> [default@KeySpace] describe SomeColumnFamily;
> WARNING: CQL3 tables are intentionally omitted from 'describe' output.
> See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.
> ColumnFamily: SomeColumnFamily
>   Key Validation Class: org.apache.cassandra.db.marshal.BytesType
>   Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
>   Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
>   GC grace seconds: 10800
>   Compaction min/max thresholds: 4/32
>   Read repair chance: 0.1
>   DC Local Read repair chance: 0.0
>   Caching: KEYS_ONLY
>   Default time to live: 0
>   Bloom Filter FP chance: default
>   Index interval: default
>   Speculative Retry: NONE
>   Built indexes: []
>   Compactio

[jira] [Commented] (CASSANDRA-8546) RangeTombstoneList becoming bottleneck on tombstone heavy tasks

2015-01-08 Thread Joshua McKenzie (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8546?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14270005#comment-14270005
 ] 

Joshua McKenzie commented on CASSANDRA-8546:


Regarding GapList - as recently as 10-28-2014, [there was a bug fix involving 
invalid 
data|https://groups.google.com/forum/#!topic/brownies-collections/su1zrxYGbMc]; 
I wouldn't consider this implementation production-ready on the scale we have 
to work with on Cassandra.  While the concept behind the collection looks 
reasonably simple / elegant, given the relative obscurity of the 
brownies-collection it's a part of I'd expect the number of code-bases it's 
running in to be far fewer than any of the other collections we're using in our 
code-base.  I agree with Sylvain - the concept behind it is sound and it looks 
like it's coming along well, I'm just not convinced it's appropriate for 
inclusion in our code-base at its current level of maturity, much less in a 
stable 2.1 release.

> RangeTombstoneList becoming bottleneck on tombstone heavy tasks
> ---
>
> Key: CASSANDRA-8546
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8546
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Core
> Environment: 2.0.11 / 2.1
>Reporter: Dominic Letz
>Assignee: Joshua McKenzie
> Fix For: 2.1.3
>
> Attachments: cassandra-2.0.11-8546.txt, cassandra-2.1-8546.txt, 
> rangetombstonelist_compaction.png, rangetombstonelist_mutation.png, 
> rangetombstonelist_read.png, tombstone_test.tgz
>
>
> I would like to propose a change of the data structure used in the 
> RangeTombstoneList to store and insert tombstone ranges to something with at 
> least O(log N) insert in the middle and at near O(1) and start AND end. Here 
> is why:
> When having tombstone heavy work-loads the current implementation of 
> RangeTombstoneList becomes a bottleneck with slice queries.
> Scanning the number of tombstones up to the default maximum (100k) can take 
> up to 3 minutes of how addInternal() scales on insertion of middle and start 
> elements.
> The attached test shows that with 50k deletes from both sides of a range.
> INSERT 1...11
> flush()
> DELETE 1...5
> DELETE 11...6
> While one direction performs ok (~400ms on my notebook):
> {code}
> SELECT * FROM timeseries WHERE name = 'a' ORDER BY timestamp DESC LIMIT 1
> {code}
> The other direction underperforms (~7seconds on my notebook)
> {code}
> SELECT * FROM timeseries WHERE name = 'a' ORDER BY timestamp ASC LIMIT 1
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-8585) Thrift CLI client reporting inconsistent column family structure after upgrade to Cassandra 2.1.2

2015-01-08 Thread Philip Thompson (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8585?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14269992#comment-14269992
 ] 

Philip Thompson commented on CASSANDRA-8585:


Can you also the thrift describe_keyspace method from the driver and show me 
the output? If this does turn out to be only a problem with the CLI, and no 
issues internally or over the thrift protocol, we will be happy to accept a 
patch that fixes it, but otherwise would close this "Won't Fix".

> Thrift CLI client reporting inconsistent column family structure after 
> upgrade to Cassandra 2.1.2
> -
>
> Key: CASSANDRA-8585
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8585
> Project: Cassandra
>  Issue Type: Bug
>  Components: API
>Reporter: Sotirios Delimanolis
>Assignee: Philip Thompson
>Priority: Minor
> Fix For: 2.1.3
>
>
> After upgrading from Cassandra 2.0.6.4 to Cassandra 2.1.2-SNAPSHOT, the 
> Thrift CLI client started reporting wrong default_validation_class for a 
> Column Family.
> For example, 
> {noformat}
> [default@MyKeyspace] show schema;
> [...]
> create column family SomeColumnFamily
>   with column_type = 'Standard'
>   and comparator = 'BytesType'
>   and default_validation_class = 'BytesType'
>   and key_validation_class = 'BytesType'
>   and read_repair_chance = 0.1
>   and dclocal_read_repair_chance = 0.0
>   and gc_grace = 10800
>   and min_compaction_threshold = 4
>   and max_compaction_threshold = 32
>   and compaction_strategy = 
> 'org.apache.cassandra.db.compaction.LeveledCompactionStrategy'
>   and caching = 'KEYS_ONLY'
>   and cells_per_row_to_cache = '0'
>   and default_time_to_live = 0
>   and speculative_retry = 'NONE'
>   and compaction_strategy_options = {'tombstone_compaction_interval' : '300', 
> 'sstable_size_in_mb' : '200', 'tombstone_threshold' : '0.1'}
>   and compression_options = {'sstable_compression' : 
> 'org.apache.cassandra.io.compress.SnappyCompressor'};
> {noformat}
> but
> {noformat}
> [default@MyKeyspace] describe SomeColumnFamily;
> WARNING: CQL3 tables are intentionally omitted from 'describe' output.
> See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.
> ColumnFamily: SomeColumnFamily
>   Key Validation Class: org.apache.cassandra.db.marshal.BytesType
>   Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
>   Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
>   GC grace seconds: 10800
>   Compaction min/max thresholds: 4/32
>   Read repair chance: 0.1
>   DC Local Read repair chance: 0.0
>   Caching: KEYS_ONLY
>   Default time to live: 0
>   Bloom Filter FP chance: default
>   Index interval: default
>   Speculative Retry: NONE
>   Built indexes: []
>   Compaction Strategy: 
> org.apache.cassandra.db.compaction.LeveledCompactionStrategy
>   Compaction Strategy Options:
> tombstone_compaction_interval: 300
> sstable_size_in_mb: 200
> tombstone_threshold: 0.1
>   Compression Options:
> sstable_compression: org.apache.cassandra.io.compress.SnappyCompressor
> {noformat}
> Note how the default column value validator and cell sorting is UTF8Type 
> rather than the BytesType reported earlier.
> If I populate the column family and list its rows, I get
> {noformat}
> [default@MyKeyspace] list SomeColumnFamily;
> Using default limit of 100
> Using default cell limit of 100
> ---
> RowKey: SomeRowKey
> String didn't validate.
> {noformat}
> I can't see the row. I can temporarily fix this by setting the 
> default_column_validator
> {noformat}
> [default@MyKeyspace] update column family SomeColumnFamily with 
> default_validation_class = BytesType;
> 0fba13e4-aac6-3963-ad65-ba354d99ebdc
> [default@MyKeyspace] list SomeColumnFamily;
> Using default limit of 100
> Using default cell limit of 100
> ---
> RowKey: SomeRowKey
> => (name=some name, value=some value, timestamp=635540144263687300)
> ---
> [More RowKeys]
> {noformat}
> If I do a DESCRIBE again, though, LIST stops working again.
> {noformat}
> [default@KeySpace] describe SomeColumnFamily;
> WARNING: CQL3 tables are intentionally omitted from 'describe' output.
> See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.
> ColumnFamily: SomeColumnFamily
>   Key Validation Class: org.apache.cassandra.db.marshal.BytesType
>   Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
>   Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
>   GC grace seconds: 10800
>   Compaction min/max thresholds: 4/32
>   Read repair chance: 0.1
>   DC Local Read repair chance: 0.0
>   C

[jira] [Updated] (CASSANDRA-8537) ConcurrentModificationException while executing 'nodetool cleanup'

2015-01-08 Thread Tyler Hobbs (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-8537?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tyler Hobbs updated CASSANDRA-8537:
---
Since Version: 2.1 beta2
 Priority: Major  (was: Minor)

> ConcurrentModificationException while executing 'nodetool cleanup'
> --
>
> Key: CASSANDRA-8537
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8537
> Project: Cassandra
>  Issue Type: Bug
>  Components: Tools
> Environment: Debian 7.7, Oracle JRE 1.7.0_72
>Reporter: Noureddine Chatti
>Assignee: Marcus Eriksson
> Fix For: 2.1.3
>
> Attachments: 
> 0001-don-t-use-the-same-cleanupstrategy-for-all-sstables.patch
>
>
> After adding a new node to an existing cluster (7 already started nodes), and 
> waiting a few minutes to be sure that data migration to the new node is 
> completed, I began to use the command nodetool cleanup sequentially on each 
> old node. When I issued this command on the third node, after a few minutes I 
> got a ConcurrentModificationException.
> ~$ nodetool cleanup
> error: null
> -- StackTrace --
> java.util.ConcurrentModificationException
> at java.util.ArrayList$Itr.checkForComodification(Unknown Source)
> at java.util.ArrayList$Itr.next(Unknown Source)
> at 
> org.apache.cassandra.db.index.SecondaryIndexManager.deleteFromIndexes(SecondaryIndexManager.java:476)
> at 
> org.apache.cassandra.db.compaction.CompactionManager$CleanupStrategy$Full.cleanup(CompactionManager.java:833)
> at 
> org.apache.cassandra.db.compaction.CompactionManager.doCleanupOne(CompactionManager.java:704)
> at 
> org.apache.cassandra.db.compaction.CompactionManager.access$400(CompactionManager.java:97)
> at 
> org.apache.cassandra.db.compaction.CompactionManager$5.execute(CompactionManager.java:370)
> at 
> org.apache.cassandra.db.compaction.CompactionManager$2.call(CompactionManager.java:267)
> at java.util.concurrent.FutureTask.run(Unknown Source)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
> at java.lang.Thread.run(Unknown Source)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-8585) Thrift CLI client reporting inconsistent column family structure after upgrade to Cassandra 2.1.2

2015-01-08 Thread Philip Thompson (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8585?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14269988#comment-14269988
 ] 

Philip Thompson commented on CASSANDRA-8585:


[~s_delima], can you provide me with a text file containing a dump of {{SELECT 
* FROM system.schema_columnfamilies}} and one for {{select * from 
system.schema_columns}}? Feel free to obfuscate what you need to, but that will 
prove helpful to identifying if anything has gone wrong internally.

> Thrift CLI client reporting inconsistent column family structure after 
> upgrade to Cassandra 2.1.2
> -
>
> Key: CASSANDRA-8585
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8585
> Project: Cassandra
>  Issue Type: Bug
>  Components: API
>Reporter: Sotirios Delimanolis
>Assignee: Philip Thompson
>Priority: Minor
> Fix For: 2.1.3
>
>
> After upgrading from Cassandra 2.0.6.4 to Cassandra 2.1.2-SNAPSHOT, the 
> Thrift CLI client started reporting wrong default_validation_class for a 
> Column Family.
> For example, 
> {noformat}
> [default@MyKeyspace] show schema;
> [...]
> create column family SomeColumnFamily
>   with column_type = 'Standard'
>   and comparator = 'BytesType'
>   and default_validation_class = 'BytesType'
>   and key_validation_class = 'BytesType'
>   and read_repair_chance = 0.1
>   and dclocal_read_repair_chance = 0.0
>   and gc_grace = 10800
>   and min_compaction_threshold = 4
>   and max_compaction_threshold = 32
>   and compaction_strategy = 
> 'org.apache.cassandra.db.compaction.LeveledCompactionStrategy'
>   and caching = 'KEYS_ONLY'
>   and cells_per_row_to_cache = '0'
>   and default_time_to_live = 0
>   and speculative_retry = 'NONE'
>   and compaction_strategy_options = {'tombstone_compaction_interval' : '300', 
> 'sstable_size_in_mb' : '200', 'tombstone_threshold' : '0.1'}
>   and compression_options = {'sstable_compression' : 
> 'org.apache.cassandra.io.compress.SnappyCompressor'};
> {noformat}
> but
> {noformat}
> [default@MyKeyspace] describe SomeColumnFamily;
> WARNING: CQL3 tables are intentionally omitted from 'describe' output.
> See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.
> ColumnFamily: SomeColumnFamily
>   Key Validation Class: org.apache.cassandra.db.marshal.BytesType
>   Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
>   Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
>   GC grace seconds: 10800
>   Compaction min/max thresholds: 4/32
>   Read repair chance: 0.1
>   DC Local Read repair chance: 0.0
>   Caching: KEYS_ONLY
>   Default time to live: 0
>   Bloom Filter FP chance: default
>   Index interval: default
>   Speculative Retry: NONE
>   Built indexes: []
>   Compaction Strategy: 
> org.apache.cassandra.db.compaction.LeveledCompactionStrategy
>   Compaction Strategy Options:
> tombstone_compaction_interval: 300
> sstable_size_in_mb: 200
> tombstone_threshold: 0.1
>   Compression Options:
> sstable_compression: org.apache.cassandra.io.compress.SnappyCompressor
> {noformat}
> Note how the default column value validator and cell sorting is UTF8Type 
> rather than the BytesType reported earlier.
> If I populate the column family and list its rows, I get
> {noformat}
> [default@MyKeyspace] list SomeColumnFamily;
> Using default limit of 100
> Using default cell limit of 100
> ---
> RowKey: SomeRowKey
> String didn't validate.
> {noformat}
> I can't see the row. I can temporarily fix this by setting the 
> default_column_validator
> {noformat}
> [default@MyKeyspace] update column family SomeColumnFamily with 
> default_validation_class = BytesType;
> 0fba13e4-aac6-3963-ad65-ba354d99ebdc
> [default@MyKeyspace] list SomeColumnFamily;
> Using default limit of 100
> Using default cell limit of 100
> ---
> RowKey: SomeRowKey
> => (name=some name, value=some value, timestamp=635540144263687300)
> ---
> [More RowKeys]
> {noformat}
> If I do a DESCRIBE again, though, LIST stops working again.
> {noformat}
> [default@KeySpace] describe SomeColumnFamily;
> WARNING: CQL3 tables are intentionally omitted from 'describe' output.
> See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.
> ColumnFamily: SomeColumnFamily
>   Key Validation Class: org.apache.cassandra.db.marshal.BytesType
>   Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
>   Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
>   GC grace seconds: 10800
>   Compaction min/max thresholds: 4/32
>   Read repair chance: 0.1
>   DC Local Read repair chance: 0.0
>   Ca

[jira] [Commented] (CASSANDRA-8585) Thrift CLI client reporting inconsistent column family structure after upgrade to Cassandra 2.1.2

2015-01-08 Thread Sotirios Delimanolis (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8585?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14269978#comment-14269978
 ] 

Sotirios Delimanolis commented on CASSANDRA-8585:
-

Then it would seem the issue is with CLI.

> Thrift CLI client reporting inconsistent column family structure after 
> upgrade to Cassandra 2.1.2
> -
>
> Key: CASSANDRA-8585
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8585
> Project: Cassandra
>  Issue Type: Bug
>  Components: API
>Reporter: Sotirios Delimanolis
>Assignee: Philip Thompson
>Priority: Minor
> Fix For: 2.1.3
>
>
> After upgrading from Cassandra 2.0.6.4 to Cassandra 2.1.2-SNAPSHOT, the 
> Thrift CLI client started reporting wrong default_validation_class for a 
> Column Family.
> For example, 
> {noformat}
> [default@MyKeyspace] show schema;
> [...]
> create column family SomeColumnFamily
>   with column_type = 'Standard'
>   and comparator = 'BytesType'
>   and default_validation_class = 'BytesType'
>   and key_validation_class = 'BytesType'
>   and read_repair_chance = 0.1
>   and dclocal_read_repair_chance = 0.0
>   and gc_grace = 10800
>   and min_compaction_threshold = 4
>   and max_compaction_threshold = 32
>   and compaction_strategy = 
> 'org.apache.cassandra.db.compaction.LeveledCompactionStrategy'
>   and caching = 'KEYS_ONLY'
>   and cells_per_row_to_cache = '0'
>   and default_time_to_live = 0
>   and speculative_retry = 'NONE'
>   and compaction_strategy_options = {'tombstone_compaction_interval' : '300', 
> 'sstable_size_in_mb' : '200', 'tombstone_threshold' : '0.1'}
>   and compression_options = {'sstable_compression' : 
> 'org.apache.cassandra.io.compress.SnappyCompressor'};
> {noformat}
> but
> {noformat}
> [default@MyKeyspace] describe SomeColumnFamily;
> WARNING: CQL3 tables are intentionally omitted from 'describe' output.
> See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.
> ColumnFamily: SomeColumnFamily
>   Key Validation Class: org.apache.cassandra.db.marshal.BytesType
>   Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
>   Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
>   GC grace seconds: 10800
>   Compaction min/max thresholds: 4/32
>   Read repair chance: 0.1
>   DC Local Read repair chance: 0.0
>   Caching: KEYS_ONLY
>   Default time to live: 0
>   Bloom Filter FP chance: default
>   Index interval: default
>   Speculative Retry: NONE
>   Built indexes: []
>   Compaction Strategy: 
> org.apache.cassandra.db.compaction.LeveledCompactionStrategy
>   Compaction Strategy Options:
> tombstone_compaction_interval: 300
> sstable_size_in_mb: 200
> tombstone_threshold: 0.1
>   Compression Options:
> sstable_compression: org.apache.cassandra.io.compress.SnappyCompressor
> {noformat}
> Note how the default column value validator and cell sorting is UTF8Type 
> rather than the BytesType reported earlier.
> If I populate the column family and list its rows, I get
> {noformat}
> [default@MyKeyspace] list SomeColumnFamily;
> Using default limit of 100
> Using default cell limit of 100
> ---
> RowKey: SomeRowKey
> String didn't validate.
> {noformat}
> I can't see the row. I can temporarily fix this by setting the 
> default_column_validator
> {noformat}
> [default@MyKeyspace] update column family SomeColumnFamily with 
> default_validation_class = BytesType;
> 0fba13e4-aac6-3963-ad65-ba354d99ebdc
> [default@MyKeyspace] list SomeColumnFamily;
> Using default limit of 100
> Using default cell limit of 100
> ---
> RowKey: SomeRowKey
> => (name=some name, value=some value, timestamp=635540144263687300)
> ---
> [More RowKeys]
> {noformat}
> If I do a DESCRIBE again, though, LIST stops working again.
> {noformat}
> [default@KeySpace] describe SomeColumnFamily;
> WARNING: CQL3 tables are intentionally omitted from 'describe' output.
> See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.
> ColumnFamily: SomeColumnFamily
>   Key Validation Class: org.apache.cassandra.db.marshal.BytesType
>   Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
>   Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
>   GC grace seconds: 10800
>   Compaction min/max thresholds: 4/32
>   Read repair chance: 0.1
>   DC Local Read repair chance: 0.0
>   Caching: KEYS_ONLY
>   Default time to live: 0
>   Bloom Filter FP chance: default
>   Index interval: default
>   Speculative Retry: NONE
>   Built indexes: []
>   Compaction Strategy: 
> org.apache.cassandra.db.compactio

[jira] [Commented] (CASSANDRA-8585) Thrift CLI client reporting inconsistent column family structure after upgrade to Cassandra 2.1.2

2015-01-08 Thread Philip Thompson (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8585?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14269977#comment-14269977
 ] 

Philip Thompson commented on CASSANDRA-8585:


Okay, that is almost definitely a thrift based driver. 

> Thrift CLI client reporting inconsistent column family structure after 
> upgrade to Cassandra 2.1.2
> -
>
> Key: CASSANDRA-8585
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8585
> Project: Cassandra
>  Issue Type: Bug
>  Components: API
>Reporter: Sotirios Delimanolis
>Assignee: Philip Thompson
>Priority: Minor
> Fix For: 2.1.3
>
>
> After upgrading from Cassandra 2.0.6.4 to Cassandra 2.1.2-SNAPSHOT, the 
> Thrift CLI client started reporting wrong default_validation_class for a 
> Column Family.
> For example, 
> {noformat}
> [default@MyKeyspace] show schema;
> [...]
> create column family SomeColumnFamily
>   with column_type = 'Standard'
>   and comparator = 'BytesType'
>   and default_validation_class = 'BytesType'
>   and key_validation_class = 'BytesType'
>   and read_repair_chance = 0.1
>   and dclocal_read_repair_chance = 0.0
>   and gc_grace = 10800
>   and min_compaction_threshold = 4
>   and max_compaction_threshold = 32
>   and compaction_strategy = 
> 'org.apache.cassandra.db.compaction.LeveledCompactionStrategy'
>   and caching = 'KEYS_ONLY'
>   and cells_per_row_to_cache = '0'
>   and default_time_to_live = 0
>   and speculative_retry = 'NONE'
>   and compaction_strategy_options = {'tombstone_compaction_interval' : '300', 
> 'sstable_size_in_mb' : '200', 'tombstone_threshold' : '0.1'}
>   and compression_options = {'sstable_compression' : 
> 'org.apache.cassandra.io.compress.SnappyCompressor'};
> {noformat}
> but
> {noformat}
> [default@MyKeyspace] describe SomeColumnFamily;
> WARNING: CQL3 tables are intentionally omitted from 'describe' output.
> See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.
> ColumnFamily: SomeColumnFamily
>   Key Validation Class: org.apache.cassandra.db.marshal.BytesType
>   Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
>   Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
>   GC grace seconds: 10800
>   Compaction min/max thresholds: 4/32
>   Read repair chance: 0.1
>   DC Local Read repair chance: 0.0
>   Caching: KEYS_ONLY
>   Default time to live: 0
>   Bloom Filter FP chance: default
>   Index interval: default
>   Speculative Retry: NONE
>   Built indexes: []
>   Compaction Strategy: 
> org.apache.cassandra.db.compaction.LeveledCompactionStrategy
>   Compaction Strategy Options:
> tombstone_compaction_interval: 300
> sstable_size_in_mb: 200
> tombstone_threshold: 0.1
>   Compression Options:
> sstable_compression: org.apache.cassandra.io.compress.SnappyCompressor
> {noformat}
> Note how the default column value validator and cell sorting is UTF8Type 
> rather than the BytesType reported earlier.
> If I populate the column family and list its rows, I get
> {noformat}
> [default@MyKeyspace] list SomeColumnFamily;
> Using default limit of 100
> Using default cell limit of 100
> ---
> RowKey: SomeRowKey
> String didn't validate.
> {noformat}
> I can't see the row. I can temporarily fix this by setting the 
> default_column_validator
> {noformat}
> [default@MyKeyspace] update column family SomeColumnFamily with 
> default_validation_class = BytesType;
> 0fba13e4-aac6-3963-ad65-ba354d99ebdc
> [default@MyKeyspace] list SomeColumnFamily;
> Using default limit of 100
> Using default cell limit of 100
> ---
> RowKey: SomeRowKey
> => (name=some name, value=some value, timestamp=635540144263687300)
> ---
> [More RowKeys]
> {noformat}
> If I do a DESCRIBE again, though, LIST stops working again.
> {noformat}
> [default@KeySpace] describe SomeColumnFamily;
> WARNING: CQL3 tables are intentionally omitted from 'describe' output.
> See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.
> ColumnFamily: SomeColumnFamily
>   Key Validation Class: org.apache.cassandra.db.marshal.BytesType
>   Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
>   Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
>   GC grace seconds: 10800
>   Compaction min/max thresholds: 4/32
>   Read repair chance: 0.1
>   DC Local Read repair chance: 0.0
>   Caching: KEYS_ONLY
>   Default time to live: 0
>   Bloom Filter FP chance: default
>   Index interval: default
>   Speculative Retry: NONE
>   Built indexes: []
>   Compaction Strategy: 
> org.apache.cassandra.db.compa

[jira] [Commented] (CASSANDRA-8585) Thrift CLI client reporting inconsistent column family structure after upgrade to Cassandra 2.1.2

2015-01-08 Thread Sotirios Delimanolis (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8585?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14269974#comment-14269974
 ] 

Sotirios Delimanolis commented on CASSANDRA-8585:
-

It seems like this: http://wiki.apache.org/cassandra/ThriftExamples#C.23 

I'll get back soon with more details. I have to find the dev that originally 
chose it.

> Thrift CLI client reporting inconsistent column family structure after 
> upgrade to Cassandra 2.1.2
> -
>
> Key: CASSANDRA-8585
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8585
> Project: Cassandra
>  Issue Type: Bug
>  Components: API
>Reporter: Sotirios Delimanolis
>Assignee: Philip Thompson
>Priority: Minor
> Fix For: 2.1.3
>
>
> After upgrading from Cassandra 2.0.6.4 to Cassandra 2.1.2-SNAPSHOT, the 
> Thrift CLI client started reporting wrong default_validation_class for a 
> Column Family.
> For example, 
> {noformat}
> [default@MyKeyspace] show schema;
> [...]
> create column family SomeColumnFamily
>   with column_type = 'Standard'
>   and comparator = 'BytesType'
>   and default_validation_class = 'BytesType'
>   and key_validation_class = 'BytesType'
>   and read_repair_chance = 0.1
>   and dclocal_read_repair_chance = 0.0
>   and gc_grace = 10800
>   and min_compaction_threshold = 4
>   and max_compaction_threshold = 32
>   and compaction_strategy = 
> 'org.apache.cassandra.db.compaction.LeveledCompactionStrategy'
>   and caching = 'KEYS_ONLY'
>   and cells_per_row_to_cache = '0'
>   and default_time_to_live = 0
>   and speculative_retry = 'NONE'
>   and compaction_strategy_options = {'tombstone_compaction_interval' : '300', 
> 'sstable_size_in_mb' : '200', 'tombstone_threshold' : '0.1'}
>   and compression_options = {'sstable_compression' : 
> 'org.apache.cassandra.io.compress.SnappyCompressor'};
> {noformat}
> but
> {noformat}
> [default@MyKeyspace] describe SomeColumnFamily;
> WARNING: CQL3 tables are intentionally omitted from 'describe' output.
> See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.
> ColumnFamily: SomeColumnFamily
>   Key Validation Class: org.apache.cassandra.db.marshal.BytesType
>   Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
>   Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
>   GC grace seconds: 10800
>   Compaction min/max thresholds: 4/32
>   Read repair chance: 0.1
>   DC Local Read repair chance: 0.0
>   Caching: KEYS_ONLY
>   Default time to live: 0
>   Bloom Filter FP chance: default
>   Index interval: default
>   Speculative Retry: NONE
>   Built indexes: []
>   Compaction Strategy: 
> org.apache.cassandra.db.compaction.LeveledCompactionStrategy
>   Compaction Strategy Options:
> tombstone_compaction_interval: 300
> sstable_size_in_mb: 200
> tombstone_threshold: 0.1
>   Compression Options:
> sstable_compression: org.apache.cassandra.io.compress.SnappyCompressor
> {noformat}
> Note how the default column value validator and cell sorting is UTF8Type 
> rather than the BytesType reported earlier.
> If I populate the column family and list its rows, I get
> {noformat}
> [default@MyKeyspace] list SomeColumnFamily;
> Using default limit of 100
> Using default cell limit of 100
> ---
> RowKey: SomeRowKey
> String didn't validate.
> {noformat}
> I can't see the row. I can temporarily fix this by setting the 
> default_column_validator
> {noformat}
> [default@MyKeyspace] update column family SomeColumnFamily with 
> default_validation_class = BytesType;
> 0fba13e4-aac6-3963-ad65-ba354d99ebdc
> [default@MyKeyspace] list SomeColumnFamily;
> Using default limit of 100
> Using default cell limit of 100
> ---
> RowKey: SomeRowKey
> => (name=some name, value=some value, timestamp=635540144263687300)
> ---
> [More RowKeys]
> {noformat}
> If I do a DESCRIBE again, though, LIST stops working again.
> {noformat}
> [default@KeySpace] describe SomeColumnFamily;
> WARNING: CQL3 tables are intentionally omitted from 'describe' output.
> See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.
> ColumnFamily: SomeColumnFamily
>   Key Validation Class: org.apache.cassandra.db.marshal.BytesType
>   Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
>   Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
>   GC grace seconds: 10800
>   Compaction min/max thresholds: 4/32
>   Read repair chance: 0.1
>   DC Local Read repair chance: 0.0
>   Caching: KEYS_ONLY
>   Default time to live: 0
>   Bloom Filter FP chance: default
>   Index interval: default
> 

[jira] [Comment Edited] (CASSANDRA-8585) Thrift CLI client reporting inconsistent column family structure after upgrade to Cassandra 2.1.2

2015-01-08 Thread Sotirios Delimanolis (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8585?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14269970#comment-14269970
 ] 

Sotirios Delimanolis edited comment on CASSANDRA-8585 at 1/8/15 8:09 PM:
-

The C# driver (not CQL) works for querying data perfectly. It seems like the 
driver uses Thrift because it has a reference to a library called Thrift. (The 
driver is old). 


was (Author: s_delima):
The C# driver (not CQL) works for querying data perfectly. It seems like the 
driver uses Thrift. (The driver is old). 

> Thrift CLI client reporting inconsistent column family structure after 
> upgrade to Cassandra 2.1.2
> -
>
> Key: CASSANDRA-8585
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8585
> Project: Cassandra
>  Issue Type: Bug
>  Components: API
>Reporter: Sotirios Delimanolis
>Assignee: Philip Thompson
>Priority: Minor
> Fix For: 2.1.3
>
>
> After upgrading from Cassandra 2.0.6.4 to Cassandra 2.1.2-SNAPSHOT, the 
> Thrift CLI client started reporting wrong default_validation_class for a 
> Column Family.
> For example, 
> {noformat}
> [default@MyKeyspace] show schema;
> [...]
> create column family SomeColumnFamily
>   with column_type = 'Standard'
>   and comparator = 'BytesType'
>   and default_validation_class = 'BytesType'
>   and key_validation_class = 'BytesType'
>   and read_repair_chance = 0.1
>   and dclocal_read_repair_chance = 0.0
>   and gc_grace = 10800
>   and min_compaction_threshold = 4
>   and max_compaction_threshold = 32
>   and compaction_strategy = 
> 'org.apache.cassandra.db.compaction.LeveledCompactionStrategy'
>   and caching = 'KEYS_ONLY'
>   and cells_per_row_to_cache = '0'
>   and default_time_to_live = 0
>   and speculative_retry = 'NONE'
>   and compaction_strategy_options = {'tombstone_compaction_interval' : '300', 
> 'sstable_size_in_mb' : '200', 'tombstone_threshold' : '0.1'}
>   and compression_options = {'sstable_compression' : 
> 'org.apache.cassandra.io.compress.SnappyCompressor'};
> {noformat}
> but
> {noformat}
> [default@MyKeyspace] describe SomeColumnFamily;
> WARNING: CQL3 tables are intentionally omitted from 'describe' output.
> See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.
> ColumnFamily: SomeColumnFamily
>   Key Validation Class: org.apache.cassandra.db.marshal.BytesType
>   Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
>   Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
>   GC grace seconds: 10800
>   Compaction min/max thresholds: 4/32
>   Read repair chance: 0.1
>   DC Local Read repair chance: 0.0
>   Caching: KEYS_ONLY
>   Default time to live: 0
>   Bloom Filter FP chance: default
>   Index interval: default
>   Speculative Retry: NONE
>   Built indexes: []
>   Compaction Strategy: 
> org.apache.cassandra.db.compaction.LeveledCompactionStrategy
>   Compaction Strategy Options:
> tombstone_compaction_interval: 300
> sstable_size_in_mb: 200
> tombstone_threshold: 0.1
>   Compression Options:
> sstable_compression: org.apache.cassandra.io.compress.SnappyCompressor
> {noformat}
> Note how the default column value validator and cell sorting is UTF8Type 
> rather than the BytesType reported earlier.
> If I populate the column family and list its rows, I get
> {noformat}
> [default@MyKeyspace] list SomeColumnFamily;
> Using default limit of 100
> Using default cell limit of 100
> ---
> RowKey: SomeRowKey
> String didn't validate.
> {noformat}
> I can't see the row. I can temporarily fix this by setting the 
> default_column_validator
> {noformat}
> [default@MyKeyspace] update column family SomeColumnFamily with 
> default_validation_class = BytesType;
> 0fba13e4-aac6-3963-ad65-ba354d99ebdc
> [default@MyKeyspace] list SomeColumnFamily;
> Using default limit of 100
> Using default cell limit of 100
> ---
> RowKey: SomeRowKey
> => (name=some name, value=some value, timestamp=635540144263687300)
> ---
> [More RowKeys]
> {noformat}
> If I do a DESCRIBE again, though, LIST stops working again.
> {noformat}
> [default@KeySpace] describe SomeColumnFamily;
> WARNING: CQL3 tables are intentionally omitted from 'describe' output.
> See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.
> ColumnFamily: SomeColumnFamily
>   Key Validation Class: org.apache.cassandra.db.marshal.BytesType
>   Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
>   Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
>   GC grace seconds: 10800
>   Compaction min/max thresholds: 4/32
>

[jira] [Commented] (CASSANDRA-8585) Thrift CLI client reporting inconsistent column family structure after upgrade to Cassandra 2.1.2

2015-01-08 Thread Philip Thompson (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8585?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14269972#comment-14269972
 ] 

Philip Thompson commented on CASSANDRA-8585:


Is it an open source driver? Can you point me to it? I can investigate if it is 
thrift or native.

> Thrift CLI client reporting inconsistent column family structure after 
> upgrade to Cassandra 2.1.2
> -
>
> Key: CASSANDRA-8585
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8585
> Project: Cassandra
>  Issue Type: Bug
>  Components: API
>Reporter: Sotirios Delimanolis
>Assignee: Philip Thompson
>Priority: Minor
> Fix For: 2.1.3
>
>
> After upgrading from Cassandra 2.0.6.4 to Cassandra 2.1.2-SNAPSHOT, the 
> Thrift CLI client started reporting wrong default_validation_class for a 
> Column Family.
> For example, 
> {noformat}
> [default@MyKeyspace] show schema;
> [...]
> create column family SomeColumnFamily
>   with column_type = 'Standard'
>   and comparator = 'BytesType'
>   and default_validation_class = 'BytesType'
>   and key_validation_class = 'BytesType'
>   and read_repair_chance = 0.1
>   and dclocal_read_repair_chance = 0.0
>   and gc_grace = 10800
>   and min_compaction_threshold = 4
>   and max_compaction_threshold = 32
>   and compaction_strategy = 
> 'org.apache.cassandra.db.compaction.LeveledCompactionStrategy'
>   and caching = 'KEYS_ONLY'
>   and cells_per_row_to_cache = '0'
>   and default_time_to_live = 0
>   and speculative_retry = 'NONE'
>   and compaction_strategy_options = {'tombstone_compaction_interval' : '300', 
> 'sstable_size_in_mb' : '200', 'tombstone_threshold' : '0.1'}
>   and compression_options = {'sstable_compression' : 
> 'org.apache.cassandra.io.compress.SnappyCompressor'};
> {noformat}
> but
> {noformat}
> [default@MyKeyspace] describe SomeColumnFamily;
> WARNING: CQL3 tables are intentionally omitted from 'describe' output.
> See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.
> ColumnFamily: SomeColumnFamily
>   Key Validation Class: org.apache.cassandra.db.marshal.BytesType
>   Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
>   Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
>   GC grace seconds: 10800
>   Compaction min/max thresholds: 4/32
>   Read repair chance: 0.1
>   DC Local Read repair chance: 0.0
>   Caching: KEYS_ONLY
>   Default time to live: 0
>   Bloom Filter FP chance: default
>   Index interval: default
>   Speculative Retry: NONE
>   Built indexes: []
>   Compaction Strategy: 
> org.apache.cassandra.db.compaction.LeveledCompactionStrategy
>   Compaction Strategy Options:
> tombstone_compaction_interval: 300
> sstable_size_in_mb: 200
> tombstone_threshold: 0.1
>   Compression Options:
> sstable_compression: org.apache.cassandra.io.compress.SnappyCompressor
> {noformat}
> Note how the default column value validator and cell sorting is UTF8Type 
> rather than the BytesType reported earlier.
> If I populate the column family and list its rows, I get
> {noformat}
> [default@MyKeyspace] list SomeColumnFamily;
> Using default limit of 100
> Using default cell limit of 100
> ---
> RowKey: SomeRowKey
> String didn't validate.
> {noformat}
> I can't see the row. I can temporarily fix this by setting the 
> default_column_validator
> {noformat}
> [default@MyKeyspace] update column family SomeColumnFamily with 
> default_validation_class = BytesType;
> 0fba13e4-aac6-3963-ad65-ba354d99ebdc
> [default@MyKeyspace] list SomeColumnFamily;
> Using default limit of 100
> Using default cell limit of 100
> ---
> RowKey: SomeRowKey
> => (name=some name, value=some value, timestamp=635540144263687300)
> ---
> [More RowKeys]
> {noformat}
> If I do a DESCRIBE again, though, LIST stops working again.
> {noformat}
> [default@KeySpace] describe SomeColumnFamily;
> WARNING: CQL3 tables are intentionally omitted from 'describe' output.
> See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.
> ColumnFamily: SomeColumnFamily
>   Key Validation Class: org.apache.cassandra.db.marshal.BytesType
>   Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
>   Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
>   GC grace seconds: 10800
>   Compaction min/max thresholds: 4/32
>   Read repair chance: 0.1
>   DC Local Read repair chance: 0.0
>   Caching: KEYS_ONLY
>   Default time to live: 0
>   Bloom Filter FP chance: default
>   Index interval: default
>   Speculative Retry: NONE
>   Built indexes: []
>   Compaction

[jira] [Comment Edited] (CASSANDRA-8585) Thrift CLI client reporting inconsistent column family structure after upgrade to Cassandra 2.1.2

2015-01-08 Thread Sotirios Delimanolis (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8585?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14269970#comment-14269970
 ] 

Sotirios Delimanolis edited comment on CASSANDRA-8585 at 1/8/15 8:09 PM:
-

The C# driver (not CQL) works for querying data perfectly. It seems like the 
driver uses Thrift. (The driver is old). 


was (Author: s_delima):
The C# driver (not CQL) works for querying data perfectly. I don't know if it's 
native or thrift based either. (The driver is old). 

> Thrift CLI client reporting inconsistent column family structure after 
> upgrade to Cassandra 2.1.2
> -
>
> Key: CASSANDRA-8585
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8585
> Project: Cassandra
>  Issue Type: Bug
>  Components: API
>Reporter: Sotirios Delimanolis
>Assignee: Philip Thompson
>Priority: Minor
> Fix For: 2.1.3
>
>
> After upgrading from Cassandra 2.0.6.4 to Cassandra 2.1.2-SNAPSHOT, the 
> Thrift CLI client started reporting wrong default_validation_class for a 
> Column Family.
> For example, 
> {noformat}
> [default@MyKeyspace] show schema;
> [...]
> create column family SomeColumnFamily
>   with column_type = 'Standard'
>   and comparator = 'BytesType'
>   and default_validation_class = 'BytesType'
>   and key_validation_class = 'BytesType'
>   and read_repair_chance = 0.1
>   and dclocal_read_repair_chance = 0.0
>   and gc_grace = 10800
>   and min_compaction_threshold = 4
>   and max_compaction_threshold = 32
>   and compaction_strategy = 
> 'org.apache.cassandra.db.compaction.LeveledCompactionStrategy'
>   and caching = 'KEYS_ONLY'
>   and cells_per_row_to_cache = '0'
>   and default_time_to_live = 0
>   and speculative_retry = 'NONE'
>   and compaction_strategy_options = {'tombstone_compaction_interval' : '300', 
> 'sstable_size_in_mb' : '200', 'tombstone_threshold' : '0.1'}
>   and compression_options = {'sstable_compression' : 
> 'org.apache.cassandra.io.compress.SnappyCompressor'};
> {noformat}
> but
> {noformat}
> [default@MyKeyspace] describe SomeColumnFamily;
> WARNING: CQL3 tables are intentionally omitted from 'describe' output.
> See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.
> ColumnFamily: SomeColumnFamily
>   Key Validation Class: org.apache.cassandra.db.marshal.BytesType
>   Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
>   Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
>   GC grace seconds: 10800
>   Compaction min/max thresholds: 4/32
>   Read repair chance: 0.1
>   DC Local Read repair chance: 0.0
>   Caching: KEYS_ONLY
>   Default time to live: 0
>   Bloom Filter FP chance: default
>   Index interval: default
>   Speculative Retry: NONE
>   Built indexes: []
>   Compaction Strategy: 
> org.apache.cassandra.db.compaction.LeveledCompactionStrategy
>   Compaction Strategy Options:
> tombstone_compaction_interval: 300
> sstable_size_in_mb: 200
> tombstone_threshold: 0.1
>   Compression Options:
> sstable_compression: org.apache.cassandra.io.compress.SnappyCompressor
> {noformat}
> Note how the default column value validator and cell sorting is UTF8Type 
> rather than the BytesType reported earlier.
> If I populate the column family and list its rows, I get
> {noformat}
> [default@MyKeyspace] list SomeColumnFamily;
> Using default limit of 100
> Using default cell limit of 100
> ---
> RowKey: SomeRowKey
> String didn't validate.
> {noformat}
> I can't see the row. I can temporarily fix this by setting the 
> default_column_validator
> {noformat}
> [default@MyKeyspace] update column family SomeColumnFamily with 
> default_validation_class = BytesType;
> 0fba13e4-aac6-3963-ad65-ba354d99ebdc
> [default@MyKeyspace] list SomeColumnFamily;
> Using default limit of 100
> Using default cell limit of 100
> ---
> RowKey: SomeRowKey
> => (name=some name, value=some value, timestamp=635540144263687300)
> ---
> [More RowKeys]
> {noformat}
> If I do a DESCRIBE again, though, LIST stops working again.
> {noformat}
> [default@KeySpace] describe SomeColumnFamily;
> WARNING: CQL3 tables are intentionally omitted from 'describe' output.
> See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.
> ColumnFamily: SomeColumnFamily
>   Key Validation Class: org.apache.cassandra.db.marshal.BytesType
>   Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
>   Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
>   GC grace seconds: 10800
>   Compaction min/max thresholds: 4/32
>   Read repair chance: 0.1
>   DC

[jira] [Commented] (CASSANDRA-8585) Thrift CLI client reporting inconsistent column family structure after upgrade to Cassandra 2.1.2

2015-01-08 Thread Sotirios Delimanolis (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8585?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14269970#comment-14269970
 ] 

Sotirios Delimanolis commented on CASSANDRA-8585:
-

The C# driver (not CQL) works for querying data perfectly. I don't know if it's 
native or thrift based either. (The driver is old). 

> Thrift CLI client reporting inconsistent column family structure after 
> upgrade to Cassandra 2.1.2
> -
>
> Key: CASSANDRA-8585
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8585
> Project: Cassandra
>  Issue Type: Bug
>  Components: API
>Reporter: Sotirios Delimanolis
>Assignee: Philip Thompson
>Priority: Minor
> Fix For: 2.1.3
>
>
> After upgrading from Cassandra 2.0.6.4 to Cassandra 2.1.2-SNAPSHOT, the 
> Thrift CLI client started reporting wrong default_validation_class for a 
> Column Family.
> For example, 
> {noformat}
> [default@MyKeyspace] show schema;
> [...]
> create column family SomeColumnFamily
>   with column_type = 'Standard'
>   and comparator = 'BytesType'
>   and default_validation_class = 'BytesType'
>   and key_validation_class = 'BytesType'
>   and read_repair_chance = 0.1
>   and dclocal_read_repair_chance = 0.0
>   and gc_grace = 10800
>   and min_compaction_threshold = 4
>   and max_compaction_threshold = 32
>   and compaction_strategy = 
> 'org.apache.cassandra.db.compaction.LeveledCompactionStrategy'
>   and caching = 'KEYS_ONLY'
>   and cells_per_row_to_cache = '0'
>   and default_time_to_live = 0
>   and speculative_retry = 'NONE'
>   and compaction_strategy_options = {'tombstone_compaction_interval' : '300', 
> 'sstable_size_in_mb' : '200', 'tombstone_threshold' : '0.1'}
>   and compression_options = {'sstable_compression' : 
> 'org.apache.cassandra.io.compress.SnappyCompressor'};
> {noformat}
> but
> {noformat}
> [default@MyKeyspace] describe SomeColumnFamily;
> WARNING: CQL3 tables are intentionally omitted from 'describe' output.
> See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.
> ColumnFamily: SomeColumnFamily
>   Key Validation Class: org.apache.cassandra.db.marshal.BytesType
>   Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
>   Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
>   GC grace seconds: 10800
>   Compaction min/max thresholds: 4/32
>   Read repair chance: 0.1
>   DC Local Read repair chance: 0.0
>   Caching: KEYS_ONLY
>   Default time to live: 0
>   Bloom Filter FP chance: default
>   Index interval: default
>   Speculative Retry: NONE
>   Built indexes: []
>   Compaction Strategy: 
> org.apache.cassandra.db.compaction.LeveledCompactionStrategy
>   Compaction Strategy Options:
> tombstone_compaction_interval: 300
> sstable_size_in_mb: 200
> tombstone_threshold: 0.1
>   Compression Options:
> sstable_compression: org.apache.cassandra.io.compress.SnappyCompressor
> {noformat}
> Note how the default column value validator and cell sorting is UTF8Type 
> rather than the BytesType reported earlier.
> If I populate the column family and list its rows, I get
> {noformat}
> [default@MyKeyspace] list SomeColumnFamily;
> Using default limit of 100
> Using default cell limit of 100
> ---
> RowKey: SomeRowKey
> String didn't validate.
> {noformat}
> I can't see the row. I can temporarily fix this by setting the 
> default_column_validator
> {noformat}
> [default@MyKeyspace] update column family SomeColumnFamily with 
> default_validation_class = BytesType;
> 0fba13e4-aac6-3963-ad65-ba354d99ebdc
> [default@MyKeyspace] list SomeColumnFamily;
> Using default limit of 100
> Using default cell limit of 100
> ---
> RowKey: SomeRowKey
> => (name=some name, value=some value, timestamp=635540144263687300)
> ---
> [More RowKeys]
> {noformat}
> If I do a DESCRIBE again, though, LIST stops working again.
> {noformat}
> [default@KeySpace] describe SomeColumnFamily;
> WARNING: CQL3 tables are intentionally omitted from 'describe' output.
> See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.
> ColumnFamily: SomeColumnFamily
>   Key Validation Class: org.apache.cassandra.db.marshal.BytesType
>   Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
>   Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
>   GC grace seconds: 10800
>   Compaction min/max thresholds: 4/32
>   Read repair chance: 0.1
>   DC Local Read repair chance: 0.0
>   Caching: KEYS_ONLY
>   Default time to live: 0
>   Bloom Filter FP chance: default
>   Index interval: default
>   Speculative Retry: NONE

[jira] [Updated] (CASSANDRA-8585) Thrift CLI client reporting inconsistent column family structure after upgrade to Cassandra 2.1.2

2015-01-08 Thread Philip Thompson (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-8585?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Philip Thompson updated CASSANDRA-8585:
---
Assignee: Philip Thompson  (was: Aleksey Yeschenko)

> Thrift CLI client reporting inconsistent column family structure after 
> upgrade to Cassandra 2.1.2
> -
>
> Key: CASSANDRA-8585
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8585
> Project: Cassandra
>  Issue Type: Bug
>  Components: API
>Reporter: Sotirios Delimanolis
>Assignee: Philip Thompson
>Priority: Minor
> Fix For: 2.1.3
>
>
> After upgrading from Cassandra 2.0.6.4 to Cassandra 2.1.2-SNAPSHOT, the 
> Thrift CLI client started reporting wrong default_validation_class for a 
> Column Family.
> For example, 
> {noformat}
> [default@MyKeyspace] show schema;
> [...]
> create column family SomeColumnFamily
>   with column_type = 'Standard'
>   and comparator = 'BytesType'
>   and default_validation_class = 'BytesType'
>   and key_validation_class = 'BytesType'
>   and read_repair_chance = 0.1
>   and dclocal_read_repair_chance = 0.0
>   and gc_grace = 10800
>   and min_compaction_threshold = 4
>   and max_compaction_threshold = 32
>   and compaction_strategy = 
> 'org.apache.cassandra.db.compaction.LeveledCompactionStrategy'
>   and caching = 'KEYS_ONLY'
>   and cells_per_row_to_cache = '0'
>   and default_time_to_live = 0
>   and speculative_retry = 'NONE'
>   and compaction_strategy_options = {'tombstone_compaction_interval' : '300', 
> 'sstable_size_in_mb' : '200', 'tombstone_threshold' : '0.1'}
>   and compression_options = {'sstable_compression' : 
> 'org.apache.cassandra.io.compress.SnappyCompressor'};
> {noformat}
> but
> {noformat}
> [default@MyKeyspace] describe SomeColumnFamily;
> WARNING: CQL3 tables are intentionally omitted from 'describe' output.
> See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.
> ColumnFamily: SomeColumnFamily
>   Key Validation Class: org.apache.cassandra.db.marshal.BytesType
>   Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
>   Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
>   GC grace seconds: 10800
>   Compaction min/max thresholds: 4/32
>   Read repair chance: 0.1
>   DC Local Read repair chance: 0.0
>   Caching: KEYS_ONLY
>   Default time to live: 0
>   Bloom Filter FP chance: default
>   Index interval: default
>   Speculative Retry: NONE
>   Built indexes: []
>   Compaction Strategy: 
> org.apache.cassandra.db.compaction.LeveledCompactionStrategy
>   Compaction Strategy Options:
> tombstone_compaction_interval: 300
> sstable_size_in_mb: 200
> tombstone_threshold: 0.1
>   Compression Options:
> sstable_compression: org.apache.cassandra.io.compress.SnappyCompressor
> {noformat}
> Note how the default column value validator and cell sorting is UTF8Type 
> rather than the BytesType reported earlier.
> If I populate the column family and list its rows, I get
> {noformat}
> [default@MyKeyspace] list SomeColumnFamily;
> Using default limit of 100
> Using default cell limit of 100
> ---
> RowKey: SomeRowKey
> String didn't validate.
> {noformat}
> I can't see the row. I can temporarily fix this by setting the 
> default_column_validator
> {noformat}
> [default@MyKeyspace] update column family SomeColumnFamily with 
> default_validation_class = BytesType;
> 0fba13e4-aac6-3963-ad65-ba354d99ebdc
> [default@MyKeyspace] list SomeColumnFamily;
> Using default limit of 100
> Using default cell limit of 100
> ---
> RowKey: SomeRowKey
> => (name=some name, value=some value, timestamp=635540144263687300)
> ---
> [More RowKeys]
> {noformat}
> If I do a DESCRIBE again, though, LIST stops working again.
> {noformat}
> [default@KeySpace] describe SomeColumnFamily;
> WARNING: CQL3 tables are intentionally omitted from 'describe' output.
> See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.
> ColumnFamily: SomeColumnFamily
>   Key Validation Class: org.apache.cassandra.db.marshal.BytesType
>   Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
>   Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
>   GC grace seconds: 10800
>   Compaction min/max thresholds: 4/32
>   Read repair chance: 0.1
>   DC Local Read repair chance: 0.0
>   Caching: KEYS_ONLY
>   Default time to live: 0
>   Bloom Filter FP chance: default
>   Index interval: default
>   Speculative Retry: NONE
>   Built indexes: []
>   Compaction Strategy: 
> org.apache.cassandra.db.compaction.LeveledCompactionStrategy
>   Compaction Strateg

[jira] [Updated] (CASSANDRA-8585) Thrift CLI client reporting inconsistent column family structure after upgrade to Cassandra 2.1.2

2015-01-08 Thread Philip Thompson (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-8585?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Philip Thompson updated CASSANDRA-8585:
---
Assignee: Aleksey Yeschenko

> Thrift CLI client reporting inconsistent column family structure after 
> upgrade to Cassandra 2.1.2
> -
>
> Key: CASSANDRA-8585
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8585
> Project: Cassandra
>  Issue Type: Bug
>  Components: API
>Reporter: Sotirios Delimanolis
>Assignee: Aleksey Yeschenko
>Priority: Minor
> Fix For: 2.1.3
>
>
> After upgrading from Cassandra 2.0.6.4 to Cassandra 2.1.2-SNAPSHOT, the 
> Thrift CLI client started reporting wrong default_validation_class for a 
> Column Family.
> For example, 
> {noformat}
> [default@MyKeyspace] show schema;
> [...]
> create column family SomeColumnFamily
>   with column_type = 'Standard'
>   and comparator = 'BytesType'
>   and default_validation_class = 'BytesType'
>   and key_validation_class = 'BytesType'
>   and read_repair_chance = 0.1
>   and dclocal_read_repair_chance = 0.0
>   and gc_grace = 10800
>   and min_compaction_threshold = 4
>   and max_compaction_threshold = 32
>   and compaction_strategy = 
> 'org.apache.cassandra.db.compaction.LeveledCompactionStrategy'
>   and caching = 'KEYS_ONLY'
>   and cells_per_row_to_cache = '0'
>   and default_time_to_live = 0
>   and speculative_retry = 'NONE'
>   and compaction_strategy_options = {'tombstone_compaction_interval' : '300', 
> 'sstable_size_in_mb' : '200', 'tombstone_threshold' : '0.1'}
>   and compression_options = {'sstable_compression' : 
> 'org.apache.cassandra.io.compress.SnappyCompressor'};
> {noformat}
> but
> {noformat}
> [default@MyKeyspace] describe SomeColumnFamily;
> WARNING: CQL3 tables are intentionally omitted from 'describe' output.
> See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.
> ColumnFamily: SomeColumnFamily
>   Key Validation Class: org.apache.cassandra.db.marshal.BytesType
>   Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
>   Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
>   GC grace seconds: 10800
>   Compaction min/max thresholds: 4/32
>   Read repair chance: 0.1
>   DC Local Read repair chance: 0.0
>   Caching: KEYS_ONLY
>   Default time to live: 0
>   Bloom Filter FP chance: default
>   Index interval: default
>   Speculative Retry: NONE
>   Built indexes: []
>   Compaction Strategy: 
> org.apache.cassandra.db.compaction.LeveledCompactionStrategy
>   Compaction Strategy Options:
> tombstone_compaction_interval: 300
> sstable_size_in_mb: 200
> tombstone_threshold: 0.1
>   Compression Options:
> sstable_compression: org.apache.cassandra.io.compress.SnappyCompressor
> {noformat}
> Note how the default column value validator and cell sorting is UTF8Type 
> rather than the BytesType reported earlier.
> If I populate the column family and list its rows, I get
> {noformat}
> [default@MyKeyspace] list SomeColumnFamily;
> Using default limit of 100
> Using default cell limit of 100
> ---
> RowKey: SomeRowKey
> String didn't validate.
> {noformat}
> I can't see the row. I can temporarily fix this by setting the 
> default_column_validator
> {noformat}
> [default@MyKeyspace] update column family SomeColumnFamily with 
> default_validation_class = BytesType;
> 0fba13e4-aac6-3963-ad65-ba354d99ebdc
> [default@MyKeyspace] list SomeColumnFamily;
> Using default limit of 100
> Using default cell limit of 100
> ---
> RowKey: SomeRowKey
> => (name=some name, value=some value, timestamp=635540144263687300)
> ---
> [More RowKeys]
> {noformat}
> If I do a DESCRIBE again, though, LIST stops working again.
> {noformat}
> [default@KeySpace] describe SomeColumnFamily;
> WARNING: CQL3 tables are intentionally omitted from 'describe' output.
> See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.
> ColumnFamily: SomeColumnFamily
>   Key Validation Class: org.apache.cassandra.db.marshal.BytesType
>   Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
>   Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
>   GC grace seconds: 10800
>   Compaction min/max thresholds: 4/32
>   Read repair chance: 0.1
>   DC Local Read repair chance: 0.0
>   Caching: KEYS_ONLY
>   Default time to live: 0
>   Bloom Filter FP chance: default
>   Index interval: default
>   Speculative Retry: NONE
>   Built indexes: []
>   Compaction Strategy: 
> org.apache.cassandra.db.compaction.LeveledCompactionStrategy
>   Compaction Strategy Options:
> t

[jira] [Commented] (CASSANDRA-8585) Thrift CLI client reporting inconsistent column family structure after upgrade to Cassandra 2.1.2

2015-01-08 Thread Philip Thompson (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8585?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14269967#comment-14269967
 ] 

Philip Thompson commented on CASSANDRA-8585:


If this is just a cli problem, we probably won't be fixing it. But it is more 
likely that it is a thrift bug. Do you have access to any drivers that use 
thrift (not sure if that C# driver is native protocol or thrift based)? If so, 
do they query the table just fine?

> Thrift CLI client reporting inconsistent column family structure after 
> upgrade to Cassandra 2.1.2
> -
>
> Key: CASSANDRA-8585
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8585
> Project: Cassandra
>  Issue Type: Bug
>  Components: API
>Reporter: Sotirios Delimanolis
>Priority: Minor
> Fix For: 2.1.3
>
>
> After upgrading from Cassandra 2.0.6.4 to Cassandra 2.1.2-SNAPSHOT, the 
> Thrift CLI client started reporting wrong default_validation_class for a 
> Column Family.
> For example, 
> {noformat}
> [default@MyKeyspace] show schema;
> [...]
> create column family SomeColumnFamily
>   with column_type = 'Standard'
>   and comparator = 'BytesType'
>   and default_validation_class = 'BytesType'
>   and key_validation_class = 'BytesType'
>   and read_repair_chance = 0.1
>   and dclocal_read_repair_chance = 0.0
>   and gc_grace = 10800
>   and min_compaction_threshold = 4
>   and max_compaction_threshold = 32
>   and compaction_strategy = 
> 'org.apache.cassandra.db.compaction.LeveledCompactionStrategy'
>   and caching = 'KEYS_ONLY'
>   and cells_per_row_to_cache = '0'
>   and default_time_to_live = 0
>   and speculative_retry = 'NONE'
>   and compaction_strategy_options = {'tombstone_compaction_interval' : '300', 
> 'sstable_size_in_mb' : '200', 'tombstone_threshold' : '0.1'}
>   and compression_options = {'sstable_compression' : 
> 'org.apache.cassandra.io.compress.SnappyCompressor'};
> {noformat}
> but
> {noformat}
> [default@MyKeyspace] describe SomeColumnFamily;
> WARNING: CQL3 tables are intentionally omitted from 'describe' output.
> See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.
> ColumnFamily: SomeColumnFamily
>   Key Validation Class: org.apache.cassandra.db.marshal.BytesType
>   Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
>   Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
>   GC grace seconds: 10800
>   Compaction min/max thresholds: 4/32
>   Read repair chance: 0.1
>   DC Local Read repair chance: 0.0
>   Caching: KEYS_ONLY
>   Default time to live: 0
>   Bloom Filter FP chance: default
>   Index interval: default
>   Speculative Retry: NONE
>   Built indexes: []
>   Compaction Strategy: 
> org.apache.cassandra.db.compaction.LeveledCompactionStrategy
>   Compaction Strategy Options:
> tombstone_compaction_interval: 300
> sstable_size_in_mb: 200
> tombstone_threshold: 0.1
>   Compression Options:
> sstable_compression: org.apache.cassandra.io.compress.SnappyCompressor
> {noformat}
> Note how the default column value validator and cell sorting is UTF8Type 
> rather than the BytesType reported earlier.
> If I populate the column family and list its rows, I get
> {noformat}
> [default@MyKeyspace] list SomeColumnFamily;
> Using default limit of 100
> Using default cell limit of 100
> ---
> RowKey: SomeRowKey
> String didn't validate.
> {noformat}
> I can't see the row. I can temporarily fix this by setting the 
> default_column_validator
> {noformat}
> [default@MyKeyspace] update column family SomeColumnFamily with 
> default_validation_class = BytesType;
> 0fba13e4-aac6-3963-ad65-ba354d99ebdc
> [default@MyKeyspace] list SomeColumnFamily;
> Using default limit of 100
> Using default cell limit of 100
> ---
> RowKey: SomeRowKey
> => (name=some name, value=some value, timestamp=635540144263687300)
> ---
> [More RowKeys]
> {noformat}
> If I do a DESCRIBE again, though, LIST stops working again.
> {noformat}
> [default@KeySpace] describe SomeColumnFamily;
> WARNING: CQL3 tables are intentionally omitted from 'describe' output.
> See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.
> ColumnFamily: SomeColumnFamily
>   Key Validation Class: org.apache.cassandra.db.marshal.BytesType
>   Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
>   Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
>   GC grace seconds: 10800
>   Compaction min/max thresholds: 4/32
>   Read repair chance: 0.1
>   DC Local Read repair chance: 0.0
>   Caching: KEYS_ONLY
>   Default time to live: 0
>   Bloom Fi

[jira] [Commented] (CASSANDRA-8585) Thrift CLI client reporting inconsistent column family structure after upgrade to Cassandra 2.1.2

2015-01-08 Thread Sotirios Delimanolis (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8585?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14269964#comment-14269964
 ] 

Sotirios Delimanolis commented on CASSANDRA-8585:
-

{noformat}
cqlsh:MyKeyspace> describe table "SomeColumnFamily";

CREATE TABLE "MyKeyspace"."SomeColumnFamily" (
key blob,
column1 blob,
value blob,
PRIMARY KEY (key, column1)
) WITH COMPACT STORAGE
AND CLUSTERING ORDER BY (column1 ASC)
AND caching = '{"keys":"ALL", "rows_per_partition":"NONE"}'
AND comment = ''
AND compaction = {'sstable_size_in_mb': '200', 'max_threshold': '32', 
'min_threshold': '4', 'tombstone_compaction_interval': '300', 
'tombstone_threshold': '0.1', 'class': 
'org.apache.cassandra.db.compaction.LeveledCompactionStrategy'}
AND compression = {'sstable_compression': 
'org.apache.cassandra.io.compress.SnappyCompressor'}
AND dclocal_read_repair_chance = 0.0
AND default_time_to_live = 0
AND gc_grace_seconds = 10800
AND max_index_interval = 2048
AND memtable_flush_period_in_ms = 0
AND min_index_interval = 128
AND read_repair_chance = 0.1
AND speculative_retry = 'NONE';
{noformat}


> Thrift CLI client reporting inconsistent column family structure after 
> upgrade to Cassandra 2.1.2
> -
>
> Key: CASSANDRA-8585
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8585
> Project: Cassandra
>  Issue Type: Bug
>  Components: API
>Reporter: Sotirios Delimanolis
>Priority: Minor
> Fix For: 2.1.3
>
>
> After upgrading from Cassandra 2.0.6.4 to Cassandra 2.1.2-SNAPSHOT, the 
> Thrift CLI client started reporting wrong default_validation_class for a 
> Column Family.
> For example, 
> {noformat}
> [default@MyKeyspace] show schema;
> [...]
> create column family SomeColumnFamily
>   with column_type = 'Standard'
>   and comparator = 'BytesType'
>   and default_validation_class = 'BytesType'
>   and key_validation_class = 'BytesType'
>   and read_repair_chance = 0.1
>   and dclocal_read_repair_chance = 0.0
>   and gc_grace = 10800
>   and min_compaction_threshold = 4
>   and max_compaction_threshold = 32
>   and compaction_strategy = 
> 'org.apache.cassandra.db.compaction.LeveledCompactionStrategy'
>   and caching = 'KEYS_ONLY'
>   and cells_per_row_to_cache = '0'
>   and default_time_to_live = 0
>   and speculative_retry = 'NONE'
>   and compaction_strategy_options = {'tombstone_compaction_interval' : '300', 
> 'sstable_size_in_mb' : '200', 'tombstone_threshold' : '0.1'}
>   and compression_options = {'sstable_compression' : 
> 'org.apache.cassandra.io.compress.SnappyCompressor'};
> {noformat}
> but
> {noformat}
> [default@MyKeyspace] describe SomeColumnFamily;
> WARNING: CQL3 tables are intentionally omitted from 'describe' output.
> See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.
> ColumnFamily: SomeColumnFamily
>   Key Validation Class: org.apache.cassandra.db.marshal.BytesType
>   Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
>   Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
>   GC grace seconds: 10800
>   Compaction min/max thresholds: 4/32
>   Read repair chance: 0.1
>   DC Local Read repair chance: 0.0
>   Caching: KEYS_ONLY
>   Default time to live: 0
>   Bloom Filter FP chance: default
>   Index interval: default
>   Speculative Retry: NONE
>   Built indexes: []
>   Compaction Strategy: 
> org.apache.cassandra.db.compaction.LeveledCompactionStrategy
>   Compaction Strategy Options:
> tombstone_compaction_interval: 300
> sstable_size_in_mb: 200
> tombstone_threshold: 0.1
>   Compression Options:
> sstable_compression: org.apache.cassandra.io.compress.SnappyCompressor
> {noformat}
> Note how the default column value validator and cell sorting is UTF8Type 
> rather than the BytesType reported earlier.
> If I populate the column family and list its rows, I get
> {noformat}
> [default@MyKeyspace] list SomeColumnFamily;
> Using default limit of 100
> Using default cell limit of 100
> ---
> RowKey: SomeRowKey
> String didn't validate.
> {noformat}
> I can't see the row. I can temporarily fix this by setting the 
> default_column_validator
> {noformat}
> [default@MyKeyspace] update column family SomeColumnFamily with 
> default_validation_class = BytesType;
> 0fba13e4-aac6-3963-ad65-ba354d99ebdc
> [default@MyKeyspace] list SomeColumnFamily;
> Using default limit of 100
> Using default cell limit of 100
> ---
> RowKey: SomeRowKey
> => (name=some name, value=some value, timestamp=635540144263687300)
> ---
> [More RowKeys]
> {noformat}
> If I do a DESCRIBE again, th

[jira] [Comment Edited] (CASSANDRA-8585) Thrift CLI client reporting inconsistent column family structure after upgrade to Cassandra 2.1.2

2015-01-08 Thread Sotirios Delimanolis (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8585?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14269964#comment-14269964
 ] 

Sotirios Delimanolis edited comment on CASSANDRA-8585 at 1/8/15 8:01 PM:
-

Everything is a blob.

{noformat}
cqlsh:MyKeyspace> describe table "SomeColumnFamily";

CREATE TABLE "MyKeyspace"."SomeColumnFamily" (
key blob,
column1 blob,
value blob,
PRIMARY KEY (key, column1)
) WITH COMPACT STORAGE
AND CLUSTERING ORDER BY (column1 ASC)
AND caching = '{"keys":"ALL", "rows_per_partition":"NONE"}'
AND comment = ''
AND compaction = {'sstable_size_in_mb': '200', 'max_threshold': '32', 
'min_threshold': '4', 'tombstone_compaction_interval': '300', 
'tombstone_threshold': '0.1', 'class': 
'org.apache.cassandra.db.compaction.LeveledCompactionStrategy'}
AND compression = {'sstable_compression': 
'org.apache.cassandra.io.compress.SnappyCompressor'}
AND dclocal_read_repair_chance = 0.0
AND default_time_to_live = 0
AND gc_grace_seconds = 10800
AND max_index_interval = 2048
AND memtable_flush_period_in_ms = 0
AND min_index_interval = 128
AND read_repair_chance = 0.1
AND speculative_retry = 'NONE';
{noformat}



was (Author: s_delima):
{noformat}
cqlsh:MyKeyspace> describe table "SomeColumnFamily";

CREATE TABLE "MyKeyspace"."SomeColumnFamily" (
key blob,
column1 blob,
value blob,
PRIMARY KEY (key, column1)
) WITH COMPACT STORAGE
AND CLUSTERING ORDER BY (column1 ASC)
AND caching = '{"keys":"ALL", "rows_per_partition":"NONE"}'
AND comment = ''
AND compaction = {'sstable_size_in_mb': '200', 'max_threshold': '32', 
'min_threshold': '4', 'tombstone_compaction_interval': '300', 
'tombstone_threshold': '0.1', 'class': 
'org.apache.cassandra.db.compaction.LeveledCompactionStrategy'}
AND compression = {'sstable_compression': 
'org.apache.cassandra.io.compress.SnappyCompressor'}
AND dclocal_read_repair_chance = 0.0
AND default_time_to_live = 0
AND gc_grace_seconds = 10800
AND max_index_interval = 2048
AND memtable_flush_period_in_ms = 0
AND min_index_interval = 128
AND read_repair_chance = 0.1
AND speculative_retry = 'NONE';
{noformat}


> Thrift CLI client reporting inconsistent column family structure after 
> upgrade to Cassandra 2.1.2
> -
>
> Key: CASSANDRA-8585
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8585
> Project: Cassandra
>  Issue Type: Bug
>  Components: API
>Reporter: Sotirios Delimanolis
>Priority: Minor
> Fix For: 2.1.3
>
>
> After upgrading from Cassandra 2.0.6.4 to Cassandra 2.1.2-SNAPSHOT, the 
> Thrift CLI client started reporting wrong default_validation_class for a 
> Column Family.
> For example, 
> {noformat}
> [default@MyKeyspace] show schema;
> [...]
> create column family SomeColumnFamily
>   with column_type = 'Standard'
>   and comparator = 'BytesType'
>   and default_validation_class = 'BytesType'
>   and key_validation_class = 'BytesType'
>   and read_repair_chance = 0.1
>   and dclocal_read_repair_chance = 0.0
>   and gc_grace = 10800
>   and min_compaction_threshold = 4
>   and max_compaction_threshold = 32
>   and compaction_strategy = 
> 'org.apache.cassandra.db.compaction.LeveledCompactionStrategy'
>   and caching = 'KEYS_ONLY'
>   and cells_per_row_to_cache = '0'
>   and default_time_to_live = 0
>   and speculative_retry = 'NONE'
>   and compaction_strategy_options = {'tombstone_compaction_interval' : '300', 
> 'sstable_size_in_mb' : '200', 'tombstone_threshold' : '0.1'}
>   and compression_options = {'sstable_compression' : 
> 'org.apache.cassandra.io.compress.SnappyCompressor'};
> {noformat}
> but
> {noformat}
> [default@MyKeyspace] describe SomeColumnFamily;
> WARNING: CQL3 tables are intentionally omitted from 'describe' output.
> See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.
> ColumnFamily: SomeColumnFamily
>   Key Validation Class: org.apache.cassandra.db.marshal.BytesType
>   Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
>   Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
>   GC grace seconds: 10800
>   Compaction min/max thresholds: 4/32
>   Read repair chance: 0.1
>   DC Local Read repair chance: 0.0
>   Caching: KEYS_ONLY
>   Default time to live: 0
>   Bloom Filter FP chance: default
>   Index interval: default
>   Speculative Retry: NONE
>   Built indexes: []
>   Compaction Strategy: 
> org.apache.cassandra.db.compaction.LeveledCompactionStrategy
>   Compaction Strategy Options:
> tombstone_compaction_interval: 300
> sstable_size_in_mb: 200
> tombstone_thres

[jira] [Updated] (CASSANDRA-8490) DISTINCT queries with LIMITs or paging are incorrect when partitions are deleted

2015-01-08 Thread Tyler Hobbs (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-8490?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tyler Hobbs updated CASSANDRA-8490:
---
Attachment: 8490-trunk-v2.txt
8490-2.0-v2.txt

Ah, good point.  The v2 patch makes the suggested change and also updates 
StorageProxy to properly handle counting/trimming the rows for this case.

> DISTINCT queries with LIMITs or paging are incorrect when partitions are 
> deleted
> 
>
> Key: CASSANDRA-8490
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8490
> Project: Cassandra
>  Issue Type: Bug
> Environment: Driver version: 2.1.3.
> Cassandra version: 2.0.11/2.1.2.
>Reporter: Frank Limstrand
>Assignee: Tyler Hobbs
> Fix For: 2.0.12, 2.1.3
>
> Attachments: 8490-2.0-v2.txt, 8490-2.0.txt, 8490-trunk-v2.txt, 
> 8490-trunk.txt
>
>
> Using paging demo code from 
> https://github.com/PatrickCallaghan/datastax-paging-demo
> The code creates and populates a table with 1000 entries and pages through 
> them with setFetchSize set to 100. If we then delete one entry with 'cqlsh':
> {noformat}
> cqlsh:datastax_paging_demo> delete from datastax_paging_demo.products  where 
> productId = 'P142'; (The specified productid is number 6 in the resultset.)
> {noformat}
> and run the same query ("Select * from") again we get:
> {noformat}
> [com.datastax.paging.Main.main()] INFO  com.datastax.paging.Main - Paging 
> demo took 0 secs. Total Products : 999
> {noformat}
> which is what we would expect.
> If we then change the "select" statement in dao/ProductDao.java (line 70) 
> from "Select * from " to "Select DISTINCT productid from " we get this result:
> {noformat}
> [com.datastax.paging.Main.main()] INFO  com.datastax.paging.Main - Paging 
> demo took 0 secs. Total Products : 99
> {noformat}
> So it looks like the tombstone stops the paging behaviour. Is this a bug?
> {noformat}
> DEBUG [Native-Transport-Requests:788] 2014-12-16 10:09:13,431 Message.java 
> (line 319) Received: QUERY Select DISTINCT productid from 
> datastax_paging_demo.products, v=2
> DEBUG [Native-Transport-Requests:788] 2014-12-16 10:09:13,434 
> AbstractQueryPager.java (line 98) Fetched 99 live rows
> DEBUG [Native-Transport-Requests:788] 2014-12-16 10:09:13,434 
> AbstractQueryPager.java (line 115) Got result (99) smaller than page size 
> (100), considering pager exhausted
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (CASSANDRA-8585) Thrift CLI client reporting inconsistent column family structure after upgrade to Cassandra 2.1.2

2015-01-08 Thread Philip Thompson (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-8585?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Philip Thompson updated CASSANDRA-8585:
---
Priority: Minor  (was: Major)

> Thrift CLI client reporting inconsistent column family structure after 
> upgrade to Cassandra 2.1.2
> -
>
> Key: CASSANDRA-8585
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8585
> Project: Cassandra
>  Issue Type: Bug
>  Components: API
>Reporter: Sotirios Delimanolis
>Priority: Minor
> Fix For: 2.1.3
>
>
> After upgrading from Cassandra 2.0.6.4 to Cassandra 2.1.2-SNAPSHOT, the 
> Thrift CLI client started reporting wrong default_validation_class for a 
> Column Family.
> For example, 
> {noformat}
> [default@MyKeyspace] show schema;
> [...]
> create column family SomeColumnFamily
>   with column_type = 'Standard'
>   and comparator = 'BytesType'
>   and default_validation_class = 'BytesType'
>   and key_validation_class = 'BytesType'
>   and read_repair_chance = 0.1
>   and dclocal_read_repair_chance = 0.0
>   and gc_grace = 10800
>   and min_compaction_threshold = 4
>   and max_compaction_threshold = 32
>   and compaction_strategy = 
> 'org.apache.cassandra.db.compaction.LeveledCompactionStrategy'
>   and caching = 'KEYS_ONLY'
>   and cells_per_row_to_cache = '0'
>   and default_time_to_live = 0
>   and speculative_retry = 'NONE'
>   and compaction_strategy_options = {'tombstone_compaction_interval' : '300', 
> 'sstable_size_in_mb' : '200', 'tombstone_threshold' : '0.1'}
>   and compression_options = {'sstable_compression' : 
> 'org.apache.cassandra.io.compress.SnappyCompressor'};
> {noformat}
> but
> {noformat}
> [default@MyKeyspace] describe SomeColumnFamily;
> WARNING: CQL3 tables are intentionally omitted from 'describe' output.
> See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.
> ColumnFamily: SomeColumnFamily
>   Key Validation Class: org.apache.cassandra.db.marshal.BytesType
>   Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
>   Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
>   GC grace seconds: 10800
>   Compaction min/max thresholds: 4/32
>   Read repair chance: 0.1
>   DC Local Read repair chance: 0.0
>   Caching: KEYS_ONLY
>   Default time to live: 0
>   Bloom Filter FP chance: default
>   Index interval: default
>   Speculative Retry: NONE
>   Built indexes: []
>   Compaction Strategy: 
> org.apache.cassandra.db.compaction.LeveledCompactionStrategy
>   Compaction Strategy Options:
> tombstone_compaction_interval: 300
> sstable_size_in_mb: 200
> tombstone_threshold: 0.1
>   Compression Options:
> sstable_compression: org.apache.cassandra.io.compress.SnappyCompressor
> {noformat}
> Note how the default column value validator and cell sorting is UTF8Type 
> rather than the BytesType reported earlier.
> If I populate the column family and list its rows, I get
> {noformat}
> [default@MyKeyspace] list SomeColumnFamily;
> Using default limit of 100
> Using default cell limit of 100
> ---
> RowKey: SomeRowKey
> String didn't validate.
> {noformat}
> I can't see the row. I can temporarily fix this by setting the 
> default_column_validator
> {noformat}
> [default@MyKeyspace] update column family SomeColumnFamily with 
> default_validation_class = BytesType;
> 0fba13e4-aac6-3963-ad65-ba354d99ebdc
> [default@MyKeyspace] list SomeColumnFamily;
> Using default limit of 100
> Using default cell limit of 100
> ---
> RowKey: SomeRowKey
> => (name=some name, value=some value, timestamp=635540144263687300)
> ---
> [More RowKeys]
> {noformat}
> If I do a DESCRIBE again, though, LIST stops working again.
> {noformat}
> [default@KeySpace] describe SomeColumnFamily;
> WARNING: CQL3 tables are intentionally omitted from 'describe' output.
> See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.
> ColumnFamily: SomeColumnFamily
>   Key Validation Class: org.apache.cassandra.db.marshal.BytesType
>   Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
>   Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
>   GC grace seconds: 10800
>   Compaction min/max thresholds: 4/32
>   Read repair chance: 0.1
>   DC Local Read repair chance: 0.0
>   Caching: KEYS_ONLY
>   Default time to live: 0
>   Bloom Filter FP chance: default
>   Index interval: default
>   Speculative Retry: NONE
>   Built indexes: []
>   Compaction Strategy: 
> org.apache.cassandra.db.compaction.LeveledCompactionStrategy
>   Compaction Strategy Options:
> tombstone_compaction_interval: 300
>

[jira] [Commented] (CASSANDRA-8585) Thrift CLI client reporting inconsistent column family structure after upgrade to Cassandra 2.1.2

2015-01-08 Thread Philip Thompson (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8585?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14269952#comment-14269952
 ] 

Philip Thompson commented on CASSANDRA-8585:


What happens when you run the describe command from cqlsh?

> Thrift CLI client reporting inconsistent column family structure after 
> upgrade to Cassandra 2.1.2
> -
>
> Key: CASSANDRA-8585
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8585
> Project: Cassandra
>  Issue Type: Bug
>  Components: API
>Reporter: Sotirios Delimanolis
>Priority: Minor
> Fix For: 2.1.3
>
>
> After upgrading from Cassandra 2.0.6.4 to Cassandra 2.1.2-SNAPSHOT, the 
> Thrift CLI client started reporting wrong default_validation_class for a 
> Column Family.
> For example, 
> {noformat}
> [default@MyKeyspace] show schema;
> [...]
> create column family SomeColumnFamily
>   with column_type = 'Standard'
>   and comparator = 'BytesType'
>   and default_validation_class = 'BytesType'
>   and key_validation_class = 'BytesType'
>   and read_repair_chance = 0.1
>   and dclocal_read_repair_chance = 0.0
>   and gc_grace = 10800
>   and min_compaction_threshold = 4
>   and max_compaction_threshold = 32
>   and compaction_strategy = 
> 'org.apache.cassandra.db.compaction.LeveledCompactionStrategy'
>   and caching = 'KEYS_ONLY'
>   and cells_per_row_to_cache = '0'
>   and default_time_to_live = 0
>   and speculative_retry = 'NONE'
>   and compaction_strategy_options = {'tombstone_compaction_interval' : '300', 
> 'sstable_size_in_mb' : '200', 'tombstone_threshold' : '0.1'}
>   and compression_options = {'sstable_compression' : 
> 'org.apache.cassandra.io.compress.SnappyCompressor'};
> {noformat}
> but
> {noformat}
> [default@MyKeyspace] describe SomeColumnFamily;
> WARNING: CQL3 tables are intentionally omitted from 'describe' output.
> See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.
> ColumnFamily: SomeColumnFamily
>   Key Validation Class: org.apache.cassandra.db.marshal.BytesType
>   Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
>   Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
>   GC grace seconds: 10800
>   Compaction min/max thresholds: 4/32
>   Read repair chance: 0.1
>   DC Local Read repair chance: 0.0
>   Caching: KEYS_ONLY
>   Default time to live: 0
>   Bloom Filter FP chance: default
>   Index interval: default
>   Speculative Retry: NONE
>   Built indexes: []
>   Compaction Strategy: 
> org.apache.cassandra.db.compaction.LeveledCompactionStrategy
>   Compaction Strategy Options:
> tombstone_compaction_interval: 300
> sstable_size_in_mb: 200
> tombstone_threshold: 0.1
>   Compression Options:
> sstable_compression: org.apache.cassandra.io.compress.SnappyCompressor
> {noformat}
> Note how the default column value validator and cell sorting is UTF8Type 
> rather than the BytesType reported earlier.
> If I populate the column family and list its rows, I get
> {noformat}
> [default@MyKeyspace] list SomeColumnFamily;
> Using default limit of 100
> Using default cell limit of 100
> ---
> RowKey: SomeRowKey
> String didn't validate.
> {noformat}
> I can't see the row. I can temporarily fix this by setting the 
> default_column_validator
> {noformat}
> [default@MyKeyspace] update column family SomeColumnFamily with 
> default_validation_class = BytesType;
> 0fba13e4-aac6-3963-ad65-ba354d99ebdc
> [default@MyKeyspace] list SomeColumnFamily;
> Using default limit of 100
> Using default cell limit of 100
> ---
> RowKey: SomeRowKey
> => (name=some name, value=some value, timestamp=635540144263687300)
> ---
> [More RowKeys]
> {noformat}
> If I do a DESCRIBE again, though, LIST stops working again.
> {noformat}
> [default@KeySpace] describe SomeColumnFamily;
> WARNING: CQL3 tables are intentionally omitted from 'describe' output.
> See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.
> ColumnFamily: SomeColumnFamily
>   Key Validation Class: org.apache.cassandra.db.marshal.BytesType
>   Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
>   Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
>   GC grace seconds: 10800
>   Compaction min/max thresholds: 4/32
>   Read repair chance: 0.1
>   DC Local Read repair chance: 0.0
>   Caching: KEYS_ONLY
>   Default time to live: 0
>   Bloom Filter FP chance: default
>   Index interval: default
>   Speculative Retry: NONE
>   Built indexes: []
>   Compaction Strategy: 
> org.apache.cassandra.db.compaction.LeveledCompactionStrategy
>   

[jira] [Updated] (CASSANDRA-8585) Thrift CLI client reporting inconsistent column family structure after upgrade to Cassandra 2.1.2

2015-01-08 Thread Philip Thompson (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-8585?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Philip Thompson updated CASSANDRA-8585:
---
Fix Version/s: 2.1.3

> Thrift CLI client reporting inconsistent column family structure after 
> upgrade to Cassandra 2.1.2
> -
>
> Key: CASSANDRA-8585
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8585
> Project: Cassandra
>  Issue Type: Bug
>  Components: API
>Reporter: Sotirios Delimanolis
> Fix For: 2.1.3
>
>
> After upgrading from Cassandra 2.0.6.4 to Cassandra 2.1.2-SNAPSHOT, the 
> Thrift CLI client started reporting wrong default_validation_class for a 
> Column Family.
> For example, 
> {noformat}
> [default@MyKeyspace] show schema;
> [...]
> create column family SomeColumnFamily
>   with column_type = 'Standard'
>   and comparator = 'BytesType'
>   and default_validation_class = 'BytesType'
>   and key_validation_class = 'BytesType'
>   and read_repair_chance = 0.1
>   and dclocal_read_repair_chance = 0.0
>   and gc_grace = 10800
>   and min_compaction_threshold = 4
>   and max_compaction_threshold = 32
>   and compaction_strategy = 
> 'org.apache.cassandra.db.compaction.LeveledCompactionStrategy'
>   and caching = 'KEYS_ONLY'
>   and cells_per_row_to_cache = '0'
>   and default_time_to_live = 0
>   and speculative_retry = 'NONE'
>   and compaction_strategy_options = {'tombstone_compaction_interval' : '300', 
> 'sstable_size_in_mb' : '200', 'tombstone_threshold' : '0.1'}
>   and compression_options = {'sstable_compression' : 
> 'org.apache.cassandra.io.compress.SnappyCompressor'};
> {noformat}
> but
> {noformat}
> [default@MyKeyspace] describe SomeColumnFamily;
> WARNING: CQL3 tables are intentionally omitted from 'describe' output.
> See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.
> ColumnFamily: SomeColumnFamily
>   Key Validation Class: org.apache.cassandra.db.marshal.BytesType
>   Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
>   Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
>   GC grace seconds: 10800
>   Compaction min/max thresholds: 4/32
>   Read repair chance: 0.1
>   DC Local Read repair chance: 0.0
>   Caching: KEYS_ONLY
>   Default time to live: 0
>   Bloom Filter FP chance: default
>   Index interval: default
>   Speculative Retry: NONE
>   Built indexes: []
>   Compaction Strategy: 
> org.apache.cassandra.db.compaction.LeveledCompactionStrategy
>   Compaction Strategy Options:
> tombstone_compaction_interval: 300
> sstable_size_in_mb: 200
> tombstone_threshold: 0.1
>   Compression Options:
> sstable_compression: org.apache.cassandra.io.compress.SnappyCompressor
> {noformat}
> Note how the default column value validator and cell sorting is UTF8Type 
> rather than the BytesType reported earlier.
> If I populate the column family and list its rows, I get
> {noformat}
> [default@MyKeyspace] list SomeColumnFamily;
> Using default limit of 100
> Using default cell limit of 100
> ---
> RowKey: SomeRowKey
> String didn't validate.
> {noformat}
> I can't see the row. I can temporarily fix this by setting the 
> default_column_validator
> {noformat}
> [default@MyKeyspace] update column family SomeColumnFamily with 
> default_validation_class = BytesType;
> 0fba13e4-aac6-3963-ad65-ba354d99ebdc
> [default@MyKeyspace] list SomeColumnFamily;
> Using default limit of 100
> Using default cell limit of 100
> ---
> RowKey: SomeRowKey
> => (name=some name, value=some value, timestamp=635540144263687300)
> ---
> [More RowKeys]
> {noformat}
> If I do a DESCRIBE again, though, LIST stops working again.
> {noformat}
> [default@KeySpace] describe SomeColumnFamily;
> WARNING: CQL3 tables are intentionally omitted from 'describe' output.
> See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.
> ColumnFamily: SomeColumnFamily
>   Key Validation Class: org.apache.cassandra.db.marshal.BytesType
>   Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
>   Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
>   GC grace seconds: 10800
>   Compaction min/max thresholds: 4/32
>   Read repair chance: 0.1
>   DC Local Read repair chance: 0.0
>   Caching: KEYS_ONLY
>   Default time to live: 0
>   Bloom Filter FP chance: default
>   Index interval: default
>   Speculative Retry: NONE
>   Built indexes: []
>   Compaction Strategy: 
> org.apache.cassandra.db.compaction.LeveledCompactionStrategy
>   Compaction Strategy Options:
> tombstone_compaction_interval: 300
> sstable_size_in_mb: 200
>

[jira] [Updated] (CASSANDRA-8585) Thrift CLI client reporting inconsistent column family structure after upgrade to Cassandra 2.1.2

2015-01-08 Thread Sotirios Delimanolis (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-8585?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sotirios Delimanolis updated CASSANDRA-8585:

Description: 
After upgrading from Cassandra 2.0.6.4 to Cassandra 2.1.2-SNAPSHOT, the Thrift 
CLI client started reporting wrong default_validation_class for a Column Family.

For example, 

{noformat}
[default@MyKeyspace] show schema;
[...]
create column family SomeColumnFamily
  with column_type = 'Standard'
  and comparator = 'BytesType'
  and default_validation_class = 'BytesType'
  and key_validation_class = 'BytesType'
  and read_repair_chance = 0.1
  and dclocal_read_repair_chance = 0.0
  and gc_grace = 10800
  and min_compaction_threshold = 4
  and max_compaction_threshold = 32
  and compaction_strategy = 
'org.apache.cassandra.db.compaction.LeveledCompactionStrategy'
  and caching = 'KEYS_ONLY'
  and cells_per_row_to_cache = '0'
  and default_time_to_live = 0
  and speculative_retry = 'NONE'
  and compaction_strategy_options = {'tombstone_compaction_interval' : '300', 
'sstable_size_in_mb' : '200', 'tombstone_threshold' : '0.1'}
  and compression_options = {'sstable_compression' : 
'org.apache.cassandra.io.compress.SnappyCompressor'};
{noformat}

but

{noformat}
[default@MyKeyspace] describe SomeColumnFamily;

WARNING: CQL3 tables are intentionally omitted from 'describe' output.
See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.

ColumnFamily: SomeColumnFamily
  Key Validation Class: org.apache.cassandra.db.marshal.BytesType
  Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
  Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
  GC grace seconds: 10800
  Compaction min/max thresholds: 4/32
  Read repair chance: 0.1
  DC Local Read repair chance: 0.0
  Caching: KEYS_ONLY
  Default time to live: 0
  Bloom Filter FP chance: default
  Index interval: default
  Speculative Retry: NONE
  Built indexes: []
  Compaction Strategy: 
org.apache.cassandra.db.compaction.LeveledCompactionStrategy
  Compaction Strategy Options:
tombstone_compaction_interval: 300
sstable_size_in_mb: 200
tombstone_threshold: 0.1
  Compression Options:
sstable_compression: org.apache.cassandra.io.compress.SnappyCompressor
{noformat}

Note how the default column value validator and cell sorting is UTF8Type rather 
than the BytesType reported earlier.

If I populate the column family and list its rows, I get

{noformat}
[default@MyKeyspace] list SomeColumnFamily;
Using default limit of 100
Using default cell limit of 100
---
RowKey: SomeRowKey
String didn't validate.
{noformat}

I can't see the row. I can temporarily fix this by setting the 
default_column_validator

{noformat}
[default@MyKeyspace] update column family SomeColumnFamily with 
default_validation_class = BytesType;
0fba13e4-aac6-3963-ad65-ba354d99ebdc
[default@MyKeyspace] list SomeColumnFamily;
Using default limit of 100
Using default cell limit of 100
---
RowKey: SomeRowKey
=> (name=some name, value=some value, timestamp=635540144263687300)
---
[More RowKeys]
{noformat}

If I do a DESCRIBE again, though, LIST stops working again.

{noformat}
[default@KeySpace] describe SomeColumnFamily;

WARNING: CQL3 tables are intentionally omitted from 'describe' output.
See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.

ColumnFamily: SomeColumnFamily
  Key Validation Class: org.apache.cassandra.db.marshal.BytesType
  Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
  Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
  GC grace seconds: 10800
  Compaction min/max thresholds: 4/32
  Read repair chance: 0.1
  DC Local Read repair chance: 0.0
  Caching: KEYS_ONLY
  Default time to live: 0
  Bloom Filter FP chance: default
  Index interval: default
  Speculative Retry: NONE
  Built indexes: []
  Compaction Strategy: 
org.apache.cassandra.db.compaction.LeveledCompactionStrategy
  Compaction Strategy Options:
tombstone_compaction_interval: 300
sstable_size_in_mb: 200
tombstone_threshold: 0.1
  Compression Options:
sstable_compression: org.apache.cassandra.io.compress.SnappyCompressor
[default@MyKeyspace] list SomeColumnFamily;
Using default limit of 100
Using default cell limit of 100
---
RowKey: SomeRowKey
String didn't validate.
{noformat}

I can access the column family rows with other clients, the C# driver for 
example.


  was:
After upgrading from Cassandra 2.0.6.4 to Cassandra 2.1.2-SNAPSHOT, the Thrift 
CLI client started reporting wrong default_validation_class for a Column Family.

For example, 

{noformat}
[default@MyKeyspace] show schema;
[...]
create column family SomeColumnFamily
  with colum

[jira] [Updated] (CASSANDRA-8585) Thrift CLI client reporting inconsistent column family structure after upgrade to Cassandra 2.1.2

2015-01-08 Thread Sotirios Delimanolis (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-8585?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sotirios Delimanolis updated CASSANDRA-8585:

Description: 
After upgrading from Cassandra 2.0.6.4 to Cassandra 2.1.2-SNAPSHOT, the Thrift 
CLI client started reporting wrong default_validation_class for a Column Family.

For example, 

{noformat}
[default@MyKeyspace] show schema;
[...]
create column family SomeColumnFamily
  with column_type = 'Standard'
  and comparator = 'BytesType'
  and default_validation_class = 'BytesType'
  and key_validation_class = 'BytesType'
  and read_repair_chance = 0.1
  and dclocal_read_repair_chance = 0.0
  and gc_grace = 10800
  and min_compaction_threshold = 4
  and max_compaction_threshold = 32
  and compaction_strategy = 
'org.apache.cassandra.db.compaction.LeveledCompactionStrategy'
  and caching = 'KEYS_ONLY'
  and cells_per_row_to_cache = '0'
  and default_time_to_live = 0
  and speculative_retry = 'NONE'
  and compaction_strategy_options = {'tombstone_compaction_interval' : '300', 
'sstable_size_in_mb' : '200', 'tombstone_threshold' : '0.1'}
  and compression_options = {'sstable_compression' : 
'org.apache.cassandra.io.compress.SnappyCompressor'};
{noformat}

but

[default@MyKeyspace] describe SomeColumnFamily;

WARNING: CQL3 tables are intentionally omitted from 'describe' output.
See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.

ColumnFamily: SomeColumnFamily
  Key Validation Class: org.apache.cassandra.db.marshal.BytesType
  Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
  Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
  GC grace seconds: 10800
  Compaction min/max thresholds: 4/32
  Read repair chance: 0.1
  DC Local Read repair chance: 0.0
  Caching: KEYS_ONLY
  Default time to live: 0
  Bloom Filter FP chance: default
  Index interval: default
  Speculative Retry: NONE
  Built indexes: []
  Compaction Strategy: 
org.apache.cassandra.db.compaction.LeveledCompactionStrategy
  Compaction Strategy Options:
tombstone_compaction_interval: 300
sstable_size_in_mb: 200
tombstone_threshold: 0.1
  Compression Options:
sstable_compression: org.apache.cassandra.io.compress.SnappyCompressor

Note how the default column value validator and cell sorting is UTF8Type rather 
than the BytesType reported earlier.

If I populate the column family and list its rows, I get

[default@MyKeyspace] list SomeColumnFamily;
Using default limit of 100
Using default cell limit of 100
---
RowKey: SomeRowKey
String didn't validate.

I can't see the row. I can temporarily fix this by setting the 
default_column_validator

[default@MyKeyspace] update column family SomeColumnFamily with 
default_validation_class = BytesType;
0fba13e4-aac6-3963-ad65-ba354d99ebdc
[default@MyKeyspace] list SomeColumnFamily;
Using default limit of 100
Using default cell limit of 100
---
RowKey: SomeRowKey
=> (name=some name, value=some value, timestamp=635540144263687300)
---
[More RowKeys]

If I do a DESCRIBE again, though, LIST stops working again.

[default@KeySpace] describe SomeColumnFamily;

WARNING: CQL3 tables are intentionally omitted from 'describe' output.
See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.

ColumnFamily: SomeColumnFamily
  Key Validation Class: org.apache.cassandra.db.marshal.BytesType
  Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
  Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
  GC grace seconds: 10800
  Compaction min/max thresholds: 4/32
  Read repair chance: 0.1
  DC Local Read repair chance: 0.0
  Caching: KEYS_ONLY
  Default time to live: 0
  Bloom Filter FP chance: default
  Index interval: default
  Speculative Retry: NONE
  Built indexes: []
  Compaction Strategy: 
org.apache.cassandra.db.compaction.LeveledCompactionStrategy
  Compaction Strategy Options:
tombstone_compaction_interval: 300
sstable_size_in_mb: 200
tombstone_threshold: 0.1
  Compression Options:
sstable_compression: org.apache.cassandra.io.compress.SnappyCompressor
[default@MyKeyspace] list SomeColumnFamily;
Using default limit of 100
Using default cell limit of 100
---
RowKey: SomeRowKey
String didn't validate.

I can access the column family rows with other clients, the C# driver for 
example.


  was:
After upgrading from Cassandra 2.0.6.4 to Cassandra 2.1.2-SNAPSHOT, the Thrift 
CLI client started reporting wrong default_validation_class for a Column Family.

For example, 


[default@MyKeyspace] show schema;
[...]
create column family SomeColumnFamily
  with column_type = 'Standard'
  and comparator = 'BytesType'
  and default_validation_class = 'BytesType'
  

[jira] [Updated] (CASSANDRA-8585) Thrift CLI client reporting inconsistent column family structure after upgrade to Cassandra 2.1.2

2015-01-08 Thread Sotirios Delimanolis (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-8585?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sotirios Delimanolis updated CASSANDRA-8585:

Description: 
After upgrading from Cassandra 2.0.6.4 to Cassandra 2.1.2-SNAPSHOT, the Thrift 
CLI client started reporting wrong default_validation_class for a Column Family.

For example, 


[default@MyKeyspace] show schema;
[...]
create column family SomeColumnFamily
  with column_type = 'Standard'
  and comparator = 'BytesType'
  and default_validation_class = 'BytesType'
  and key_validation_class = 'BytesType'
  and read_repair_chance = 0.1
  and dclocal_read_repair_chance = 0.0
  and gc_grace = 10800
  and min_compaction_threshold = 4
  and max_compaction_threshold = 32
  and compaction_strategy = 
'org.apache.cassandra.db.compaction.LeveledCompactionStrategy'
  and caching = 'KEYS_ONLY'
  and cells_per_row_to_cache = '0'
  and default_time_to_live = 0
  and speculative_retry = 'NONE'
  and compaction_strategy_options = {'tombstone_compaction_interval' : '300', 
'sstable_size_in_mb' : '200', 'tombstone_threshold' : '0.1'}
  and compression_options = {'sstable_compression' : 
'org.apache.cassandra.io.compress.SnappyCompressor'};

but

[default@MyKeyspace] describe SomeColumnFamily;

WARNING: CQL3 tables are intentionally omitted from 'describe' output.
See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.

ColumnFamily: SomeColumnFamily
  Key Validation Class: org.apache.cassandra.db.marshal.BytesType
  Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
  Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
  GC grace seconds: 10800
  Compaction min/max thresholds: 4/32
  Read repair chance: 0.1
  DC Local Read repair chance: 0.0
  Caching: KEYS_ONLY
  Default time to live: 0
  Bloom Filter FP chance: default
  Index interval: default
  Speculative Retry: NONE
  Built indexes: []
  Compaction Strategy: 
org.apache.cassandra.db.compaction.LeveledCompactionStrategy
  Compaction Strategy Options:
tombstone_compaction_interval: 300
sstable_size_in_mb: 200
tombstone_threshold: 0.1
  Compression Options:
sstable_compression: org.apache.cassandra.io.compress.SnappyCompressor

Note how the default column value validator and cell sorting is UTF8Type rather 
than the BytesType reported earlier.

If I populate the column family and list its rows, I get

[default@MyKeyspace] list SomeColumnFamily;
Using default limit of 100
Using default cell limit of 100
---
RowKey: SomeRowKey
String didn't validate.

I can't see the row. I can temporarily fix this by setting the 
default_column_validator

[default@MyKeyspace] update column family SomeColumnFamily with 
default_validation_class = BytesType;
0fba13e4-aac6-3963-ad65-ba354d99ebdc
[default@MyKeyspace] list SomeColumnFamily;
Using default limit of 100
Using default cell limit of 100
---
RowKey: SomeRowKey
=> (name=some name, value=some value, timestamp=635540144263687300)
---
[More RowKeys]

If I do a DESCRIBE again, though, LIST stops working again.

[default@KeySpace] describe SomeColumnFamily;

WARNING: CQL3 tables are intentionally omitted from 'describe' output.
See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.

ColumnFamily: SomeColumnFamily
  Key Validation Class: org.apache.cassandra.db.marshal.BytesType
  Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
  Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
  GC grace seconds: 10800
  Compaction min/max thresholds: 4/32
  Read repair chance: 0.1
  DC Local Read repair chance: 0.0
  Caching: KEYS_ONLY
  Default time to live: 0
  Bloom Filter FP chance: default
  Index interval: default
  Speculative Retry: NONE
  Built indexes: []
  Compaction Strategy: 
org.apache.cassandra.db.compaction.LeveledCompactionStrategy
  Compaction Strategy Options:
tombstone_compaction_interval: 300
sstable_size_in_mb: 200
tombstone_threshold: 0.1
  Compression Options:
sstable_compression: org.apache.cassandra.io.compress.SnappyCompressor
[default@MyKeyspace] list SomeColumnFamily;
Using default limit of 100
Using default cell limit of 100
---
RowKey: SomeRowKey
String didn't validate.

I can access the column family rows with other clients, the C# driver for 
example.


  was:
After upgrading from Cassandra 2.0.6.4 to Cassandra 2.1.2-SNAPSHOT, the Thrift 
CLI client started reporting wrong default_validation_class for a Column Family.

For example, 


[default@MyKeyspace] show schema;
[...]
create column family SomeColumnFamily
  with column_type = 'Standard'
  and comparator = 'BytesType'
  and default_validation_class = 'BytesType'
  and key_validation_cl

[jira] [Updated] (CASSANDRA-8585) Thrift CLI client reporting inconsistent column family structure after upgrade to Cassandra 2.1.2

2015-01-08 Thread Sotirios Delimanolis (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-8585?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sotirios Delimanolis updated CASSANDRA-8585:

Description: 
After upgrading from Cassandra 2.0.6.4 to Cassandra 2.1.2-SNAPSHOT, the Thrift 
CLI client started reporting wrong default_validation_class for a Column Family.

For example, 


[default@MyKeyspace] show schema;
[...]
create column family SomeColumnFamily
  with column_type = 'Standard'
  and comparator = 'BytesType'
  and default_validation_class = 'BytesType'
  and key_validation_class = 'BytesType'
  and read_repair_chance = 0.1
  and dclocal_read_repair_chance = 0.0
  and gc_grace = 10800
  and min_compaction_threshold = 4
  and max_compaction_threshold = 32
  and compaction_strategy = 
'org.apache.cassandra.db.compaction.LeveledCompactionStrategy'
  and caching = 'KEYS_ONLY'
  and cells_per_row_to_cache = '0'
  and default_time_to_live = 0
  and speculative_retry = 'NONE'
  and compaction_strategy_options = {'tombstone_compaction_interval' : '300', 
'sstable_size_in_mb' : '200', 'tombstone_threshold' : '0.1'}
  and compression_options = {'sstable_compression' : 
'org.apache.cassandra.io.compress.SnappyCompressor'};

but

[default@MyKeyspace] describe SomeColumnFamily;

WARNING: CQL3 tables are intentionally omitted from 'describe' output.
See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.

ColumnFamily: SomeColumnFamily
  Key Validation Class: org.apache.cassandra.db.marshal.BytesType
  Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
  Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
  GC grace seconds: 10800
  Compaction min/max thresholds: 4/32
  Read repair chance: 0.1
  DC Local Read repair chance: 0.0
  Caching: KEYS_ONLY
  Default time to live: 0
  Bloom Filter FP chance: default
  Index interval: default
  Speculative Retry: NONE
  Built indexes: []
  Compaction Strategy: 
org.apache.cassandra.db.compaction.LeveledCompactionStrategy
  Compaction Strategy Options:
tombstone_compaction_interval: 300
sstable_size_in_mb: 200
tombstone_threshold: 0.1
  Compression Options:
sstable_compression: org.apache.cassandra.io.compress.SnappyCompressor

Note how the default column value validator and cell sorting is UTF8Type rather 
than the BytesType reported earlier.

If I populate the column family and list its rows, I get

[default@MyKeyspace] list SomeColumnFamily;
Using default limit of 100
Using default cell limit of 100
---
RowKey: SomeRowKey
String didn't validate.

I can't see the row. I can temporarily fix this by setting the 
default_column_validator

[default@MyKeyspace] update column family SomeColumnFamily with 
default_validation_class = BytesType;
0fba13e4-aac6-3963-ad65-ba354d99ebdc
[default@MyKeyspace] list SomeColumnFamily;
Using default limit of 100
Using default cell limit of 100
---
RowKey: SomeRowKey
=> (name=some name, value=some value, timestamp=635540144263687300)
---
[More RowKeys]

If I do a DESCRIBE again, though, LIST stops working again.

[default@KeySpace] describe SomeColumnFamily;

WARNING: CQL3 tables are intentionally omitted from 'describe' output.
See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.

ColumnFamily: SomeColumnFamily
  Key Validation Class: org.apache.cassandra.db.marshal.BytesType
  Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
  Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
  GC grace seconds: 10800
  Compaction min/max thresholds: 4/32
  Read repair chance: 0.1
  DC Local Read repair chance: 0.0
  Caching: KEYS_ONLY
  Default time to live: 0
  Bloom Filter FP chance: default
  Index interval: default
  Speculative Retry: NONE
  Built indexes: []
  Compaction Strategy: 
org.apache.cassandra.db.compaction.LeveledCompactionStrategy
  Compaction Strategy Options:
tombstone_compaction_interval: 300
sstable_size_in_mb: 200
tombstone_threshold: 0.1
  Compression Options:
sstable_compression: org.apache.cassandra.io.compress.SnappyCompressor
[default@MyKeyspace] list SomeColumnFamily;
Using default limit of 100
Using default cell limit of 100
---
RowKey: SomeRowKey
String didn't validate.

I can access the column family rows with other clients, the C# driver for 
example.


  was:
After upgrading from Cassandra 2.0.6.4 to Cassandra 2.1.2-SNAPSHOT, the Thrift 
CLI client started reporting wrong default_validation_class for a Column Family.

For example, 

[default@MyKeyspace] show schema;
[...]
create column family SomeColumnFamily
  with column_type = 'Standard'
  and comparator = 'BytesType'
  and default_validation_class = 'BytesType'
  and key_validation_cla

[jira] [Created] (CASSANDRA-8585) Thrift CLI client reporting inconsistent column family structure after upgrade to Cassandra 2.1.2

2015-01-08 Thread Sotirios Delimanolis (JIRA)
Sotirios Delimanolis created CASSANDRA-8585:
---

 Summary: Thrift CLI client reporting inconsistent column family 
structure after upgrade to Cassandra 2.1.2
 Key: CASSANDRA-8585
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8585
 Project: Cassandra
  Issue Type: Bug
  Components: API
Reporter: Sotirios Delimanolis


After upgrading from Cassandra 2.0.6.4 to Cassandra 2.1.2-SNAPSHOT, the Thrift 
CLI client started reporting wrong default_validation_class for a Column Family.

For example, 

[default@MyKeyspace] show schema;
[...]
create column family SomeColumnFamily
  with column_type = 'Standard'
  and comparator = 'BytesType'
  and default_validation_class = 'BytesType'
  and key_validation_class = 'BytesType'
  and read_repair_chance = 0.1
  and dclocal_read_repair_chance = 0.0
  and gc_grace = 10800
  and min_compaction_threshold = 4
  and max_compaction_threshold = 32
  and compaction_strategy = 
'org.apache.cassandra.db.compaction.LeveledCompactionStrategy'
  and caching = 'KEYS_ONLY'
  and cells_per_row_to_cache = '0'
  and default_time_to_live = 0
  and speculative_retry = 'NONE'
  and compaction_strategy_options = {'tombstone_compaction_interval' : '300', 
'sstable_size_in_mb' : '200', 'tombstone_threshold' : '0.1'}
  and compression_options = {'sstable_compression' : 
'org.apache.cassandra.io.compress.SnappyCompressor'};

but

[default@MyKeyspace] describe SomeColumnFamily;

WARNING: CQL3 tables are intentionally omitted from 'describe' output.
See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.

ColumnFamily: SomeColumnFamily
  Key Validation Class: org.apache.cassandra.db.marshal.BytesType
  Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
  Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
  GC grace seconds: 10800
  Compaction min/max thresholds: 4/32
  Read repair chance: 0.1
  DC Local Read repair chance: 0.0
  Caching: KEYS_ONLY
  Default time to live: 0
  Bloom Filter FP chance: default
  Index interval: default
  Speculative Retry: NONE
  Built indexes: []
  Compaction Strategy: 
org.apache.cassandra.db.compaction.LeveledCompactionStrategy
  Compaction Strategy Options:
tombstone_compaction_interval: 300
sstable_size_in_mb: 200
tombstone_threshold: 0.1
  Compression Options:
sstable_compression: org.apache.cassandra.io.compress.SnappyCompressor

Note how the default column value validator and cell sorting is UTF8Type rather 
than the BytesType reported earlier.

If I populate the column family and list its rows, I get

[default@MyKeyspace] list SomeColumnFamily;
Using default limit of 100
Using default cell limit of 100
---
RowKey: SomeRowKey
String didn't validate.

I can't see the row. I can temporarily fix this by setting the 
default_column_validator

[default@MyKeyspace] update column family SomeColumnFamily with 
default_validation_class = BytesType;
0fba13e4-aac6-3963-ad65-ba354d99ebdc
[default@MyKeyspace] list SomeColumnFamily;
Using default limit of 100
Using default cell limit of 100
---
RowKey: SomeRowKey
=> (name=some name, value=some value, timestamp=635540144263687300)
---
[More RowKeys]

If I do a DESCRIBE again, though, LIST stops working again.

[default@KeySpace] describe SomeColumnFamily;

WARNING: CQL3 tables are intentionally omitted from 'describe' output.
See https://issues.apache.org/jira/browse/CASSANDRA-4377 for details.

ColumnFamily: SomeColumnFamily
  Key Validation Class: org.apache.cassandra.db.marshal.BytesType
  Default column value validator: org.apache.cassandra.db.marshal.UTF8Type
  Cells sorted by: org.apache.cassandra.db.marshal.UTF8Type
  GC grace seconds: 10800
  Compaction min/max thresholds: 4/32
  Read repair chance: 0.1
  DC Local Read repair chance: 0.0
  Caching: KEYS_ONLY
  Default time to live: 0
  Bloom Filter FP chance: default
  Index interval: default
  Speculative Retry: NONE
  Built indexes: []
  Compaction Strategy: 
org.apache.cassandra.db.compaction.LeveledCompactionStrategy
  Compaction Strategy Options:
tombstone_compaction_interval: 300
sstable_size_in_mb: 200
tombstone_threshold: 0.1
  Compression Options:
sstable_compression: org.apache.cassandra.io.compress.SnappyCompressor
[default@MyKeyspace] list SomeColumnFamily;
Using default limit of 100
Using default cell limit of 100
---
RowKey: SomeRowKey
String didn't validate.

I can access the column family rows with other clients, the C# driver for 
example.




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-7653) Add role based access control to Cassandra

2015-01-08 Thread Aleksey Yeschenko (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7653?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14269884#comment-14269884
 ] 

Aleksey Yeschenko commented on CASSANDRA-7653:
--

Okay. Mostly LGTM. Final notes and nits:

AuthResponse
- in execute(), `authenticator` variable should be renamed to `negotiator`

ServerConnection
- saslAutneticator field and getAuthenticator() method should be renamed for 
consistency (to saslNegotiator/getSaslNegotiator())

ClientState
- preventSystemKSSchemaModification() should move allowAlter/allowDrop to the 
class level statics ALTERABLE_KEYSPACES/DROPPABLE_TABLES vs. allocating them 
every time

ListPermissionsStatement
- resultset structure is part of the public API. Can’t just rename  ‘username’ 
to ‘role’. Should keep (but deprecate) username, and add ‘role’, as another 
column, with duplicate value

Cql.g
- now would be a good time to correct the initial design mistake and make role 
names/user names strings, instead of identifiers

PermissionsCacheMBean
- nobody’s using this functionality (the previous mbean wasn’t registered), so 
we can drop it until someone actually requests it

IAuthorizer
- grant()/revoke() should rename to/from arguments to grantee/revokee in 
consistency with IRoleManager naming
- grant()/revoke() should have an AuthenticatedUser performer arg, like 
IAuthorizer does (or both should drop it)

CassandraAuthorizer
- revokeAll() should use a logged batch for updating permissions+index tables

DataResource:
- should rename isColumnFamilyLevel() to isTableLevel(), while we are breaking 
the API anyway (and getColumnFamily() to getTable()). Not something touched by 
the patch, but can sneak it in here.

> Add role based access control to Cassandra
> --
>
> Key: CASSANDRA-7653
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7653
> Project: Cassandra
>  Issue Type: New Feature
>  Components: Core
>Reporter: Mike Adamson
>Assignee: Sam Tunnicliffe
> Fix For: 3.0
>
> Attachments: 7653.patch, CQLSmokeTest.java, cql_smoke_test.py
>
>
> The current authentication model supports granting permissions to individual 
> users. While this is OK for small or medium organizations wanting to 
> implement authorization, it does not work well in large organizations because 
> of the overhead of having to maintain the permissions for each user.
> Introducing roles into the authentication model would allow sets of 
> permissions to be controlled in one place as a role and then the role granted 
> to users. Roles should also be able to be granted to other roles to allow 
> hierarchical sets of permissions to be built up.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[2/3] cassandra git commit: Merge branch 'cassandra-2.0' into cassandra-2.1

2015-01-08 Thread jmckenzie
Merge branch 'cassandra-2.0' into cassandra-2.1

Conflicts:
src/java/org/apache/cassandra/db/commitlog/CommitLog.java
test/unit/org/apache/cassandra/db/CommitLogTest.java


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/fb953094
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/fb953094
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/fb953094

Branch: refs/heads/trunk
Commit: fb953094899b31e4a1d2efbf8d5ad9a3a26496e7
Parents: 5ac5ee6 5e797eb
Author: Joshua McKenzie 
Authored: Thu Jan 8 12:59:45 2015 -0600
Committer: Joshua McKenzie 
Committed: Thu Jan 8 12:59:45 2015 -0600

--
 test/unit/org/apache/cassandra/db/CommitLogTest.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/fb953094/test/unit/org/apache/cassandra/db/CommitLogTest.java
--



[2/2] cassandra git commit: Merge branch 'cassandra-2.0' into cassandra-2.1

2015-01-08 Thread jmckenzie
Merge branch 'cassandra-2.0' into cassandra-2.1

Conflicts:
src/java/org/apache/cassandra/db/commitlog/CommitLog.java
test/unit/org/apache/cassandra/db/CommitLogTest.java


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/fb953094
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/fb953094
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/fb953094

Branch: refs/heads/cassandra-2.1
Commit: fb953094899b31e4a1d2efbf8d5ad9a3a26496e7
Parents: 5ac5ee6 5e797eb
Author: Joshua McKenzie 
Authored: Thu Jan 8 12:59:45 2015 -0600
Committer: Joshua McKenzie 
Committed: Thu Jan 8 12:59:45 2015 -0600

--
 test/unit/org/apache/cassandra/db/CommitLogTest.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/fb953094/test/unit/org/apache/cassandra/db/CommitLogTest.java
--



[1/2] cassandra git commit: Prevent CommitLogTest failures from cascading

2015-01-08 Thread jmckenzie
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.1 5ac5ee666 -> fb9530948


Prevent CommitLogTest failures from cascading

Patch by Bogdan Kanivets; reviewed by jmckenzie for CASSANDRA-7713


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/5e797ebb
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/5e797ebb
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/5e797ebb

Branch: refs/heads/cassandra-2.1
Commit: 5e797ebbad60fee3d7c3686de23d68d7611611a0
Parents: ad37533
Author: Bogdan Kanivets 
Authored: Thu Jan 8 12:56:46 2015 -0600
Committer: Joshua McKenzie 
Committed: Thu Jan 8 12:56:46 2015 -0600

--
 .../cassandra/db/commitlog/CommitLog.java   |  4 ++-
 .../org/apache/cassandra/db/CommitLogTest.java  | 31 
 2 files changed, 16 insertions(+), 19 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5e797ebb/src/java/org/apache/cassandra/db/commitlog/CommitLog.java
--
diff --git a/src/java/org/apache/cassandra/db/commitlog/CommitLog.java 
b/src/java/org/apache/cassandra/db/commitlog/CommitLog.java
index 0e2f5bf..7a27653 100644
--- a/src/java/org/apache/cassandra/db/commitlog/CommitLog.java
+++ b/src/java/org/apache/cassandra/db/commitlog/CommitLog.java
@@ -27,6 +27,7 @@ import java.util.concurrent.TimeUnit;
 import javax.management.MBeanServer;
 import javax.management.ObjectName;
 
+import com.google.common.annotations.VisibleForTesting;
 import com.google.common.util.concurrent.Uninterruptibles;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
@@ -378,7 +379,8 @@ public class CommitLog implements CommitLogMBean
 }
 }
 
-static boolean handleCommitError(String message, Throwable t)
+@VisibleForTesting
+public static boolean handleCommitError(String message, Throwable t)
 {
 switch (DatabaseDescriptor.getCommitFailurePolicy())
 {

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5e797ebb/test/unit/org/apache/cassandra/db/CommitLogTest.java
--
diff --git a/test/unit/org/apache/cassandra/db/CommitLogTest.java 
b/test/unit/org/apache/cassandra/db/CommitLogTest.java
index 9f5a7b2..38c192d 100644
--- a/test/unit/org/apache/cassandra/db/CommitLogTest.java
+++ b/test/unit/org/apache/cassandra/db/CommitLogTest.java
@@ -39,6 +39,8 @@ import org.apache.cassandra.db.commitlog.CommitLog;
 import org.apache.cassandra.db.commitlog.CommitLogDescriptor;
 import org.apache.cassandra.db.commitlog.ReplayPosition;
 import org.apache.cassandra.db.filter.NamesQueryFilter;
+import org.apache.cassandra.exceptions.ConfigurationException;
+import org.apache.cassandra.gms.Gossiper;
 import org.apache.cassandra.net.MessagingService;
 import org.apache.cassandra.service.StorageService;
 import org.apache.cassandra.utils.ByteBufferUtil;
@@ -219,7 +221,7 @@ public class CommitLogTest extends SchemaLoader
 CommitLog.instance.recover(new File[]{ logFile }); 
//CASSANDRA-1119 / CASSANDRA-1179 throw on failure*/
 }
 }
-
+
 @Test
 public void testVersions()
 {
@@ -235,34 +237,27 @@ public class CommitLogTest extends SchemaLoader
 String newCLName = "CommitLog-" + CommitLogDescriptor.current_version 
+ "-134051273695632.log";
 Assert.assertEquals(MessagingService.current_version, 
CommitLogDescriptor.fromFileName(newCLName).getMessagingVersion());
 }
-/*
+
 @Test
-public void testCommitFailurePolicy_stop()
+public void testCommitFailurePolicy_stop() throws ConfigurationException
 {
-File commitDir = new File(DatabaseDescriptor.getCommitLogLocation());
+// Need storage service active so stop policy can shutdown gossip
+StorageService.instance.initServer();
+Assert.assertTrue(Gossiper.instance.isEnabled());
 
+Config.CommitFailurePolicy oldPolicy = 
DatabaseDescriptor.getCommitFailurePolicy();
 try
 {
-
 
DatabaseDescriptor.setCommitFailurePolicy(Config.CommitFailurePolicy.stop);
-commitDir.setWritable(false);
-RowMutation rm = new RowMutation("Keyspace1", bytes("k"));
-rm.add("Standard1", bytes("c1"), ByteBuffer.allocate(100), 0);
-
-// Adding it twice (won't change segment)
-CommitLog.instance.add(rm);
-Uninterruptibles.sleepUninterruptibly((int) 
DatabaseDescriptor.getCommitLogSyncBatchWindow(), TimeUnit.MILLISECONDS);
-Assert.assertFalse(StorageService.instance.isRPCServerRunning());
-
Assert.assertFalse(StorageService.instance.isNativeTransportRunning());
-Assert.assertFalse(StorageService.instance.is

[3/3] cassandra git commit: Merge branch 'cassandra-2.1' into trunk

2015-01-08 Thread jmckenzie
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/dd84a29b
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/dd84a29b
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/dd84a29b

Branch: refs/heads/trunk
Commit: dd84a29b202b90dcc882902f7d939ddd61174adc
Parents: 39a2410 fb95309
Author: Joshua McKenzie 
Authored: Thu Jan 8 13:01:14 2015 -0600
Committer: Joshua McKenzie 
Committed: Thu Jan 8 13:01:14 2015 -0600

--
 test/unit/org/apache/cassandra/db/CommitLogTest.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/dd84a29b/test/unit/org/apache/cassandra/db/CommitLogTest.java
--



[1/3] cassandra git commit: Prevent CommitLogTest failures from cascading

2015-01-08 Thread jmckenzie
Repository: cassandra
Updated Branches:
  refs/heads/trunk 39a2410ad -> dd84a29b2


Prevent CommitLogTest failures from cascading

Patch by Bogdan Kanivets; reviewed by jmckenzie for CASSANDRA-7713


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/5e797ebb
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/5e797ebb
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/5e797ebb

Branch: refs/heads/trunk
Commit: 5e797ebbad60fee3d7c3686de23d68d7611611a0
Parents: ad37533
Author: Bogdan Kanivets 
Authored: Thu Jan 8 12:56:46 2015 -0600
Committer: Joshua McKenzie 
Committed: Thu Jan 8 12:56:46 2015 -0600

--
 .../cassandra/db/commitlog/CommitLog.java   |  4 ++-
 .../org/apache/cassandra/db/CommitLogTest.java  | 31 
 2 files changed, 16 insertions(+), 19 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5e797ebb/src/java/org/apache/cassandra/db/commitlog/CommitLog.java
--
diff --git a/src/java/org/apache/cassandra/db/commitlog/CommitLog.java 
b/src/java/org/apache/cassandra/db/commitlog/CommitLog.java
index 0e2f5bf..7a27653 100644
--- a/src/java/org/apache/cassandra/db/commitlog/CommitLog.java
+++ b/src/java/org/apache/cassandra/db/commitlog/CommitLog.java
@@ -27,6 +27,7 @@ import java.util.concurrent.TimeUnit;
 import javax.management.MBeanServer;
 import javax.management.ObjectName;
 
+import com.google.common.annotations.VisibleForTesting;
 import com.google.common.util.concurrent.Uninterruptibles;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
@@ -378,7 +379,8 @@ public class CommitLog implements CommitLogMBean
 }
 }
 
-static boolean handleCommitError(String message, Throwable t)
+@VisibleForTesting
+public static boolean handleCommitError(String message, Throwable t)
 {
 switch (DatabaseDescriptor.getCommitFailurePolicy())
 {

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5e797ebb/test/unit/org/apache/cassandra/db/CommitLogTest.java
--
diff --git a/test/unit/org/apache/cassandra/db/CommitLogTest.java 
b/test/unit/org/apache/cassandra/db/CommitLogTest.java
index 9f5a7b2..38c192d 100644
--- a/test/unit/org/apache/cassandra/db/CommitLogTest.java
+++ b/test/unit/org/apache/cassandra/db/CommitLogTest.java
@@ -39,6 +39,8 @@ import org.apache.cassandra.db.commitlog.CommitLog;
 import org.apache.cassandra.db.commitlog.CommitLogDescriptor;
 import org.apache.cassandra.db.commitlog.ReplayPosition;
 import org.apache.cassandra.db.filter.NamesQueryFilter;
+import org.apache.cassandra.exceptions.ConfigurationException;
+import org.apache.cassandra.gms.Gossiper;
 import org.apache.cassandra.net.MessagingService;
 import org.apache.cassandra.service.StorageService;
 import org.apache.cassandra.utils.ByteBufferUtil;
@@ -219,7 +221,7 @@ public class CommitLogTest extends SchemaLoader
 CommitLog.instance.recover(new File[]{ logFile }); 
//CASSANDRA-1119 / CASSANDRA-1179 throw on failure*/
 }
 }
-
+
 @Test
 public void testVersions()
 {
@@ -235,34 +237,27 @@ public class CommitLogTest extends SchemaLoader
 String newCLName = "CommitLog-" + CommitLogDescriptor.current_version 
+ "-134051273695632.log";
 Assert.assertEquals(MessagingService.current_version, 
CommitLogDescriptor.fromFileName(newCLName).getMessagingVersion());
 }
-/*
+
 @Test
-public void testCommitFailurePolicy_stop()
+public void testCommitFailurePolicy_stop() throws ConfigurationException
 {
-File commitDir = new File(DatabaseDescriptor.getCommitLogLocation());
+// Need storage service active so stop policy can shutdown gossip
+StorageService.instance.initServer();
+Assert.assertTrue(Gossiper.instance.isEnabled());
 
+Config.CommitFailurePolicy oldPolicy = 
DatabaseDescriptor.getCommitFailurePolicy();
 try
 {
-
 
DatabaseDescriptor.setCommitFailurePolicy(Config.CommitFailurePolicy.stop);
-commitDir.setWritable(false);
-RowMutation rm = new RowMutation("Keyspace1", bytes("k"));
-rm.add("Standard1", bytes("c1"), ByteBuffer.allocate(100), 0);
-
-// Adding it twice (won't change segment)
-CommitLog.instance.add(rm);
-Uninterruptibles.sleepUninterruptibly((int) 
DatabaseDescriptor.getCommitLogSyncBatchWindow(), TimeUnit.MILLISECONDS);
-Assert.assertFalse(StorageService.instance.isRPCServerRunning());
-
Assert.assertFalse(StorageService.instance.isNativeTransportRunning());
-Assert.assertFalse(StorageService.instance.isInitialized());

cassandra git commit: Prevent CommitLogTest failures from cascading

2015-01-08 Thread jmckenzie
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.0 ad3753309 -> 5e797ebba


Prevent CommitLogTest failures from cascading

Patch by Bogdan Kanivets; reviewed by jmckenzie for CASSANDRA-7713


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/5e797ebb
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/5e797ebb
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/5e797ebb

Branch: refs/heads/cassandra-2.0
Commit: 5e797ebbad60fee3d7c3686de23d68d7611611a0
Parents: ad37533
Author: Bogdan Kanivets 
Authored: Thu Jan 8 12:56:46 2015 -0600
Committer: Joshua McKenzie 
Committed: Thu Jan 8 12:56:46 2015 -0600

--
 .../cassandra/db/commitlog/CommitLog.java   |  4 ++-
 .../org/apache/cassandra/db/CommitLogTest.java  | 31 
 2 files changed, 16 insertions(+), 19 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5e797ebb/src/java/org/apache/cassandra/db/commitlog/CommitLog.java
--
diff --git a/src/java/org/apache/cassandra/db/commitlog/CommitLog.java 
b/src/java/org/apache/cassandra/db/commitlog/CommitLog.java
index 0e2f5bf..7a27653 100644
--- a/src/java/org/apache/cassandra/db/commitlog/CommitLog.java
+++ b/src/java/org/apache/cassandra/db/commitlog/CommitLog.java
@@ -27,6 +27,7 @@ import java.util.concurrent.TimeUnit;
 import javax.management.MBeanServer;
 import javax.management.ObjectName;
 
+import com.google.common.annotations.VisibleForTesting;
 import com.google.common.util.concurrent.Uninterruptibles;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
@@ -378,7 +379,8 @@ public class CommitLog implements CommitLogMBean
 }
 }
 
-static boolean handleCommitError(String message, Throwable t)
+@VisibleForTesting
+public static boolean handleCommitError(String message, Throwable t)
 {
 switch (DatabaseDescriptor.getCommitFailurePolicy())
 {

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5e797ebb/test/unit/org/apache/cassandra/db/CommitLogTest.java
--
diff --git a/test/unit/org/apache/cassandra/db/CommitLogTest.java 
b/test/unit/org/apache/cassandra/db/CommitLogTest.java
index 9f5a7b2..38c192d 100644
--- a/test/unit/org/apache/cassandra/db/CommitLogTest.java
+++ b/test/unit/org/apache/cassandra/db/CommitLogTest.java
@@ -39,6 +39,8 @@ import org.apache.cassandra.db.commitlog.CommitLog;
 import org.apache.cassandra.db.commitlog.CommitLogDescriptor;
 import org.apache.cassandra.db.commitlog.ReplayPosition;
 import org.apache.cassandra.db.filter.NamesQueryFilter;
+import org.apache.cassandra.exceptions.ConfigurationException;
+import org.apache.cassandra.gms.Gossiper;
 import org.apache.cassandra.net.MessagingService;
 import org.apache.cassandra.service.StorageService;
 import org.apache.cassandra.utils.ByteBufferUtil;
@@ -219,7 +221,7 @@ public class CommitLogTest extends SchemaLoader
 CommitLog.instance.recover(new File[]{ logFile }); 
//CASSANDRA-1119 / CASSANDRA-1179 throw on failure*/
 }
 }
-
+
 @Test
 public void testVersions()
 {
@@ -235,34 +237,27 @@ public class CommitLogTest extends SchemaLoader
 String newCLName = "CommitLog-" + CommitLogDescriptor.current_version 
+ "-134051273695632.log";
 Assert.assertEquals(MessagingService.current_version, 
CommitLogDescriptor.fromFileName(newCLName).getMessagingVersion());
 }
-/*
+
 @Test
-public void testCommitFailurePolicy_stop()
+public void testCommitFailurePolicy_stop() throws ConfigurationException
 {
-File commitDir = new File(DatabaseDescriptor.getCommitLogLocation());
+// Need storage service active so stop policy can shutdown gossip
+StorageService.instance.initServer();
+Assert.assertTrue(Gossiper.instance.isEnabled());
 
+Config.CommitFailurePolicy oldPolicy = 
DatabaseDescriptor.getCommitFailurePolicy();
 try
 {
-
 
DatabaseDescriptor.setCommitFailurePolicy(Config.CommitFailurePolicy.stop);
-commitDir.setWritable(false);
-RowMutation rm = new RowMutation("Keyspace1", bytes("k"));
-rm.add("Standard1", bytes("c1"), ByteBuffer.allocate(100), 0);
-
-// Adding it twice (won't change segment)
-CommitLog.instance.add(rm);
-Uninterruptibles.sleepUninterruptibly((int) 
DatabaseDescriptor.getCommitLogSyncBatchWindow(), TimeUnit.MILLISECONDS);
-Assert.assertFalse(StorageService.instance.isRPCServerRunning());
-
Assert.assertFalse(StorageService.instance.isNativeTransportRunning());
-Assert.assertFalse(StorageService.instance.is

[jira] [Commented] (CASSANDRA-8552) Large compactions run out of off-heap RAM

2015-01-08 Thread Alan Boudreault (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8552?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14269855#comment-14269855
 ] 

Alan Boudreault commented on CASSANDRA-8552:


[~thebrenthaines] Could you provide your table schemas?

> Large compactions run out of off-heap RAM
> -
>
> Key: CASSANDRA-8552
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8552
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
> Environment: Ubuntu 14.4 
> AWS EC2
> 12 m1.xlarge nodes [4 cores, 16GB RAM, 1TB storage (251GB Used)]
> Java build 1.7.0_55-b13 and build 1.8.0_25-b17
>Reporter: Brent Haines
>Assignee: Benedict
>Priority: Blocker
> Fix For: 2.1.3
>
> Attachments: Screen Shot 2015-01-02 at 9.36.11 PM.png, fhandles.log, 
> freelog.log, lsof.txt, meminfo.txt, sysctl.txt, system.log
>
>
> We have a large table of storing, effectively event logs and a pair of 
> denormalized tables for indexing.
> When updating from 2.0 to 2.1 we saw performance improvements, but some 
> random and silent crashes during nightly repairs. We lost a node (totally 
> corrupted) and replaced it. That node has never stabilized -- it simply can't 
> finish the compactions. 
> Smaller compactions finish. Larger compactions, like these two never finish - 
> {code}
> pending tasks: 48
>compaction type   keyspace table completed total   
>  unit   progress
> Compaction   data   stories   16532973358   75977993784   
> bytes 21.76%
> Compaction   data   stories_by_text   10593780658   38555048812   
> bytes 27.48%
> Active compaction remaining time :   0h10m51s
> {code}
> We are not getting exceptions and are not running out of heap space. The 
> Ubuntu OOM killer is reaping the process after all of the memory is consumed. 
> We watch memory in the opscenter console and it will grow. If we turn off the 
> OOM killer for the process, it will run until everything else is killed 
> instead and then the kernel panics.
> We have the following settings configured: 
> 2G Heap
> 512M New
> {code}
> memtable_heap_space_in_mb: 1024
> memtable_offheap_space_in_mb: 1024
> memtable_allocation_type: heap_buffers
> commitlog_total_space_in_mb: 2048
> concurrent_compactors: 1
> compaction_throughput_mb_per_sec: 128
> {code}
> The compaction strategy is leveled (these are read-intensive tables that are 
> rarely updated)
> I have tried every setting, every option and I have the system where the MTBF 
> is about an hour now, but we never finish compacting because there are some 
> large compactions pending. None of the GC tools or settings help because it 
> is not a GC problem. It is an off-heap memory problem.
> We are getting these messages in our syslog 
> {code}
> Jan  2 07:06:00 ip-10-0-2-226 kernel: [49801151.219527] BUG: Bad page map in 
> process java  pte:0320 pmd:2d6fa5067
> Jan  2 07:06:00 ip-10-0-2-226 kernel: [49801151.219545] addr:7fb820be3000 
> vm_flags:0870 anon_vma:  (null) mapping:  (null) 
> index:7fb820be3
> Jan  2 07:06:00 ip-10-0-2-226 kernel: [49801151.219556] CPU: 3 PID: 27344 
> Comm: java Tainted: GB3.13.0-24-generic #47-Ubuntu
> Jan  2 07:06:00 ip-10-0-2-226 kernel: [49801151.219559]  880028510e40 
> 88020d43da98 81715ac4 7fb820be3000
> Jan  2 07:06:00 ip-10-0-2-226 kernel: [49801151.219565]  88020d43dae0 
> 81174183 0320 0007fb820be3
> Jan  2 07:06:00 ip-10-0-2-226 kernel: [49801151.219568]  8802d6fa5f18 
> 0320 7fb820be3000 7fb820be4000
> Jan  2 07:06:00 ip-10-0-2-226 kernel: [49801151.219572] Call Trace:
> Jan  2 07:06:00 ip-10-0-2-226 kernel: [49801151.219584]  [] 
> dump_stack+0x45/0x56
> Jan  2 07:06:00 ip-10-0-2-226 kernel: [49801151.219591]  [] 
> print_bad_pte+0x1a3/0x250
> Jan  2 07:06:00 ip-10-0-2-226 kernel: [49801151.219594]  [] 
> vm_normal_page+0x69/0x80
> Jan  2 07:06:00 ip-10-0-2-226 kernel: [49801151.219598]  [] 
> unmap_page_range+0x3bb/0x7f0
> Jan  2 07:06:00 ip-10-0-2-226 kernel: [49801151.219602]  [] 
> unmap_single_vma+0x81/0xf0
> Jan  2 07:06:00 ip-10-0-2-226 kernel: [49801151.219605]  [] 
> unmap_vmas+0x49/0x90
> Jan  2 07:06:00 ip-10-0-2-226 kernel: [49801151.219610]  [] 
> exit_mmap+0x9c/0x170
> Jan  2 07:06:00 ip-10-0-2-226 kernel: [49801151.219617]  [] 
> ? __delayacct_add_tsk+0x153/0x170
> Jan  2 07:06:00 ip-10-0-2-226 kernel: [49801151.219621]  [] 
> mmput+0x5c/0x120
> Jan  2 07:06:00 ip-10-0-2-226 kernel: [49801151.219625]  [] 
> do_exit+0x26c/0xa50
> Jan  2 07:06:00 ip-10-0-2-226 kernel: [49801151.219631]  [] 
> ? __unqueue_futex+0x31/0x60
> Jan  2 07:06:00 ip-10-0-2-226 kernel: [49801151.219634]  [] 
> ? futex_wait+0x126/0x290
> Jan  2 07:06:00 ip-10-0-2-226 ker

[jira] [Resolved] (CASSANDRA-8582) Descriptor.fromFilename seems broken for BIG format

2015-01-08 Thread T Jake Luciani (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-8582?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

T Jake Luciani resolved CASSANDRA-8582.
---
Resolution: Not a Problem

This looks related to CASSANDRA-6962 which removed the redundant ks and cf from 
the filename since these are in the file system path.

> Descriptor.fromFilename seems broken for BIG format
> ---
>
> Key: CASSANDRA-8582
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8582
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Benjamin Lerer
>Assignee: T Jake Luciani
>
> The problem can be reproduced in {{DescriptorTest}} by adding the following 
> unit test:
> {code}
> @Test
> public void testFromFileNameWithBIGFormat()
> {
> checkFromFilename(new Descriptor(tempDataDir, ksname, cfname, 1, 
> Descriptor.Type.TEMP, SSTableFormat.Type.BIG), false);
> }
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (CASSANDRA-8584) Add strerror output on failed trySkipCache calls

2015-01-08 Thread Joshua McKenzie (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-8584?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Joshua McKenzie updated CASSANDRA-8584:
---
Attachment: 8584_v1.txt

v1 attached.  Warns if we fail trySkipCache - it will require some digging if 
we get ourselves into a situation like this since we only have the integer fd 
at time of error and can't print out what file it failed on, but better to know 
we have a failure during unit tests / runtime than just silently failing and 
believing our system call was working.

> Add strerror output on failed trySkipCache calls
> 
>
> Key: CASSANDRA-8584
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8584
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Joshua McKenzie
>Assignee: Joshua McKenzie
>Priority: Trivial
> Fix For: 2.1.3
>
> Attachments: 8584_v1.txt
>
>
> Since trySkipCache returns an errno rather than -1 and setting errno like our 
> other CLibrary calls, it's thread-safe and we could print out more helpful 
> information if we failed to prompt the kernel to skip the page cache.  That 
> system call should always succeed unless we have an invalid fd as it's free 
> to ignore us.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (CASSANDRA-8584) Add strerror output on failed trySkipCache calls

2015-01-08 Thread Joshua McKenzie (JIRA)
Joshua McKenzie created CASSANDRA-8584:
--

 Summary: Add strerror output on failed trySkipCache calls
 Key: CASSANDRA-8584
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8584
 Project: Cassandra
  Issue Type: Improvement
Reporter: Joshua McKenzie
Assignee: Joshua McKenzie
Priority: Trivial
 Fix For: 2.1.3


Since trySkipCache returns an errno rather than -1 and setting errno like our 
other CLibrary calls, it's thread-safe and we could print out more helpful 
information if we failed to prompt the kernel to skip the page cache.  That 
system call should always succeed unless we have an invalid fd as it's free to 
ignore us.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (CASSANDRA-8583) Check for Thread.start()

2015-01-08 Thread Robert Stupp (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-8583?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Robert Stupp updated CASSANDRA-8583:

Description: 
Old classes sometimes still use 
{noformat}
  new Thread(...).start()
{noformat}
which might be costly.

This ticket's about to find and possibly fix such code.

Locations in code worth to investigate (IMO). This list is not prioritized - 
it's just the order I've found "Thread.start()"
# 
{{org.apache.cassandra.streaming.compress.CompressedInputStream#CompressedInputStream}}
 creates one thread per input stream to decompress in a separate thread. If 
necessary, should be easily replaceable with a thread-pool
# 
{{org.apache.cassandra.io.sstable.SSTableSimpleUnsortedWriter#SSTableSimpleUnsortedWriter(java.io.File,
 org.apache.cassandra.config.CFMetaData, org.apache.cassandra.dht.IPartitioner, 
long)}} creates one thread per write. If necessary, should be easily 
replaceable with a thread-pool
# {{org.apache.cassandra.streaming.ConnectionHandler.MessageHandler#start}} 
creates one thread. If necessary, should be easily replaceable with a 
thread-pool.
# {{org.apache.cassandra.net.OutboundTcpConnection#handshakeVersion}} creates 
one thread just to implement a timeout. Not sure why not just using 
{{Socket.setSoTimeout}}
# 
{{org.apache.cassandra.service.StorageService#forceRepairAsync(java.lang.String,
 org.apache.cassandra.repair.messages.RepairOption)}} creates one thread per 
repair. Not sure whether it's worth to investigate this one, since repairs are 
"long running" operations
# {{org.apache.cassandra.db.index.SecondaryIndex#buildIndexAsync}} creates a 
thread. Not sure whether it's worth to investigate this one.

Beside these, there are threads used in {{MessagingService}} and for streaming 
(blocking I/O model). These could be changed by using non-blocking I/O - but 
that's a much bigger task with much higher risks.

  was:
Old classes sometimes still use 
{noformat}
  new Thread(...).start()
{noformat}
which might be costly.

This ticket's about to find and possibly fix such code.


> Check for Thread.start()
> 
>
> Key: CASSANDRA-8583
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8583
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Core
>Reporter: Robert Stupp
>Priority: Minor
>
> Old classes sometimes still use 
> {noformat}
>   new Thread(...).start()
> {noformat}
> which might be costly.
> This ticket's about to find and possibly fix such code.
> Locations in code worth to investigate (IMO). This list is not prioritized - 
> it's just the order I've found "Thread.start()"
> # 
> {{org.apache.cassandra.streaming.compress.CompressedInputStream#CompressedInputStream}}
>  creates one thread per input stream to decompress in a separate thread. If 
> necessary, should be easily replaceable with a thread-pool
> # 
> {{org.apache.cassandra.io.sstable.SSTableSimpleUnsortedWriter#SSTableSimpleUnsortedWriter(java.io.File,
>  org.apache.cassandra.config.CFMetaData, 
> org.apache.cassandra.dht.IPartitioner, long)}} creates one thread per write. 
> If necessary, should be easily replaceable with a thread-pool
> # {{org.apache.cassandra.streaming.ConnectionHandler.MessageHandler#start}} 
> creates one thread. If necessary, should be easily replaceable with a 
> thread-pool.
> # {{org.apache.cassandra.net.OutboundTcpConnection#handshakeVersion}} creates 
> one thread just to implement a timeout. Not sure why not just using 
> {{Socket.setSoTimeout}}
> # 
> {{org.apache.cassandra.service.StorageService#forceRepairAsync(java.lang.String,
>  org.apache.cassandra.repair.messages.RepairOption)}} creates one thread per 
> repair. Not sure whether it's worth to investigate this one, since repairs 
> are "long running" operations
> # {{org.apache.cassandra.db.index.SecondaryIndex#buildIndexAsync}} creates a 
> thread. Not sure whether it's worth to investigate this one.
> Beside these, there are threads used in {{MessagingService}} and for 
> streaming (blocking I/O model). These could be changed by using non-blocking 
> I/O - but that's a much bigger task with much higher risks.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


cassandra git commit: ninja - correct comment in CommitLogSegment

2015-01-08 Thread jmckenzie
Repository: cassandra
Updated Branches:
  refs/heads/trunk 2b4029a76 -> 39a2410ad


ninja - correct comment in CommitLogSegment


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/39a2410a
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/39a2410a
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/39a2410a

Branch: refs/heads/trunk
Commit: 39a2410add2c435ea9b221ebcb73cbca9c0892d0
Parents: 2b4029a
Author: Joshua McKenzie 
Authored: Thu Jan 8 11:52:57 2015 -0600
Committer: Joshua McKenzie 
Committed: Thu Jan 8 11:52:57 2015 -0600

--
 src/java/org/apache/cassandra/db/commitlog/CommitLogSegment.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/39a2410a/src/java/org/apache/cassandra/db/commitlog/CommitLogSegment.java
--
diff --git a/src/java/org/apache/cassandra/db/commitlog/CommitLogSegment.java 
b/src/java/org/apache/cassandra/db/commitlog/CommitLogSegment.java
index 3383f1e..6b40864 100644
--- a/src/java/org/apache/cassandra/db/commitlog/CommitLogSegment.java
+++ b/src/java/org/apache/cassandra/db/commitlog/CommitLogSegment.java
@@ -156,7 +156,7 @@ public class CommitLogSegment
 
 // Extend or truncate the file size to the standard segment size 
as we may have restarted after a segment
 // size configuration change, leaving "incorrectly" sized segments 
on disk.
-// NOTE: while we're using RAF to allow extension of file on disk 
w/out sparse, we need to avoid using RAF
+// NOTE: while we're using RAF to easily adjust file size, we need 
to avoid using RAF
 // for grabbing the FileChannel due to FILE_SHARE_DELETE flag bug 
on windows.
 // See: https://bugs.openjdk.java.net/browse/JDK-6357433 and 
CASSANDRA-8308
 if (logFile.length() != 
DatabaseDescriptor.getCommitLogSegmentSize())



cassandra git commit: Switch CommitLogSegment from RandomAccessFile to nio

2015-01-08 Thread jmckenzie
Repository: cassandra
Updated Branches:
  refs/heads/trunk 028fd2950 -> 2b4029a76


Switch CommitLogSegment from RandomAccessFile to nio

Patch by jmckenzie; reviewed by belliottsmith for CASSANDRA-8308


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/2b4029a7
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/2b4029a7
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/2b4029a7

Branch: refs/heads/trunk
Commit: 2b4029a763173af31633274844a4a3de1f73fa99
Parents: 028fd29
Author: Joshua McKenzie 
Authored: Thu Jan 8 11:49:09 2015 -0600
Committer: Joshua McKenzie 
Committed: Thu Jan 8 11:49:09 2015 -0600

--
 CHANGES.txt |  1 +
 .../db/commitlog/CommitLogSegment.java  | 42 +---
 .../org/apache/cassandra/utils/CLibrary.java| 21 +-
 .../unit/org/apache/cassandra/SchemaLoader.java | 11 -
 4 files changed, 57 insertions(+), 18 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/2b4029a7/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 9f946a3..71ccc58 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.0
+ * Switch CommitLogSegment from RandomAccessFile to nio (CASSANDRA-8308)
  * Allow mixing token and partition key restrictions (CASSANDRA-7016)
  * Support index key/value entries on map collections (CASSANDRA-8473)
  * Modernize schema tables (CASSANDRA-8261)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/2b4029a7/src/java/org/apache/cassandra/db/commitlog/CommitLogSegment.java
--
diff --git a/src/java/org/apache/cassandra/db/commitlog/CommitLogSegment.java 
b/src/java/org/apache/cassandra/db/commitlog/CommitLogSegment.java
index 185f57a..3383f1e 100644
--- a/src/java/org/apache/cassandra/db/commitlog/CommitLogSegment.java
+++ b/src/java/org/apache/cassandra/db/commitlog/CommitLogSegment.java
@@ -23,6 +23,7 @@ import java.io.RandomAccessFile;
 import java.nio.ByteBuffer;
 import java.nio.MappedByteBuffer;
 import java.nio.channels.FileChannel;
+import java.nio.file.StandardOpenOption;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Comparator;
@@ -104,7 +105,7 @@ public class CommitLogSegment
 public final long id;
 
 private final File logFile;
-private final RandomAccessFile logFileAccessor;
+private final FileChannel channel;
 private final int fd;
 
 private final MappedByteBuffer buffer;
@@ -134,7 +135,6 @@ public class CommitLogSegment
 id = getNextId();
 descriptor = new CommitLogDescriptor(id);
 logFile = new File(DatabaseDescriptor.getCommitLogLocation(), 
descriptor.fileName());
-boolean isCreating = true;
 
 try
 {
@@ -147,25 +147,37 @@ public class CommitLogSegment
 logger.debug("Re-using discarded CommitLog segment for {} 
from {}", id, filePath);
 if (!oldFile.renameTo(logFile))
 throw new IOException("Rename from " + filePath + " to 
" + id + " failed");
-isCreating = false;
+}
+else
+{
+logger.debug("Creating new CommitLog segment: " + logFile);
 }
 }
 
-// Open the initial the segment file
-logFileAccessor = new RandomAccessFile(logFile, "rw");
+// Extend or truncate the file size to the standard segment size 
as we may have restarted after a segment
+// size configuration change, leaving "incorrectly" sized segments 
on disk.
+// NOTE: while we're using RAF to allow extension of file on disk 
w/out sparse, we need to avoid using RAF
+// for grabbing the FileChannel due to FILE_SHARE_DELETE flag bug 
on windows.
+// See: https://bugs.openjdk.java.net/browse/JDK-6357433 and 
CASSANDRA-8308
+if (logFile.length() != 
DatabaseDescriptor.getCommitLogSegmentSize())
+{
+try (RandomAccessFile raf = new RandomAccessFile(logFile, 
"rw"))
+{
+
raf.setLength(DatabaseDescriptor.getCommitLogSegmentSize());
+}
+catch (IOException e)
+{
+throw new FSWriteError(e, logFile);
+}
+}
 
-if (isCreating)
-logger.debug("Creating new commit log segment {}", 
logFile.getPath());
+channel = FileChannel.open(logFile.toPath(), 
StandardOpenOption.WRITE, StandardOpenOption.READ);
 
-// Map the segment, extending or truncating it to the standard 
segment size.
-  

[jira] [Commented] (CASSANDRA-8355) NPE when passing wrong argument in ALTER TABLE statement

2015-01-08 Thread Benjamin Lerer (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8355?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14269736#comment-14269736
 ] 

Benjamin Lerer commented on CASSANDRA-8355:
---

I had a look at it and run some tests. I think it is fine.
Thanks for the review.

> NPE when passing wrong argument in ALTER TABLE statement
> 
>
> Key: CASSANDRA-8355
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8355
> Project: Cassandra
>  Issue Type: Bug
> Environment: Cassandra 2.1.2
>Reporter: Pierre Laporte
>Assignee: Benjamin Lerer
>Priority: Minor
> Fix For: 2.1.3
>
> Attachments: CASSANDRA-8355.txt
>
>
> When I tried to change the caching strategy of a table, I provided a wrong 
> argument {{'rows_per_partition' : ALL}} with unquoted ALL. Cassandra returned 
> a SyntaxError, which is good, but it seems it was because of a 
> NullPointerException.
> *Howto*
> {code}
> CREATE TABLE foo (k int primary key);
> ALTER TABLE foo WITH caching = {'keys' : 'all', 'rows_per_partition' : ALL};
> {code}
> *Output*
> {code}
> 
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Created] (CASSANDRA-8583) Check for Thread.start()

2015-01-08 Thread Robert Stupp (JIRA)
Robert Stupp created CASSANDRA-8583:
---

 Summary: Check for Thread.start()
 Key: CASSANDRA-8583
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8583
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Robert Stupp
Priority: Minor


Old classes sometimes still use 
{noformat}
  new Thread(...).start()
{noformat}
which might be costly.

This ticket's about to find and possibly fix such code.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Updated] (CASSANDRA-8535) java.lang.RuntimeException: Failed to rename XXX to YYY

2015-01-08 Thread Joshua McKenzie (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-8535?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Joshua McKenzie updated CASSANDRA-8535:
---
Fix Version/s: 2.1.3

> java.lang.RuntimeException: Failed to rename XXX to YYY
> ---
>
> Key: CASSANDRA-8535
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8535
> Project: Cassandra
>  Issue Type: Bug
> Environment: Windows 2008 X64
>Reporter: Leonid Shalupov
>Assignee: Joshua McKenzie
> Fix For: 2.1.3
>
>
> {code}
> java.lang.RuntimeException: Failed to rename 
> build\test\cassandra\data;0\system\schema_keyspaces-b0f2235744583cdb9631c43e59ce3676\system-schema_keyspaces-tmp-ka-5-Index.db
>  to 
> build\test\cassandra\data;0\system\schema_keyspaces-b0f2235744583cdb9631c43e59ce3676\system-schema_keyspaces-ka-5-Index.db
>   at 
> org.apache.cassandra.io.util.FileUtils.renameWithConfirm(FileUtils.java:170) 
> ~[main/:na]
>   at 
> org.apache.cassandra.io.util.FileUtils.renameWithConfirm(FileUtils.java:154) 
> ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.SSTableWriter.rename(SSTableWriter.java:569) 
> ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.SSTableWriter.rename(SSTableWriter.java:561) 
> ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.SSTableWriter.close(SSTableWriter.java:535) 
> ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.SSTableWriter.finish(SSTableWriter.java:470) 
> ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.SSTableRewriter.finishAndMaybeThrow(SSTableRewriter.java:349)
>  ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.SSTableRewriter.finish(SSTableRewriter.java:324)
>  ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.SSTableRewriter.finish(SSTableRewriter.java:304)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.compaction.CompactionTask.runMayThrow(CompactionTask.java:200)
>  ~[main/:na]
>   at 
> org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) 
> ~[main/:na]
>   at 
> org.apache.cassandra.db.compaction.CompactionTask.executeInternal(CompactionTask.java:75)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.compaction.AbstractCompactionTask.execute(AbstractCompactionTask.java:59)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.compaction.CompactionManager$BackgroundCompactionTask.run(CompactionManager.java:226)
>  ~[main/:na]
>   at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
> ~[na:1.7.0_45]
>   at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
> ~[na:1.7.0_45]
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>  ~[na:1.7.0_45]
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>  [na:1.7.0_45]
>   at java.lang.Thread.run(Thread.java:744) [na:1.7.0_45]
> Caused by: java.nio.file.FileSystemException: 
> build\test\cassandra\data;0\system\schema_keyspaces-b0f2235744583cdb9631c43e59ce3676\system-schema_keyspaces-tmp-ka-5-Index.db
>  -> 
> build\test\cassandra\data;0\system\schema_keyspaces-b0f2235744583cdb9631c43e59ce3676\system-schema_keyspaces-ka-5-Index.db:
>  The process cannot access the file because it is being used by another 
> process.
>   at 
> sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:86) 
> ~[na:1.7.0_45]
>   at 
> sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:97) 
> ~[na:1.7.0_45]
>   at sun.nio.fs.WindowsFileCopy.move(WindowsFileCopy.java:301) 
> ~[na:1.7.0_45]
>   at 
> sun.nio.fs.WindowsFileSystemProvider.move(WindowsFileSystemProvider.java:287) 
> ~[na:1.7.0_45]
>   at java.nio.file.Files.move(Files.java:1345) ~[na:1.7.0_45]
>   at 
> org.apache.cassandra.io.util.FileUtils.atomicMoveWithFallback(FileUtils.java:184)
>  ~[main/:na]
>   at 
> org.apache.cassandra.io.util.FileUtils.renameWithConfirm(FileUtils.java:166) 
> ~[main/:na]
>   ... 18 common frames omitted
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-8535) java.lang.RuntimeException: Failed to rename XXX to YYY

2015-01-08 Thread Joshua McKenzie (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8535?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14269712#comment-14269712
 ] 

Joshua McKenzie commented on CASSANDRA-8535:


[~shalupov] Is this occurring on the same systems as CASSANDRA-8544?  If so, do 
you still see "failed to rename" errors while running a cluster after disabling 
A/V and Windows Search or adding exclusions for Cassandra in those services?

CASSANDRA-8551 was created shortly after this ticket, specifically dealing with 
a renaming issue in compaction on Windows on the 2.1 branch during unit-tests.  
If your problem proves to be test-only after addressing A/V and search, I'd 
prefer to close this as duplicate so as not to cloud the issue as 8551 is more 
limited in scope.

> java.lang.RuntimeException: Failed to rename XXX to YYY
> ---
>
> Key: CASSANDRA-8535
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8535
> Project: Cassandra
>  Issue Type: Bug
> Environment: Windows 2008 X64
>Reporter: Leonid Shalupov
>Assignee: Joshua McKenzie
>
> {code}
> java.lang.RuntimeException: Failed to rename 
> build\test\cassandra\data;0\system\schema_keyspaces-b0f2235744583cdb9631c43e59ce3676\system-schema_keyspaces-tmp-ka-5-Index.db
>  to 
> build\test\cassandra\data;0\system\schema_keyspaces-b0f2235744583cdb9631c43e59ce3676\system-schema_keyspaces-ka-5-Index.db
>   at 
> org.apache.cassandra.io.util.FileUtils.renameWithConfirm(FileUtils.java:170) 
> ~[main/:na]
>   at 
> org.apache.cassandra.io.util.FileUtils.renameWithConfirm(FileUtils.java:154) 
> ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.SSTableWriter.rename(SSTableWriter.java:569) 
> ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.SSTableWriter.rename(SSTableWriter.java:561) 
> ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.SSTableWriter.close(SSTableWriter.java:535) 
> ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.SSTableWriter.finish(SSTableWriter.java:470) 
> ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.SSTableRewriter.finishAndMaybeThrow(SSTableRewriter.java:349)
>  ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.SSTableRewriter.finish(SSTableRewriter.java:324)
>  ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.SSTableRewriter.finish(SSTableRewriter.java:304)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.compaction.CompactionTask.runMayThrow(CompactionTask.java:200)
>  ~[main/:na]
>   at 
> org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) 
> ~[main/:na]
>   at 
> org.apache.cassandra.db.compaction.CompactionTask.executeInternal(CompactionTask.java:75)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.compaction.AbstractCompactionTask.execute(AbstractCompactionTask.java:59)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.compaction.CompactionManager$BackgroundCompactionTask.run(CompactionManager.java:226)
>  ~[main/:na]
>   at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
> ~[na:1.7.0_45]
>   at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
> ~[na:1.7.0_45]
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>  ~[na:1.7.0_45]
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>  [na:1.7.0_45]
>   at java.lang.Thread.run(Thread.java:744) [na:1.7.0_45]
> Caused by: java.nio.file.FileSystemException: 
> build\test\cassandra\data;0\system\schema_keyspaces-b0f2235744583cdb9631c43e59ce3676\system-schema_keyspaces-tmp-ka-5-Index.db
>  -> 
> build\test\cassandra\data;0\system\schema_keyspaces-b0f2235744583cdb9631c43e59ce3676\system-schema_keyspaces-ka-5-Index.db:
>  The process cannot access the file because it is being used by another 
> process.
>   at 
> sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:86) 
> ~[na:1.7.0_45]
>   at 
> sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:97) 
> ~[na:1.7.0_45]
>   at sun.nio.fs.WindowsFileCopy.move(WindowsFileCopy.java:301) 
> ~[na:1.7.0_45]
>   at 
> sun.nio.fs.WindowsFileSystemProvider.move(WindowsFileSystemProvider.java:287) 
> ~[na:1.7.0_45]
>   at java.nio.file.Files.move(Files.java:1345) ~[na:1.7.0_45]
>   at 
> org.apache.cassandra.io.util.FileUtils.atomicMoveWithFallback(FileUtils.java:184)
>  ~[main/:na]
>   at 
> org.apache.cassandra.io.util.FileUtils.renameWithConfirm(FileUtils.java:166) 
> ~[main/:na]
>   ... 18 common frames omitted
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-8581) Null pointer in cassandra.hadoop.ColumnFamilyRecoderWriter

2015-01-08 Thread Brandon Williams (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8581?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14269709#comment-14269709
 ] 

Brandon Williams commented on CASSANDRA-8581:
-

Can you attach a patch instead of screenshots of the code?

> Null pointer in cassandra.hadoop.ColumnFamilyRecoderWriter
> --
>
> Key: CASSANDRA-8581
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8581
> Project: Cassandra
>  Issue Type: Bug
>  Components: Hadoop
>Reporter: xiangdong Huang
>Assignee: Brandon Williams
>  Labels: hadoop
> Fix For: 2.1.3
>
> Attachments: 屏幕快照 2015-01-08 下午7.59.29.png, 屏幕快照 2015-01-08 
> 下午8.01.15.png, 屏幕快照 2015-01-08 下午8.07.23.png
>
>
> When I run examples/hadoop_word_count. I find that ReducerToFilesystem is 
> correct but when I use ReducerToCassandra, the program will call loadYaml().
> The reason is that the program catch a exception at line 196 of 
> ColumnFamilyRecoderWriter.java. 
> Then it check why the exception occur, then it loadYaml to check if the disk 
> is broken...
> However, the exception is NullPointerException. because the client is not 
> initialized.
>  
> So we need a check to judge whether the client is null. 
> (
> The exception, original code and fixed code are in the attachments.
> )



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Resolved] (CASSANDRA-8365) CamelCase name is used as index name instead of lowercase

2015-01-08 Thread Tyler Hobbs (JIRA)

 [ 
https://issues.apache.org/jira/browse/CASSANDRA-8365?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tyler Hobbs resolved CASSANDRA-8365.

Resolution: Fixed

Ah, I missed that {{dropIndex()}} was setting the keyspace to {{system}}.  
Thanks for the fix, committed!

> CamelCase name is used as index name instead of lowercase
> -
>
> Key: CASSANDRA-8365
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8365
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Pierre Laporte
>Assignee: Benjamin Lerer
>Priority: Minor
>  Labels: cqlsh, docs
> Fix For: 2.1.3
>
> Attachments: CASSANDRA-8365-V2.txt, 
> CASSANDRA-8365-trunk-unittests-fix.txt, CASSANDRA-8365.txt
>
>
> In cqlsh, when I execute a CREATE INDEX FooBar ... statement, the CamelCase 
> name is used as index name, even though it is unquoted. Trying to quote the 
> index name results in a syntax error.
> However, when I try to delete the index, I have to quote the index name, 
> otherwise I get an invalid-query error telling me that the index (lowercase) 
> does not exist.
> This seems inconsistent.  Shouldn't the index name be lowercased before the 
> index is created ?
> Here is the code to reproduce the issue :
> {code}
> cqlsh:schemabuilderit> CREATE TABLE IndexTest (a int primary key, b int);
> cqlsh:schemabuilderit> CREATE INDEX FooBar on indextest (b);
> cqlsh:schemabuilderit> DESCRIBE TABLE indextest ;
> CREATE TABLE schemabuilderit.indextest (
> a int PRIMARY KEY,
> b int
> ) ;
> CREATE INDEX FooBar ON schemabuilderit.indextest (b);
> cqlsh:schemabuilderit> DROP INDEX FooBar;
> code=2200 [Invalid query] message="Index 'foobar' could not be found in any 
> of the tables of keyspace 'schemabuilderit'"
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


cassandra git commit: Fix create index statement unit tests on trunk

2015-01-08 Thread tylerhobbs
Repository: cassandra
Updated Branches:
  refs/heads/trunk 9606a17b3 -> 028fd2950


Fix create index statement unit tests on trunk

Patch by Benjamin Lerer; reviewed by Tyler Hobbs as a follow-up for 
CASSANDRA-8365


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/028fd295
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/028fd295
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/028fd295

Branch: refs/heads/trunk
Commit: 028fd2950195479b90d21ee1bd795cf1a9c661e7
Parents: 9606a17
Author: Tyler Hobbs 
Authored: Thu Jan 8 11:27:09 2015 -0600
Committer: Tyler Hobbs 
Committed: Thu Jan 8 11:27:48 2015 -0600

--
 test/unit/org/apache/cassandra/cql3/CreateIndexStatementTest.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/028fd295/test/unit/org/apache/cassandra/cql3/CreateIndexStatementTest.java
--
diff --git a/test/unit/org/apache/cassandra/cql3/CreateIndexStatementTest.java 
b/test/unit/org/apache/cassandra/cql3/CreateIndexStatementTest.java
index 18e1be5..847466e 100644
--- a/test/unit/org/apache/cassandra/cql3/CreateIndexStatementTest.java
+++ b/test/unit/org/apache/cassandra/cql3/CreateIndexStatementTest.java
@@ -79,7 +79,7 @@ public class CreateIndexStatementTest extends CQLTester
 else
 {
 execute("USE " + KEYSPACE);
-dropIndex("DROP INDEX " + indexName);
+execute("DROP INDEX " + indexName);
 }
 
 assertInvalidMessage("No secondary indexes on the restricted columns 
support the provided operators",



[jira] [Commented] (CASSANDRA-8581) Null pointer in cassandra.hadoop.ColumnFamilyRecoderWriter

2015-01-08 Thread xiangdong Huang (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8581?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14269701#comment-14269701
 ] 

xiangdong Huang commented on CASSANDRA-8581:


And in fact, that class  is not the reason of this exception. The really reason 
is Cassandra.client is null in ColumnFamilyRecorderWriter .

> Null pointer in cassandra.hadoop.ColumnFamilyRecoderWriter
> --
>
> Key: CASSANDRA-8581
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8581
> Project: Cassandra
>  Issue Type: Bug
>  Components: Hadoop
>Reporter: xiangdong Huang
>Assignee: Brandon Williams
>  Labels: hadoop
> Fix For: 2.1.3
>
> Attachments: 屏幕快照 2015-01-08 下午7.59.29.png, 屏幕快照 2015-01-08 
> 下午8.01.15.png, 屏幕快照 2015-01-08 下午8.07.23.png
>
>
> When I run examples/hadoop_word_count. I find that ReducerToFilesystem is 
> correct but when I use ReducerToCassandra, the program will call loadYaml().
> The reason is that the program catch a exception at line 196 of 
> ColumnFamilyRecoderWriter.java. 
> Then it check why the exception occur, then it loadYaml to check if the disk 
> is broken...
> However, the exception is NullPointerException. because the client is not 
> initialized.
>  
> So we need a check to judge whether the client is null. 
> (
> The exception, original code and fixed code are in the attachments.
> )



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-8421) Cassandra 2.1.1 & Cassandra 2.1.2 UDT not returning value for LIST type as UDT

2015-01-08 Thread Benjamin Lerer (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8421?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14269689#comment-14269689
 ] 

Benjamin Lerer commented on CASSANDRA-8421:
---

I will look into it next week. Sorry, for the delay.

> Cassandra 2.1.1 & Cassandra 2.1.2 UDT not returning value for LIST type as UDT
> --
>
> Key: CASSANDRA-8421
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8421
> Project: Cassandra
>  Issue Type: Bug
>  Components: API
> Environment: single node cassandra 
>Reporter: madheswaran
>Assignee: Benjamin Lerer
> Fix For: 3.0, 2.1.3
>
> Attachments: 8421-unittest.txt, entity_data.csv
>
>
> I using List and its data type is UDT.
> UDT:
> {code}
> CREATE TYPE
> fieldmap (
>  key text,
>  value text
> );
> {code}
> TABLE:
> {code}
> CREATE TABLE entity (
>   entity_id uuid PRIMARY KEY,
>   begining int,
>   domain text,
>   domain_type text,
>   entity_template_name text,
>   field_values list,
>   global_entity_type text,
>   revision_time timeuuid,
>   status_key int,
>   status_name text,
>   uuid timeuuid
>   ) {code}
> INDEX:
> {code}
> CREATE INDEX entity_domain_idx_1 ON galaxy_dev.entity (domain);
> CREATE INDEX entity_field_values_idx_1 ON galaxy_dev.entity (field_values);
> CREATE INDEX entity_global_entity_type_idx_1 ON galaxy_dev.entity (gen_type );
> {code}
> QUERY
> {code}
> SELECT * FROM entity WHERE status_key < 3 and field_values contains {key: 
> 'userName', value: 'Sprint5_22'} and gen_type = 'USER' and domain = 
> 'S4_1017.abc.com' allow filtering;
> {code}
> The above query return value for some row and not for many rows but those 
> rows and data's are exist.
> Observation:
> If I execute query with other than field_maps, then it returns value. I 
> suspect the problem with LIST with UDT.
> I have single node cassadra DB. Please let me know why this strange behavior 
> from cassandra.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


[jira] [Commented] (CASSANDRA-8581) Null pointer in cassandra.hadoop.ColumnFamilyRecoderWriter

2015-01-08 Thread xiangdong Huang (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8581?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14269582#comment-14269582
 ] 

xiangdong Huang commented on CASSANDRA-8581:


It is a test class.  It is in test/unit folder.

> Null pointer in cassandra.hadoop.ColumnFamilyRecoderWriter
> --
>
> Key: CASSANDRA-8581
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8581
> Project: Cassandra
>  Issue Type: Bug
>  Components: Hadoop
>Reporter: xiangdong Huang
>Assignee: Brandon Williams
>  Labels: hadoop
> Fix For: 2.1.3
>
> Attachments: 屏幕快照 2015-01-08 下午7.59.29.png, 屏幕快照 2015-01-08 
> 下午8.01.15.png, 屏幕快照 2015-01-08 下午8.07.23.png
>
>
> When I run examples/hadoop_word_count. I find that ReducerToFilesystem is 
> correct but when I use ReducerToCassandra, the program will call loadYaml().
> The reason is that the program catch a exception at line 196 of 
> ColumnFamilyRecoderWriter.java. 
> Then it check why the exception occur, then it loadYaml to check if the disk 
> is broken...
> However, the exception is NullPointerException. because the client is not 
> initialized.
>  
> So we need a check to judge whether the client is null. 
> (
> The exception, original code and fixed code are in the attachments.
> )



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)


  1   2   >