[jira] [Comment Edited] (CASSANDRA-11955) Impossibly large value displayed for data "load" and "Space used (*):"
[ https://issues.apache.org/jira/browse/CASSANDRA-11955?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15316220#comment-15316220 ] Jeff Jirsa edited comment on CASSANDRA-11955 at 6/6/16 5:55 AM: Sounds a lot like CASSANDRA-11209 (which should have been fixed in 3.0.5) - any errors during repairs or indications of leaked references? was (Author: jjirsa): Sounds a lot like CASSANDRA-11215 (which should have been fixed in 3.0.5) - any errors during repairs or indications of leaked references? > Impossibly large value displayed for data "load" and "Space used (*):" > -- > > Key: CASSANDRA-11955 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11955 > Project: Cassandra > Issue Type: Bug > Components: Compaction >Reporter: Nate McCall > > The data load as reported by nodetool views looks like it is not getting > updated correctly (from compaction?): > {noformat} > # nodetool status > Datacenter: dc1 > == > Status=Up/Down > |/ State=Normal/Leaving/Joining/Moving > -- Address Load Tokens Owns (effective) Host ID > Rack > UJ [redacted] 1.1 GB 256 ? > 0dfd164c-b874-4e90-be2c-3fea8e12d78e a > UN [redacted] 14.96 TB 256 49.0% > 02821ddb-a463-4845-b2ca-bed1da141e81 a > UN [redacted] 31.94 TB 256 51.2% > 30531bfe-fe0e-4360-a22b-36bf200a9679 e > UN [redacted] 1.81 TB256 54.0% > 17a93464-41c4-49f8-8042-b2741c5e3256 d > UN [redacted] 22.2 TB256 46.0% > f35b4aeb-33e5-4f53-bc9d-49de3a157e3e d > UN [redacted]28.53 TB 256 51.0% > 74e04517-de70-4754-82fc-2dc867a14ae7 a > UN [redacted] 39.25 TB 256 48.8% > 3a271443-db02-4487-be52-d6c35b66da40 e > {noformat} > NOTE: unknown if the join is related as the "TB" vs. "GB" discrepancy was > only noticed after the join started. > And same for {{nodetool tablestats}} details of the {{30531bfe...}} node: > {noformat} > # nodetool tablestats > Keyspace: myks > Read Count: 1306765640 > Read Latency: 0.22125289495291597 ms. > Write Count: 3375354023 > Write Latency: 0.017621884565795665 ms. > Pending Flushes: 0 > Table: mytable > SSTable count: 110 > Space used (live): 31374649977187 > Space used (total): 31374649977187 > Space used by snapshots (total): 0 > ... > {noformat} > Nothing fancy on this table (there is only one active table on this cluster): > STCS with defaults, no MVs, no indexes just text and int columns with a > single value partition key. > NOTE: once restarted, the values then display as correct, creeping up from > there (thus my thinking that this is a compaction issue). -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Comment Edited] (CASSANDRA-11955) Impossibly large value displayed for data "load" and "Space used (*):"
[ https://issues.apache.org/jira/browse/CASSANDRA-11955?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15316220#comment-15316220 ] Jeff Jirsa edited comment on CASSANDRA-11955 at 6/6/16 5:55 AM: Sounds a lot like CASSANDRA-11209 - any errors during repairs or indications of leaked references? was (Author: jjirsa): Sounds a lot like CASSANDRA-11209 (which should have been fixed in 3.0.5) - any errors during repairs or indications of leaked references? > Impossibly large value displayed for data "load" and "Space used (*):" > -- > > Key: CASSANDRA-11955 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11955 > Project: Cassandra > Issue Type: Bug > Components: Compaction >Reporter: Nate McCall > > The data load as reported by nodetool views looks like it is not getting > updated correctly (from compaction?): > {noformat} > # nodetool status > Datacenter: dc1 > == > Status=Up/Down > |/ State=Normal/Leaving/Joining/Moving > -- Address Load Tokens Owns (effective) Host ID > Rack > UJ [redacted] 1.1 GB 256 ? > 0dfd164c-b874-4e90-be2c-3fea8e12d78e a > UN [redacted] 14.96 TB 256 49.0% > 02821ddb-a463-4845-b2ca-bed1da141e81 a > UN [redacted] 31.94 TB 256 51.2% > 30531bfe-fe0e-4360-a22b-36bf200a9679 e > UN [redacted] 1.81 TB256 54.0% > 17a93464-41c4-49f8-8042-b2741c5e3256 d > UN [redacted] 22.2 TB256 46.0% > f35b4aeb-33e5-4f53-bc9d-49de3a157e3e d > UN [redacted]28.53 TB 256 51.0% > 74e04517-de70-4754-82fc-2dc867a14ae7 a > UN [redacted] 39.25 TB 256 48.8% > 3a271443-db02-4487-be52-d6c35b66da40 e > {noformat} > NOTE: unknown if the join is related as the "TB" vs. "GB" discrepancy was > only noticed after the join started. > And same for {{nodetool tablestats}} details of the {{30531bfe...}} node: > {noformat} > # nodetool tablestats > Keyspace: myks > Read Count: 1306765640 > Read Latency: 0.22125289495291597 ms. > Write Count: 3375354023 > Write Latency: 0.017621884565795665 ms. > Pending Flushes: 0 > Table: mytable > SSTable count: 110 > Space used (live): 31374649977187 > Space used (total): 31374649977187 > Space used by snapshots (total): 0 > ... > {noformat} > Nothing fancy on this table (there is only one active table on this cluster): > STCS with defaults, no MVs, no indexes just text and int columns with a > single value partition key. > NOTE: once restarted, the values then display as correct, creeping up from > there (thus my thinking that this is a compaction issue). -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-11955) Impossibly large value displayed for data "load" and "Space used (*):"
[ https://issues.apache.org/jira/browse/CASSANDRA-11955?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15316220#comment-15316220 ] Jeff Jirsa commented on CASSANDRA-11955: Sounds a lot like CASSANDRA-11215 (which should have been fixed in 3.0.5) - any errors during repairs or indications of leaked references? > Impossibly large value displayed for data "load" and "Space used (*):" > -- > > Key: CASSANDRA-11955 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11955 > Project: Cassandra > Issue Type: Bug > Components: Compaction >Reporter: Nate McCall > > The data load as reported by nodetool views looks like it is not getting > updated correctly (from compaction?): > {noformat} > # nodetool status > Datacenter: dc1 > == > Status=Up/Down > |/ State=Normal/Leaving/Joining/Moving > -- Address Load Tokens Owns (effective) Host ID > Rack > UJ [redacted] 1.1 GB 256 ? > 0dfd164c-b874-4e90-be2c-3fea8e12d78e a > UN [redacted] 14.96 TB 256 49.0% > 02821ddb-a463-4845-b2ca-bed1da141e81 a > UN [redacted] 31.94 TB 256 51.2% > 30531bfe-fe0e-4360-a22b-36bf200a9679 e > UN [redacted] 1.81 TB256 54.0% > 17a93464-41c4-49f8-8042-b2741c5e3256 d > UN [redacted] 22.2 TB256 46.0% > f35b4aeb-33e5-4f53-bc9d-49de3a157e3e d > UN [redacted]28.53 TB 256 51.0% > 74e04517-de70-4754-82fc-2dc867a14ae7 a > UN [redacted] 39.25 TB 256 48.8% > 3a271443-db02-4487-be52-d6c35b66da40 e > {noformat} > NOTE: unknown if the join is related as the "TB" vs. "GB" discrepancy was > only noticed after the join started. > And same for {{nodetool tablestats}} details of the {{30531bfe...}} node: > {noformat} > # nodetool tablestats > Keyspace: myks > Read Count: 1306765640 > Read Latency: 0.22125289495291597 ms. > Write Count: 3375354023 > Write Latency: 0.017621884565795665 ms. > Pending Flushes: 0 > Table: mytable > SSTable count: 110 > Space used (live): 31374649977187 > Space used (total): 31374649977187 > Space used by snapshots (total): 0 > ... > {noformat} > Nothing fancy on this table (there is only one active table on this cluster): > STCS with defaults, no MVs, no indexes just text and int columns with a > single value partition key. > NOTE: once restarted, the values then display as correct, creeping up from > there (thus my thinking that this is a compaction issue). -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-11537) Give clear error when certain nodetool commands are issued before server is ready
[ https://issues.apache.org/jira/browse/CASSANDRA-11537?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15316159#comment-15316159 ] Edward Capriolo commented on CASSANDRA-11537: - Re based to trunk: https://github.com/apache/cassandra/compare/trunk...edwardcapriolo:CASSANDRA-11537-2?expand=1 > Give clear error when certain nodetool commands are issued before server is > ready > - > > Key: CASSANDRA-11537 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11537 > Project: Cassandra > Issue Type: Improvement >Reporter: Edward Capriolo >Assignee: Edward Capriolo >Priority: Minor > Labels: lhf > > As an ops person upgrading and servicing Cassandra servers, I require a more > clear message when I issue a nodetool command that the server is not ready > for it so that I am not confused. > Technical description: > If you deploy a new binary, restart, and issue nodetool > scrub/compact/updatess etc you get unfriendly assertion. An exception would > be easier to understand. Also if a user has turned assertions off it is > unclear what might happen. > {noformat} > EC1: Throw exception to make it clear server is still in start up process. > :~# nodetool upgradesstables > error: null > -- StackTrace -- > java.lang.AssertionError > at org.apache.cassandra.db.Keyspace.open(Keyspace.java:97) > at > org.apache.cassandra.service.StorageService.getValidKeyspace(StorageService.java:2573) > at > org.apache.cassandra.service.StorageService.getValidColumnFamilies(StorageService.java:2661) > at > org.apache.cassandra.service.StorageService.upgradeSSTables(StorageService.java:2421) > {noformat} > EC1: > Patch against 2.1 (branch) > https://github.com/apache/cassandra/compare/trunk...edwardcapriolo:exception-on-startup?expand=1 -- This message was sent by Atlassian JIRA (v6.3.4#6332)
cassandra git commit: don't declare throwing exceptions that aren't
Repository: cassandra Updated Branches: refs/heads/trunk 60eed6346 -> fed476f9c don't declare throwing exceptions that aren't Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/fed476f9 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/fed476f9 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/fed476f9 Branch: refs/heads/trunk Commit: fed476f9c049128674841d1c46b868979352b1a5 Parents: 60eed63 Author: Dave BrosiusAuthored: Sun Jun 5 20:27:27 2016 -0400 Committer: Dave Brosius Committed: Sun Jun 5 20:27:27 2016 -0400 -- src/java/org/apache/cassandra/auth/AuthCache.java| 2 +- src/java/org/apache/cassandra/cache/AutoSavingCache.java | 2 +- .../apache/cassandra/cql3/statements/TruncateStatement.java | 2 +- src/java/org/apache/cassandra/db/ColumnFamilyStore.java | 6 +++--- .../apache/cassandra/db/compaction/CompactionManager.java| 8 .../cassandra/db/compaction/CompactionStrategyManager.java | 2 +- src/java/org/apache/cassandra/db/compaction/Scrubber.java| 4 ++-- src/java/org/apache/cassandra/db/compaction/Verifier.java| 4 ++-- .../org/apache/cassandra/hadoop/cql3/CqlInputFormat.java | 2 +- .../index/sasi/analyzer/filter/StopWordFactory.java | 2 +- .../org/apache/cassandra/io/util/DataOutputStreamPlus.java | 2 +- src/java/org/apache/cassandra/io/util/SafeMemory.java| 2 +- src/java/org/apache/cassandra/repair/RepairJob.java | 4 ++-- src/java/org/apache/cassandra/repair/RepairRunnable.java | 2 +- .../org/apache/cassandra/service/AsyncRepairCallback.java| 2 +- src/java/org/apache/cassandra/service/StartupChecks.java | 4 ++-- src/java/org/apache/cassandra/service/StorageProxy.java | 3 +-- src/java/org/apache/cassandra/service/StorageService.java| 2 +- .../cassandra/streaming/messages/IncomingFileMessage.java| 2 +- .../cassandra/streaming/messages/OutgoingFileMessage.java| 2 +- src/java/org/apache/cassandra/thrift/CassandraServer.java| 4 src/java/org/apache/cassandra/tools/NodeProbe.java | 2 +- src/java/org/apache/cassandra/tracing/TraceStateImpl.java| 2 +- 23 files changed, 31 insertions(+), 36 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/fed476f9/src/java/org/apache/cassandra/auth/AuthCache.java -- diff --git a/src/java/org/apache/cassandra/auth/AuthCache.java b/src/java/org/apache/cassandra/auth/AuthCache.java index 3e33bbd..0d2a01e 100644 --- a/src/java/org/apache/cassandra/auth/AuthCache.java +++ b/src/java/org/apache/cassandra/auth/AuthCache.java @@ -178,7 +178,7 @@ public class AuthCache implements AuthCacheMBean .maximumSize(getMaxEntries()) .build(new CacheLoader () { - public V load(K k) throws Exception + public V load(K k) { return loadFunction.apply(k); } http://git-wip-us.apache.org/repos/asf/cassandra/blob/fed476f9/src/java/org/apache/cassandra/cache/AutoSavingCache.java -- diff --git a/src/java/org/apache/cassandra/cache/AutoSavingCache.java b/src/java/org/apache/cassandra/cache/AutoSavingCache.java index 2921818..1b48d4f 100644 --- a/src/java/org/apache/cassandra/cache/AutoSavingCache.java +++ b/src/java/org/apache/cassandra/cache/AutoSavingCache.java @@ -154,7 +154,7 @@ public class AutoSavingCache extends InstrumentingCache cacheLoad = es.submit(new Callable() { @Override -public Integer call() throws Exception +public Integer call() { return loadSaved(); } http://git-wip-us.apache.org/repos/asf/cassandra/blob/fed476f9/src/java/org/apache/cassandra/cql3/statements/TruncateStatement.java -- diff --git a/src/java/org/apache/cassandra/cql3/statements/TruncateStatement.java b/src/java/org/apache/cassandra/cql3/statements/TruncateStatement.java index 66b3da0..336091d 100644 --- a/src/java/org/apache/cassandra/cql3/statements/TruncateStatement.java +++ b/src/java/org/apache/cassandra/cql3/statements/TruncateStatement.java @@ -70,7 +70,7 @@ public class TruncateStatement extends CFStatement implements CQLStatement StorageProxy.truncateBlocking(keyspace(), columnFamily()); } -catch (UnavailableException | TimeoutException | IOException e) +catch
cassandra git commit: push down (delay) allocations to where they are needed
Repository: cassandra Updated Branches: refs/heads/trunk a07db4945 -> 60eed6346 push down (delay) allocations to where they are needed Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/60eed634 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/60eed634 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/60eed634 Branch: refs/heads/trunk Commit: 60eed63462f90dfd58b61fb333971595142c3d60 Parents: a07db49 Author: Dave BrosiusAuthored: Sun Jun 5 20:00:51 2016 -0400 Committer: Dave Brosius Committed: Sun Jun 5 20:01:28 2016 -0400 -- src/java/org/apache/cassandra/db/view/ViewBuilder.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/60eed634/src/java/org/apache/cassandra/db/view/ViewBuilder.java -- diff --git a/src/java/org/apache/cassandra/db/view/ViewBuilder.java b/src/java/org/apache/cassandra/db/view/ViewBuilder.java index 65e26e2..956c064 100644 --- a/src/java/org/apache/cassandra/db/view/ViewBuilder.java +++ b/src/java/org/apache/cassandra/db/view/ViewBuilder.java @@ -72,7 +72,6 @@ public class ViewBuilder extends CompactionInfo.Holder private void buildKey(DecoratedKey key) { -AtomicLong noBase = new AtomicLong(Long.MAX_VALUE); ReadQuery selectQuery = view.getReadQuery(); if (!selectQuery.selectsKey(key)) return; @@ -92,7 +91,10 @@ public class ViewBuilder extends CompactionInfo.Holder } if (!mutations.isEmpty()) +{ +AtomicLong noBase = new AtomicLong(Long.MAX_VALUE); StorageProxy.mutateMV(key.getKey(), mutations, true, noBase); +} } public void run()
[jira] [Updated] (CASSANDRA-11930) Range tombstone serialisation between 2.1 and 3.0 nodes (in 3.0 -> 2.1 direction) is broken for some Thrift deletions
[ https://issues.apache.org/jira/browse/CASSANDRA-11930?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Tyler Hobbs updated CASSANDRA-11930: Resolution: Fixed Fix Version/s: (was: 3.0.x) (was: 3.x) 3.0.7 3.7 Status: Resolved (was: Patch Available) The new dtest unfortunately failed on that upgrade test run because it was started before I fixed small bug in the test, but I've run the fixed test many times locally without any problems. I'm not too familiar with the other upgrade test failure, but since it has to do with a child process terminating unexpectedly, I assume it's unrelated to these changes. So, committed as {{c98b6484e124982b455455c9cd847e0b36d5074b}} to 3.0 and merged up to 3.7 and trunk. Thanks for the review. > Range tombstone serialisation between 2.1 and 3.0 nodes (in 3.0 -> 2.1 > direction) is broken for some Thrift deletions > - > > Key: CASSANDRA-11930 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11930 > Project: Cassandra > Issue Type: Bug > Components: Coordination >Reporter: Aleksey Yeschenko >Assignee: Tyler Hobbs > Fix For: 3.7, 3.0.7 > > > {{LegacyLayout.LegacyRangeTombstoneList::serialize()}} has a broken > assumption that a range tombstone implies {{CompositeType}}. This is > incorrect, as you can have non-{{CompositeType}} range tombstones created via > Thrift in 2.1, and as such wrapping {{clusteringComparator.subtypes()}} in a > {{CompositeType}} is incorrect. On 2.1/2.2 side, when decoding the range > tombstone list, {{RangeTombstoneList::deserialize()}} will use the raw type > to decode start and end bounds, which will end up being confused by the extra > 2 bytes in the beginning (short length) plus end of component header in the > end. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[2/3] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.7
Merge branch 'cassandra-3.0' into cassandra-3.7 Conflicts: CHANGES.txt Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/40e4b0b0 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/40e4b0b0 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/40e4b0b0 Branch: refs/heads/trunk Commit: 40e4b0b08fc1ffe27e8c0f59234aa496f526fbef Parents: 5fde342 c98b648 Author: Tyler HobbsAuthored: Sun Jun 5 18:29:16 2016 -0500 Committer: Tyler Hobbs Committed: Sun Jun 5 18:29:16 2016 -0500 -- CHANGES.txt | 2 + .../org/apache/cassandra/db/LegacyLayout.java | 77 +++- 2 files changed, 77 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/40e4b0b0/CHANGES.txt -- diff --cc CHANGES.txt index 9e3857b,201a36c..3605752 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,10 -1,8 +1,12 @@@ -3.0.7 +3.7 + * Support multiple folders for user defined compaction tasks (CASSANDRA-11765) + * Fix race in CompactionStrategyManager's pause/resume (CASSANDRA-11922) +Merged from 3.0: + * Fix legacy serialization of Thrift-generated non-compound range tombstones +when communicating with 2.x nodes (CASSANDRA-11930) * Fix Directories instantiations where CFS.initialDirectories should be used (CASSANDRA-11849) * Avoid referencing DatabaseDescriptor in AbstractType (CASSANDRA-11912) + * Don't use static dataDirectories field in Directories instances (CASSANDRA-11647) * Fix sstables not being protected from removal during index build (CASSANDRA-11905) * cqlsh: Suppress stack trace from Read/WriteFailures (CASSANDRA-11032) * Remove unneeded code to repair index summaries that have http://git-wip-us.apache.org/repos/asf/cassandra/blob/40e4b0b0/src/java/org/apache/cassandra/db/LegacyLayout.java --
[3/3] cassandra git commit: Merge branch 'cassandra-3.7' into trunk
Merge branch 'cassandra-3.7' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/a07db494 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/a07db494 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/a07db494 Branch: refs/heads/trunk Commit: a07db4945b020959d3255f67ac6ef50571a26ea8 Parents: 640bd29 40e4b0b Author: Tyler HobbsAuthored: Sun Jun 5 18:29:39 2016 -0500 Committer: Tyler Hobbs Committed: Sun Jun 5 18:29:39 2016 -0500 -- CHANGES.txt | 2 + .../org/apache/cassandra/db/LegacyLayout.java | 77 +++- 2 files changed, 77 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/a07db494/CHANGES.txt --
[1/3] cassandra git commit: Fix legacy non-compound range tombstone serialization
Repository: cassandra Updated Branches: refs/heads/trunk 640bd2947 -> a07db4945 Fix legacy non-compound range tombstone serialization Patch by Tyler Hobbs; reviewed by Aleksey Yeschenko for CASSANDRA-11930 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/c98b6484 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c98b6484 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c98b6484 Branch: refs/heads/trunk Commit: c98b6484e124982b455455c9cd847e0b36d5074b Parents: 02f78f6 Author: Tyler HobbsAuthored: Sun Jun 5 18:27:52 2016 -0500 Committer: Tyler Hobbs Committed: Sun Jun 5 18:27:52 2016 -0500 -- CHANGES.txt | 2 + .../org/apache/cassandra/db/LegacyLayout.java | 77 +++- 2 files changed, 77 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/c98b6484/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 2de1e25..201a36c 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,6 @@ 3.0.7 + * Fix legacy serialization of Thrift-generated non-compound range tombstones + when communicating with 2.x nodes (CASSANDRA-11930) * Fix Directories instantiations where CFS.initialDirectories should be used (CASSANDRA-11849) * Avoid referencing DatabaseDescriptor in AbstractType (CASSANDRA-11912) * Fix sstables not being protected from removal during index build (CASSANDRA-11905) http://git-wip-us.apache.org/repos/asf/cassandra/blob/c98b6484/src/java/org/apache/cassandra/db/LegacyLayout.java -- diff --git a/src/java/org/apache/cassandra/db/LegacyLayout.java b/src/java/org/apache/cassandra/db/LegacyLayout.java index b90151e..495a12a 100644 --- a/src/java/org/apache/cassandra/db/LegacyLayout.java +++ b/src/java/org/apache/cassandra/db/LegacyLayout.java @@ -41,6 +41,8 @@ import org.apache.cassandra.io.util.DataInputPlus; import org.apache.cassandra.io.util.DataOutputPlus; import org.apache.cassandra.net.MessagingService; import org.apache.cassandra.utils.*; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import static org.apache.cassandra.utils.ByteBufferUtil.bytes; @@ -49,6 +51,8 @@ import static org.apache.cassandra.utils.ByteBufferUtil.bytes; */ public abstract class LegacyLayout { +private static final Logger logger = LoggerFactory.getLogger(LegacyLayout.class); + public final static int MAX_CELL_NAME_LENGTH = FBUtilities.MAX_UNSIGNED_SHORT; public final static int STATIC_PREFIX = 0x; @@ -2199,9 +2203,19 @@ public abstract class LegacyLayout if (size == 0) return; +if (metadata.isCompound()) +serializeCompound(out, metadata.isDense()); +else +serializeSimple(out); +} + +private void serializeCompound(DataOutputPlus out, boolean isDense) throws IOException +{ List types = new ArrayList<>(comparator.clusteringComparator.subtypes()); -if (!metadata.isDense()) + +if (!isDense) types.add(UTF8Type.instance); + CompositeType type = CompositeType.getInstance(types); for (int i = 0; i < size; i++) @@ -2230,6 +2244,30 @@ public abstract class LegacyLayout } } +private void serializeSimple(DataOutputPlus out) throws IOException +{ +List types = new ArrayList<>(comparator.clusteringComparator.subtypes()); +assert types.size() == 1 : types; + +for (int i = 0; i < size; i++) +{ +LegacyBound start = starts[i]; +LegacyBound end = ends[i]; + +ClusteringPrefix startClustering = start.bound.clustering(); +ClusteringPrefix endClustering = end.bound.clustering(); + +assert startClustering.size() == 1; +assert endClustering.size() == 1; + +ByteBufferUtil.writeWithShortLength(startClustering.get(0), out); +ByteBufferUtil.writeWithShortLength(endClustering.get(0), out); + +out.writeInt(delTimes[i]); +out.writeLong(markedAts[i]); +} +} + public long serializedSize(CFMetaData metadata) { long size = 0; @@ -2238,8 +2276,17 @@ public abstract class LegacyLayout if (this.size == 0) return size; +if (metadata.isCompound()) +return size + serializedSizeCompound(metadata.isDense()); +else +
[1/2] cassandra git commit: Fix legacy non-compound range tombstone serialization
Repository: cassandra Updated Branches: refs/heads/cassandra-3.7 5fde342c2 -> 40e4b0b08 Fix legacy non-compound range tombstone serialization Patch by Tyler Hobbs; reviewed by Aleksey Yeschenko for CASSANDRA-11930 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/c98b6484 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c98b6484 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c98b6484 Branch: refs/heads/cassandra-3.7 Commit: c98b6484e124982b455455c9cd847e0b36d5074b Parents: 02f78f6 Author: Tyler HobbsAuthored: Sun Jun 5 18:27:52 2016 -0500 Committer: Tyler Hobbs Committed: Sun Jun 5 18:27:52 2016 -0500 -- CHANGES.txt | 2 + .../org/apache/cassandra/db/LegacyLayout.java | 77 +++- 2 files changed, 77 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/c98b6484/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 2de1e25..201a36c 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,6 @@ 3.0.7 + * Fix legacy serialization of Thrift-generated non-compound range tombstones + when communicating with 2.x nodes (CASSANDRA-11930) * Fix Directories instantiations where CFS.initialDirectories should be used (CASSANDRA-11849) * Avoid referencing DatabaseDescriptor in AbstractType (CASSANDRA-11912) * Fix sstables not being protected from removal during index build (CASSANDRA-11905) http://git-wip-us.apache.org/repos/asf/cassandra/blob/c98b6484/src/java/org/apache/cassandra/db/LegacyLayout.java -- diff --git a/src/java/org/apache/cassandra/db/LegacyLayout.java b/src/java/org/apache/cassandra/db/LegacyLayout.java index b90151e..495a12a 100644 --- a/src/java/org/apache/cassandra/db/LegacyLayout.java +++ b/src/java/org/apache/cassandra/db/LegacyLayout.java @@ -41,6 +41,8 @@ import org.apache.cassandra.io.util.DataInputPlus; import org.apache.cassandra.io.util.DataOutputPlus; import org.apache.cassandra.net.MessagingService; import org.apache.cassandra.utils.*; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import static org.apache.cassandra.utils.ByteBufferUtil.bytes; @@ -49,6 +51,8 @@ import static org.apache.cassandra.utils.ByteBufferUtil.bytes; */ public abstract class LegacyLayout { +private static final Logger logger = LoggerFactory.getLogger(LegacyLayout.class); + public final static int MAX_CELL_NAME_LENGTH = FBUtilities.MAX_UNSIGNED_SHORT; public final static int STATIC_PREFIX = 0x; @@ -2199,9 +2203,19 @@ public abstract class LegacyLayout if (size == 0) return; +if (metadata.isCompound()) +serializeCompound(out, metadata.isDense()); +else +serializeSimple(out); +} + +private void serializeCompound(DataOutputPlus out, boolean isDense) throws IOException +{ List types = new ArrayList<>(comparator.clusteringComparator.subtypes()); -if (!metadata.isDense()) + +if (!isDense) types.add(UTF8Type.instance); + CompositeType type = CompositeType.getInstance(types); for (int i = 0; i < size; i++) @@ -2230,6 +2244,30 @@ public abstract class LegacyLayout } } +private void serializeSimple(DataOutputPlus out) throws IOException +{ +List types = new ArrayList<>(comparator.clusteringComparator.subtypes()); +assert types.size() == 1 : types; + +for (int i = 0; i < size; i++) +{ +LegacyBound start = starts[i]; +LegacyBound end = ends[i]; + +ClusteringPrefix startClustering = start.bound.clustering(); +ClusteringPrefix endClustering = end.bound.clustering(); + +assert startClustering.size() == 1; +assert endClustering.size() == 1; + +ByteBufferUtil.writeWithShortLength(startClustering.get(0), out); +ByteBufferUtil.writeWithShortLength(endClustering.get(0), out); + +out.writeInt(delTimes[i]); +out.writeLong(markedAts[i]); +} +} + public long serializedSize(CFMetaData metadata) { long size = 0; @@ -2238,8 +2276,17 @@ public abstract class LegacyLayout if (this.size == 0) return size; +if (metadata.isCompound()) +return size + serializedSizeCompound(metadata.isDense()); +
[2/2] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.7
Merge branch 'cassandra-3.0' into cassandra-3.7 Conflicts: CHANGES.txt Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/40e4b0b0 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/40e4b0b0 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/40e4b0b0 Branch: refs/heads/cassandra-3.7 Commit: 40e4b0b08fc1ffe27e8c0f59234aa496f526fbef Parents: 5fde342 c98b648 Author: Tyler HobbsAuthored: Sun Jun 5 18:29:16 2016 -0500 Committer: Tyler Hobbs Committed: Sun Jun 5 18:29:16 2016 -0500 -- CHANGES.txt | 2 + .../org/apache/cassandra/db/LegacyLayout.java | 77 +++- 2 files changed, 77 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/40e4b0b0/CHANGES.txt -- diff --cc CHANGES.txt index 9e3857b,201a36c..3605752 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,10 -1,8 +1,12 @@@ -3.0.7 +3.7 + * Support multiple folders for user defined compaction tasks (CASSANDRA-11765) + * Fix race in CompactionStrategyManager's pause/resume (CASSANDRA-11922) +Merged from 3.0: + * Fix legacy serialization of Thrift-generated non-compound range tombstones +when communicating with 2.x nodes (CASSANDRA-11930) * Fix Directories instantiations where CFS.initialDirectories should be used (CASSANDRA-11849) * Avoid referencing DatabaseDescriptor in AbstractType (CASSANDRA-11912) + * Don't use static dataDirectories field in Directories instances (CASSANDRA-11647) * Fix sstables not being protected from removal during index build (CASSANDRA-11905) * cqlsh: Suppress stack trace from Read/WriteFailures (CASSANDRA-11032) * Remove unneeded code to repair index summaries that have http://git-wip-us.apache.org/repos/asf/cassandra/blob/40e4b0b0/src/java/org/apache/cassandra/db/LegacyLayout.java --
cassandra git commit: Fix legacy non-compound range tombstone serialization
Repository: cassandra Updated Branches: refs/heads/cassandra-3.0 02f78f658 -> c98b6484e Fix legacy non-compound range tombstone serialization Patch by Tyler Hobbs; reviewed by Aleksey Yeschenko for CASSANDRA-11930 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/c98b6484 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c98b6484 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c98b6484 Branch: refs/heads/cassandra-3.0 Commit: c98b6484e124982b455455c9cd847e0b36d5074b Parents: 02f78f6 Author: Tyler HobbsAuthored: Sun Jun 5 18:27:52 2016 -0500 Committer: Tyler Hobbs Committed: Sun Jun 5 18:27:52 2016 -0500 -- CHANGES.txt | 2 + .../org/apache/cassandra/db/LegacyLayout.java | 77 +++- 2 files changed, 77 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/c98b6484/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 2de1e25..201a36c 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,6 @@ 3.0.7 + * Fix legacy serialization of Thrift-generated non-compound range tombstones + when communicating with 2.x nodes (CASSANDRA-11930) * Fix Directories instantiations where CFS.initialDirectories should be used (CASSANDRA-11849) * Avoid referencing DatabaseDescriptor in AbstractType (CASSANDRA-11912) * Fix sstables not being protected from removal during index build (CASSANDRA-11905) http://git-wip-us.apache.org/repos/asf/cassandra/blob/c98b6484/src/java/org/apache/cassandra/db/LegacyLayout.java -- diff --git a/src/java/org/apache/cassandra/db/LegacyLayout.java b/src/java/org/apache/cassandra/db/LegacyLayout.java index b90151e..495a12a 100644 --- a/src/java/org/apache/cassandra/db/LegacyLayout.java +++ b/src/java/org/apache/cassandra/db/LegacyLayout.java @@ -41,6 +41,8 @@ import org.apache.cassandra.io.util.DataInputPlus; import org.apache.cassandra.io.util.DataOutputPlus; import org.apache.cassandra.net.MessagingService; import org.apache.cassandra.utils.*; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import static org.apache.cassandra.utils.ByteBufferUtil.bytes; @@ -49,6 +51,8 @@ import static org.apache.cassandra.utils.ByteBufferUtil.bytes; */ public abstract class LegacyLayout { +private static final Logger logger = LoggerFactory.getLogger(LegacyLayout.class); + public final static int MAX_CELL_NAME_LENGTH = FBUtilities.MAX_UNSIGNED_SHORT; public final static int STATIC_PREFIX = 0x; @@ -2199,9 +2203,19 @@ public abstract class LegacyLayout if (size == 0) return; +if (metadata.isCompound()) +serializeCompound(out, metadata.isDense()); +else +serializeSimple(out); +} + +private void serializeCompound(DataOutputPlus out, boolean isDense) throws IOException +{ List types = new ArrayList<>(comparator.clusteringComparator.subtypes()); -if (!metadata.isDense()) + +if (!isDense) types.add(UTF8Type.instance); + CompositeType type = CompositeType.getInstance(types); for (int i = 0; i < size; i++) @@ -2230,6 +2244,30 @@ public abstract class LegacyLayout } } +private void serializeSimple(DataOutputPlus out) throws IOException +{ +List types = new ArrayList<>(comparator.clusteringComparator.subtypes()); +assert types.size() == 1 : types; + +for (int i = 0; i < size; i++) +{ +LegacyBound start = starts[i]; +LegacyBound end = ends[i]; + +ClusteringPrefix startClustering = start.bound.clustering(); +ClusteringPrefix endClustering = end.bound.clustering(); + +assert startClustering.size() == 1; +assert endClustering.size() == 1; + +ByteBufferUtil.writeWithShortLength(startClustering.get(0), out); +ByteBufferUtil.writeWithShortLength(endClustering.get(0), out); + +out.writeInt(delTimes[i]); +out.writeLong(markedAts[i]); +} +} + public long serializedSize(CFMetaData metadata) { long size = 0; @@ -2238,8 +2276,17 @@ public abstract class LegacyLayout if (this.size == 0) return size; +if (metadata.isCompound()) +return size + serializedSizeCompound(metadata.isDense()); +
[jira] [Updated] (CASSANDRA-11868) unused imports and generic types
[ https://issues.apache.org/jira/browse/CASSANDRA-11868?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Edward Capriolo updated CASSANDRA-11868: Fix Version/s: 3.8 Status: Patch Available (was: Open) > unused imports and generic types > > > Key: CASSANDRA-11868 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11868 > Project: Cassandra > Issue Type: Improvement >Reporter: Edward Capriolo >Assignee: Edward Capriolo > Fix For: 3.8 > > > I was going through Cassandra source and for busy work I started looking at > all the .java files eclipse flags as warning. They are broken roughly into a > few cases. > 1) unused imports > 2) raw types missing <> > 3) case statements without defaults > 4) @resource annotation > My IDE claims item 4 is not needed (it looks like we have done this to > signify methods that return objects that need to be closed) I can guess 4 was > done intentionally and short of making out own annotation I will ignore these > for now. > I would like to tackle this busy work before I get started. I have some > questions: > 1) Do this only on trunk? or multiple branches > 2) should I tackle 1,2,3 in separate branches/patches -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-11868) unused imports and generic types
[ https://issues.apache.org/jira/browse/CASSANDRA-11868?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15316052#comment-15316052 ] Edward Capriolo commented on CASSANDRA-11868: - Please check here: https://github.com/apache/cassandra/compare/trunk...edwardcapriolo:CASSANDRA-11868?expand=1 > unused imports and generic types > > > Key: CASSANDRA-11868 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11868 > Project: Cassandra > Issue Type: Improvement >Reporter: Edward Capriolo >Assignee: Edward Capriolo > > I was going through Cassandra source and for busy work I started looking at > all the .java files eclipse flags as warning. They are broken roughly into a > few cases. > 1) unused imports > 2) raw types missing <> > 3) case statements without defaults > 4) @resource annotation > My IDE claims item 4 is not needed (it looks like we have done this to > signify methods that return objects that need to be closed) I can guess 4 was > done intentionally and short of making out own annotation I will ignore these > for now. > I would like to tackle this busy work before I get started. I have some > questions: > 1) Do this only on trunk? or multiple branches > 2) should I tackle 1,2,3 in separate branches/patches -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Created] (CASSANDRA-11961) Nonfatal NPE in CompactionMetrics
Robert Stupp created CASSANDRA-11961: Summary: Nonfatal NPE in CompactionMetrics Key: CASSANDRA-11961 URL: https://issues.apache.org/jira/browse/CASSANDRA-11961 Project: Cassandra Issue Type: Bug Reporter: Robert Stupp Priority: Minor Just saw the following NPE on trunk. Means, that {{metaData}} from {{CFMetaData metaData = compaction.getCompactionInfo().getCFMetaData();}} is {{null}}. A simple {{if (metaData == null) continue;}} should fix this. {code} Caused by: java.lang.NullPointerException: null at org.apache.cassandra.metrics.CompactionMetrics$2.getValue(CompactionMetrics.java:103) ~[main/:na] at org.apache.cassandra.metrics.CompactionMetrics$2.getValue(CompactionMetrics.java:78) ~[main/:na] {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Created] (CASSANDRA-11960) Hints are not seekable
Robert Stupp created CASSANDRA-11960: Summary: Hints are not seekable Key: CASSANDRA-11960 URL: https://issues.apache.org/jira/browse/CASSANDRA-11960 Project: Cassandra Issue Type: Bug Reporter: Robert Stupp Got the following error message on trunk. No idea how to reproduce. But the only thing the (not overridden) seek method does is throwing this exception. {code} ERROR [HintsDispatcher:2] 2016-06-05 18:51:09,397 CassandraDaemon.java:222 - Exception in thread Thread[HintsDispatcher:2,1,main] java.lang.UnsupportedOperationException: Hints are not seekable. at org.apache.cassandra.hints.HintsReader.seek(HintsReader.java:114) ~[main/:na] at org.apache.cassandra.hints.HintsDispatcher.seek(HintsDispatcher.java:79) ~[main/:na] at org.apache.cassandra.hints.HintsDispatchExecutor$DispatchHintsTask.deliver(HintsDispatchExecutor.java:257) ~[main/:na] at org.apache.cassandra.hints.HintsDispatchExecutor$DispatchHintsTask.dispatch(HintsDispatchExecutor.java:242) ~[main/:na] at org.apache.cassandra.hints.HintsDispatchExecutor$DispatchHintsTask.dispatch(HintsDispatchExecutor.java:220) ~[main/:na] at org.apache.cassandra.hints.HintsDispatchExecutor$DispatchHintsTask.run(HintsDispatchExecutor.java:199) ~[main/:na] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[na:1.8.0_91] at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_91] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) ~[na:1.8.0_91] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_91] at java.lang.Thread.run(Thread.java:745) [na:1.8.0_91] {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Comment Edited] (CASSANDRA-7622) Implement virtual tables
[ https://issues.apache.org/jira/browse/CASSANDRA-7622?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15315917#comment-15315917 ] Jeff Jirsa edited comment on CASSANDRA-7622 at 6/5/16 3:25 PM: --- Hey [~snazy], really appreciate any feedback. {quote} Don't get me wrong, I really like virtual tables, but I am not a fan of a {{CREATE TABLE}} for metrics - instead, I think it is better to provide predefined, virtual tables for what we have in a "virtual keyspace" like {{system_metrics}} or {{system_management}}. {quote} Totally agree that we should pre-define the tables we care about and will support/maintain in the tree, but even traditional system tables get created by {{CREATE TABLE}} throughout the code base - why would virtual be any different? We can still bake it in by default as we do with {{SchemaKeyspace}} and {{SystemDistributedKeyspace}}, but allowing arbitrary virtual table creation by {{CREATE TABLE}} also lets users create their own. {quote} Some administrative operations probably require additional CQL commands (e.g. {{ALTER SYSTEM DRAIN;}} ). {quote} What you're proposing makes sense, and seems reasonable, but also extends the DDL in ways that may not be necessary - we could alternatively use {{ALTER system_virtual.actions SET drain=true;}} and let whatever virtual table handler controls {{system_virtual.actions}} run drain and shut down, getting the same impact without extending the DDL? was (Author: jjirsa): Hey [~snazy], really appreciate any feedback. {quote} Don't get me wrong, I really like virtual tables, but I am not a fan of a {{CREATE TABLE}} for metrics - instead, I think it is better to provide predefined, virtual tables for what we have in a "virtual keyspace" like {{system_metrics}} or {{system_management}}. {quote} Totally agree that we should pre-define the tables we care about and will support/maintain in the tree, but even traditional system tables get created by {{CREATE TABLE}} throughout the code base - why would virtual be any different? We can still bake it in by default as we do with {{SchemaKeyspace}} and {{SystemDistributedKeyspace}}, but allowing arbitrary virtual table creation by {{CREATE TABLE}} also lets users create their own. {quote} Some administrative operations probably require additional CQL commands (e.g. {{ALTER SYSTEM DRAIN;}} ). {quote} What you're proposing makes sense, and seems reasonable, but also extends the DDL in ways that may not be necessary - we could alternatively use {{ALTER system_virtual.actions SET drain=true; }} and let whatever virtual table handler controls {{system_virtual.actions}} run drain and shut down, getting the same impact without extending the DDL? > Implement virtual tables > > > Key: CASSANDRA-7622 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7622 > Project: Cassandra > Issue Type: Improvement >Reporter: Tupshin Harper >Assignee: Jeff Jirsa > Fix For: 3.x > > > There are a variety of reasons to want virtual tables, which would be any > table that would be backed by an API, rather than data explicitly managed and > stored as sstables. > One possible use case would be to expose JMX data through CQL as a > resurrection of CASSANDRA-3527. > Another is a more general framework to implement the ability to expose yaml > configuration information. So it would be an alternate approach to > CASSANDRA-7370. > A possible implementation would be in terms of CASSANDRA-7443, but I am not > presupposing. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-7622) Implement virtual tables
[ https://issues.apache.org/jira/browse/CASSANDRA-7622?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15315917#comment-15315917 ] Jeff Jirsa commented on CASSANDRA-7622: --- Hey [~snazy], really appreciate any feedback. {quote} Don't get me wrong, I really like virtual tables, but I am not a fan of a {{CREATE TABLE}} for metrics - instead, I think it is better to provide predefined, virtual tables for what we have in a "virtual keyspace" like {{system_metrics}} or {{system_management}}. {quote} Totally agree that we should pre-define the tables we care about and will support/maintain in the tree, but even traditional system tables get created by {{CREATE TABLE}} throughout the code base - why would virtual be any different? We can still bake it in by default as we do with {{SchemaKeyspace}} and {{SystemDistributedKeyspace}}, but allowing arbitrary virtual table creation by {{CREATE TABLE}} also lets users create their own. {quote} Some administrative operations probably require additional CQL commands (e.g. {{ALTER SYSTEM DRAIN;}} ). {quote} What you're proposing makes sense, and seems reasonable, but also extends the DDL in ways that may not be necessary - we could alternatively use {{ALTER system_virtual.actions SET drain=true; }} and let whatever virtual table handler controls {{system_virtual.actions}} run drain and shut down, getting the same impact without extending the DDL? > Implement virtual tables > > > Key: CASSANDRA-7622 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7622 > Project: Cassandra > Issue Type: Improvement >Reporter: Tupshin Harper >Assignee: Jeff Jirsa > Fix For: 3.x > > > There are a variety of reasons to want virtual tables, which would be any > table that would be backed by an API, rather than data explicitly managed and > stored as sstables. > One possible use case would be to expose JMX data through CQL as a > resurrection of CASSANDRA-3527. > Another is a more general framework to implement the ability to expose yaml > configuration information. So it would be an alternate approach to > CASSANDRA-7370. > A possible implementation would be in terms of CASSANDRA-7443, but I am not > presupposing. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-9935) Repair fails with RuntimeException
[ https://issues.apache.org/jira/browse/CASSANDRA-9935?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15315855#comment-15315855 ] mlowicki commented on CASSANDRA-9935: - [~pauloricardomg] any ETA for 2.1.15 release? > Repair fails with RuntimeException > -- > > Key: CASSANDRA-9935 > URL: https://issues.apache.org/jira/browse/CASSANDRA-9935 > Project: Cassandra > Issue Type: Bug > Environment: C* 2.1.8, Debian Wheezy >Reporter: mlowicki >Assignee: Paulo Motta > Fix For: 2.1.15, 3.6, 3.0.6, 2.2.7 > > Attachments: 9935.patch, db1.sync.lati.osa.cassandra.log, > db5.sync.lati.osa.cassandra.log, system.log.10.210.3.117, > system.log.10.210.3.221, system.log.10.210.3.230 > > > We had problems with slow repair in 2.1.7 (CASSANDRA-9702) but after upgrade > to 2.1.8 it started to work faster but now it fails with: > {code} > ... > [2015-07-29 20:44:03,956] Repair session 23a811b0-3632-11e5-a93e-4963524a8bde > for range (-5474076923322749342,-5468600594078911162] finished > [2015-07-29 20:44:03,957] Repair session 336f8740-3632-11e5-a93e-4963524a8bde > for range (-8631877858109464676,-8624040066373718932] finished > [2015-07-29 20:44:03,957] Repair session 4ccd8430-3632-11e5-a93e-4963524a8bde > for range (-5372806541854279315,-5369354119480076785] finished > [2015-07-29 20:44:03,957] Repair session 59f129f0-3632-11e5-a93e-4963524a8bde > for range (8166489034383821955,8168408930184216281] finished > [2015-07-29 20:44:03,957] Repair session 6ae7a9a0-3632-11e5-a93e-4963524a8bde > for range (6084602890817326921,6088328703025510057] finished > [2015-07-29 20:44:03,957] Repair session 8938e4a0-3632-11e5-a93e-4963524a8bde > for range (-781874602493000830,-781745173070807746] finished > [2015-07-29 20:44:03,957] Repair command #4 finished > error: nodetool failed, check server logs > -- StackTrace -- > java.lang.RuntimeException: nodetool failed, check server logs > at > org.apache.cassandra.tools.NodeTool$NodeToolCmd.run(NodeTool.java:290) > at org.apache.cassandra.tools.NodeTool.main(NodeTool.java:202) > {code} > After running: > {code} > nodetool repair --partitioner-range --parallel --in-local-dc sync > {code} > Last records in logs regarding repair are: > {code} > INFO [Thread-173887] 2015-07-29 20:44:03,956 StorageService.java:2952 - > Repair session 09ff9e40-3632-11e5-a93e-4963524a8bde for range > (-7695808664784761779,-7693529816291585568] finished > INFO [Thread-173887] 2015-07-29 20:44:03,956 StorageService.java:2952 - > Repair session 17d8d860-3632-11e5-a93e-4963524a8bde for range > (806371695398849,8065203836608925992] finished > INFO [Thread-173887] 2015-07-29 20:44:03,956 StorageService.java:2952 - > Repair session 23a811b0-3632-11e5-a93e-4963524a8bde for range > (-5474076923322749342,-5468600594078911162] finished > INFO [Thread-173887] 2015-07-29 20:44:03,956 StorageService.java:2952 - > Repair session 336f8740-3632-11e5-a93e-4963524a8bde for range > (-8631877858109464676,-8624040066373718932] finished > INFO [Thread-173887] 2015-07-29 20:44:03,957 StorageService.java:2952 - > Repair session 4ccd8430-3632-11e5-a93e-4963524a8bde for range > (-5372806541854279315,-5369354119480076785] finished > INFO [Thread-173887] 2015-07-29 20:44:03,957 StorageService.java:2952 - > Repair session 59f129f0-3632-11e5-a93e-4963524a8bde for range > (8166489034383821955,8168408930184216281] finished > INFO [Thread-173887] 2015-07-29 20:44:03,957 StorageService.java:2952 - > Repair session 6ae7a9a0-3632-11e5-a93e-4963524a8bde for range > (6084602890817326921,6088328703025510057] finished > INFO [Thread-173887] 2015-07-29 20:44:03,957 StorageService.java:2952 - > Repair session 8938e4a0-3632-11e5-a93e-4963524a8bde for range > (-781874602493000830,-781745173070807746] finished > {code} > but a bit above I see (at least two times in attached log): > {code} > ERROR [Thread-173887] 2015-07-29 20:44:03,853 StorageService.java:2959 - > Repair session 1b07ea50-3608-11e5-a93e-4963524a8bde for range > (5765414319217852786,5781018794516851576] failed with error > org.apache.cassandra.exceptions.RepairException: [repair > #1b07ea50-3608-11e5-a93e-4963524a8bde on sync/entity_by_id2, > (5765414319217852786,5781018794516851576]] Validation failed in /10.195.15.162 > java.util.concurrent.ExecutionException: java.lang.RuntimeException: > org.apache.cassandra.exceptions.RepairException: [repair > #1b07ea50-3608-11e5-a93e-4963524a8bde on sync/entity_by_id2, > (5765414319217852786,5781018794516851576]] Validation failed in /10.195.15.162 > at java.util.concurrent.FutureTask.report(FutureTask.java:122) > [na:1.7.0_80] > at java.util.concurrent.FutureTask.get(FutureTask.java:188) > [na:1.7.0_80] > at >
[jira] [Commented] (CASSANDRA-7622) Implement virtual tables
[ https://issues.apache.org/jira/browse/CASSANDRA-7622?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15315845#comment-15315845 ] Robert Stupp commented on CASSANDRA-7622: - Don't get me wrong, I really like virtual tables, but I am not a fan of a {{CREATE TABLE}} for metrics - instead, I think it is better to provide predefined, virtual tables for what we have in a "virtual keyspace" like {{system_metrics}} or {{system_management}}. Some administrative operations probably require additional CQL commands (e.g. {{ALTER SYSTEM DRAIN;}}). Also, pushing notifications and alerts via the native protocol would be really nice. If we move metrics from JMX and management to CQL, which could be a legit long-term goal IMO, the native-protocol must *always* be available - at least, there must be some "backdoor" that allows access to metrics+management. A virtual table statement like {{UPDATE system_management.native_protocol SET enable=false}} is the C* equivalent of {{pkill -9 sshd}} - not good. There are valid reasons to disable client access while a node is running. Another way to lock yourself out is having expired certificates (should not occur, but does - i'm sure). Additionally, if we have virtual tables, gathering information from the whole cluster, a DC or just a single node would ease a lot of administrative tasks. E.g. {{SELECT seed_nodes FROM system_metrics.config WHERE dc='DC_eu' AND rack='RAC_b'}} or {{ALTER SYSTEM SET enable_native_protocol = true WHERE dc=...}}. Gathering current repair status of the whole cluster using a single SELECT feels nice. That's probably too much to put into a single ticket. Just wanted to leave my thoughts. > Implement virtual tables > > > Key: CASSANDRA-7622 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7622 > Project: Cassandra > Issue Type: Improvement >Reporter: Tupshin Harper >Assignee: Jeff Jirsa > Fix For: 3.x > > > There are a variety of reasons to want virtual tables, which would be any > table that would be backed by an API, rather than data explicitly managed and > stored as sstables. > One possible use case would be to expose JMX data through CQL as a > resurrection of CASSANDRA-3527. > Another is a more general framework to implement the ability to expose yaml > configuration information. So it would be an alternate approach to > CASSANDRA-7370. > A possible implementation would be in terms of CASSANDRA-7443, but I am not > presupposing. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-11959) Clarify error message for loading third party compaction jars
[ https://issues.apache.org/jira/browse/CASSANDRA-11959?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Robert Stupp updated CASSANDRA-11959: - Resolution: Fixed Reviewer: Robert Stupp Status: Resolved (was: Patch Available) +1 Committed as 640bd29473b9375f0511ac83dcd82405da4602f1 to trunk > Clarify error message for loading third party compaction jars > - > > Key: CASSANDRA-11959 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11959 > Project: Cassandra > Issue Type: Bug > Components: Compaction >Reporter: Jeff Jirsa >Assignee: Jeff Jirsa >Priority: Trivial > > Error message in {{CFMetadata.createCompactionStrategy}} references > {{AbstractReplicationStrategy}} instead of {{AbstractCompactionStrategy}} - > trivial string fix. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
cassandra git commit: Clarify error message for loading third party compaction jars
Repository: cassandra Updated Branches: refs/heads/trunk ecaf3b079 -> 640bd2947 Clarify error message for loading third party compaction jars patch by Jeff Jirsa; reviewed by Robert Stupp for CASSANDRA-11959 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/640bd294 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/640bd294 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/640bd294 Branch: refs/heads/trunk Commit: 640bd29473b9375f0511ac83dcd82405da4602f1 Parents: ecaf3b0 Author: Jeff JirsaAuthored: Sun Jun 5 11:38:13 2016 +0200 Committer: Robert Stupp Committed: Sun Jun 5 11:38:13 2016 +0200 -- src/java/org/apache/cassandra/config/CFMetaData.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/640bd294/src/java/org/apache/cassandra/config/CFMetaData.java -- diff --git a/src/java/org/apache/cassandra/config/CFMetaData.java b/src/java/org/apache/cassandra/config/CFMetaData.java index 689e61a..caa2059 100644 --- a/src/java/org/apache/cassandra/config/CFMetaData.java +++ b/src/java/org/apache/cassandra/config/CFMetaData.java @@ -802,7 +802,7 @@ public final class CFMetaData className = className.contains(".") ? className : "org.apache.cassandra.db.compaction." + className; Class strategyClass = FBUtilities.classForName(className, "compaction strategy"); if (!AbstractCompactionStrategy.class.isAssignableFrom(strategyClass)) -throw new ConfigurationException(String.format("Specified compaction strategy class (%s) is not derived from AbstractReplicationStrategy", className)); +throw new ConfigurationException(String.format("Specified compaction strategy class (%s) is not derived from AbstractCompactionStrategy", className)); return strategyClass; }
[jira] [Updated] (CASSANDRA-11959) Clarify error message for loading third party compaction jars
[ https://issues.apache.org/jira/browse/CASSANDRA-11959?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jeff Jirsa updated CASSANDRA-11959: --- Status: Patch Available (was: Open) Trivial patch at https://github.com/jeffjirsa/cassandra/commits/cassandra-11959 > Clarify error message for loading third party compaction jars > - > > Key: CASSANDRA-11959 > URL: https://issues.apache.org/jira/browse/CASSANDRA-11959 > Project: Cassandra > Issue Type: Bug > Components: Compaction >Reporter: Jeff Jirsa >Assignee: Jeff Jirsa >Priority: Trivial > > Error message in {{CFMetadata.createCompactionStrategy}} references > {{AbstractReplicationStrategy}} instead of {{AbstractCompactionStrategy}} - > trivial string fix. -- This message was sent by Atlassian JIRA (v6.3.4#6332)