[2/2] cassandra git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/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
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
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
[ 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
[ 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
[ 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
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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
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
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
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
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
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
[ 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
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
[ 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
[ 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
[ 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'
[ 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
[ 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
[ 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
[ 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'
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
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
[ 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
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
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
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
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
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
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
[ 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
[ 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
[ 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
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()
[ 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
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
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
[ 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()
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
[ 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
[ 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
[ 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
[ 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
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
[ 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
[ 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
[ 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)