[jira] [Comment Edited] (CASSANDRA-11955) Impossibly large value displayed for data "load" and "Space used (*):"

2016-06-05 Thread Jeff Jirsa (JIRA)

[ 
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 (*):"

2016-06-05 Thread Jeff Jirsa (JIRA)

[ 
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 (*):"

2016-06-05 Thread Jeff Jirsa (JIRA)

[ 
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

2016-06-05 Thread Edward Capriolo (JIRA)

[ 
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

2016-06-05 Thread dbrosius
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 Brosius 
Authored: 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

2016-06-05 Thread dbrosius
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 Brosius 
Authored: 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

2016-06-05 Thread Tyler Hobbs (JIRA)

 [ 
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

2016-06-05 Thread tylerhobbs
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 Hobbs 
Authored: 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

2016-06-05 Thread tylerhobbs
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 Hobbs 
Authored: 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

2016-06-05 Thread tylerhobbs
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 Hobbs 
Authored: 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

2016-06-05 Thread tylerhobbs
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 Hobbs 
Authored: 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

2016-06-05 Thread tylerhobbs
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 Hobbs 
Authored: 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

2016-06-05 Thread tylerhobbs
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 Hobbs 
Authored: 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

2016-06-05 Thread Edward Capriolo (JIRA)

 [ 
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

2016-06-05 Thread Edward Capriolo (JIRA)

[ 
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

2016-06-05 Thread Robert Stupp (JIRA)
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

2016-06-05 Thread Robert Stupp (JIRA)
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

2016-06-05 Thread Jeff Jirsa (JIRA)

[ 
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

2016-06-05 Thread Jeff Jirsa (JIRA)

[ 
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

2016-06-05 Thread mlowicki (JIRA)

[ 
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

2016-06-05 Thread Robert Stupp (JIRA)

[ 
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

2016-06-05 Thread Robert Stupp (JIRA)

 [ 
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

2016-06-05 Thread snazy
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 Jirsa 
Authored: 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

2016-06-05 Thread Jeff Jirsa (JIRA)

 [ 
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)