[jira] [Created] (CASSANDRA-8683) Incremental repairs broken with early opening of compaction results

2015-01-26 Thread Marcus Eriksson (JIRA)
Marcus Eriksson created CASSANDRA-8683:
--

 Summary: Incremental repairs broken with early opening of 
compaction results
 Key: CASSANDRA-8683
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8683
 Project: Cassandra
  Issue Type: Bug
Reporter: Marcus Eriksson
Assignee: Marcus Eriksson
 Fix For: 2.1.3


Incremental repairs holds a set of the sstables it started the repair on (we 
need to know which sstables were actually validated to be able to anticompact 
them). This includes any tmplink files that existed when the compaction started 
(if we wouldn't include those, we would miss data since we move the start point 
of the existing non-tmplink files)

With CASSANDRA-6916 we swap out those instances with new ones 
(SSTR.cloneWithNewStart / SSTW.openEarly), meaning that the underlying file can 
get deleted even though we hold a reference.

This causes the unit test error: 
http://cassci.datastax.com/job/trunk_utest/1330/testReport/junit/org.apache.cassandra.db.compaction/LeveledCompactionStrategyTest/testValidationMultipleSSTablePerLevel/

(note that it only fails on trunk though, in 2.1 we don't hold references to 
the repairing files for non-incremental repairs, but the bug should exist in 
2.1 as well)



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


[jira] [Commented] (CASSANDRA-8677) rpc_interface and listen_interface generate NPE on startup when specified interface doesn't exist

2015-01-26 Thread Robert Stupp (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8677?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14291843#comment-14291843
 ] 

Robert Stupp commented on CASSANDRA-8677:
-

Mostly LGTM - some minors I'd like to have included in the patch(es):
* would love to see a {{hasMoreElements()}} check before {{*Address = 
addrs.nextElement()}} and throw an appropriate exception
* maybe merge the code {{listen_address}} and {{rpc_address}} into a single 
method - it looks very similar. E.g. {{private static InetAddress 
networkInterfaceFromConfiguration(String confValue, String confField) {\\} }}


 rpc_interface and listen_interface generate NPE on startup when specified 
 interface doesn't exist
 -

 Key: CASSANDRA-8677
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8677
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Ariel Weisberg
Assignee: Ariel Weisberg
 Attachments: 8677-2.1.patch, 8677.patch


 This is just a buggy UI bit.
 Initially the error I got was this which is redundant and not well formatted.
 {noformat}
 ERROR 20:12:55 Exception encountered during startup
 java.lang.ExceptionInInitializerError: null
 Fatal configuration error; unable to start. See log for stacktrace.
   at 
 org.apache.cassandra.config.DatabaseDescriptor.clinit(DatabaseDescriptor.java:108)
  ~[main/:na]
   at 
 org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:122) 
 [main/:na]
   at 
 org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:479)
  [main/:na]
   at 
 org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:571) 
 [main/:na]
 java.lang.ExceptionInInitializerError: null
 Fatal configuration error; unable to start. See log for stacktrace.
   at 
 org.apache.cassandra.config.DatabaseDescriptor.clinit(DatabaseDescriptor.java:108)
   at 
 org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:122)
   at 
 org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:479)
   at 
 org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:571)
 Exception encountered during startup: null
 Fatal configuration error; unable to start. See log for stacktrace.
 ERROR 20:12:55 Exception encountered during startup
 java.lang.ExceptionInInitializerError: null
 Fatal configuration error; unable to start. See log for stacktrace.
   at 
 org.apache.cassandra.config.DatabaseDescriptor.clinit(DatabaseDescriptor.java:108)
  ~[main/:na]
   at 
 org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:122) 
 [main/:na]
   at 
 org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:479)
  [main/:na]
   at 
 org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:571) 
 [main/:na]
 {noformat}
 This has no description of the error that occurred. After logging the 
 exception.
 {noformat}
 java.lang.NullPointerException: null
   at 
 org.apache.cassandra.config.DatabaseDescriptor.applyConfig(DatabaseDescriptor.java:347)
  ~[main/:na]
   at 
 org.apache.cassandra.config.DatabaseDescriptor.clinit(DatabaseDescriptor.java:102)
  ~[main/:na]
   at 
 org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:122) 
 [main/:na]
   at 
 org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:479)
  [main/:na]
   at 
 org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:571) 
 [main/:na]
 {noformat}
 Exceptions thrown in the DatabaseDescriptor should log in a useful way.
 This particular error should generate a message without a stack trace since 
 it is easily recognized.



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


[jira] [Comment Edited] (CASSANDRA-8677) rpc_interface and listen_interface generate NPE on startup when specified interface doesn't exist

2015-01-26 Thread Robert Stupp (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8677?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14291843#comment-14291843
 ] 

Robert Stupp edited comment on CASSANDRA-8677 at 1/26/15 2:07 PM:
--

Mostly LGTM - some minors I'd like to have included in the patch(es):
* would love to see a {{hasMoreElements()}} check before {{*Address = 
addrs.nextElement()}} and throw an appropriate exception
* maybe merge the code {{listen_address}} and {{rpc_address}} into a single 
method - it looks very similar. E.g. {{private static InetAddress 
networkInterfaceFromConfiguration(String confValue, String confField)}}


was (Author: snazy):
Mostly LGTM - some minors I'd like to have included in the patch(es):
* would love to see a {{hasMoreElements()}} check before {{*Address = 
addrs.nextElement()}} and throw an appropriate exception
* maybe merge the code {{listen_address}} and {{rpc_address}} into a single 
method - it looks very similar. E.g. {{private static InetAddress 
networkInterfaceFromConfiguration(String confValue, String confField) ... }}


 rpc_interface and listen_interface generate NPE on startup when specified 
 interface doesn't exist
 -

 Key: CASSANDRA-8677
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8677
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Ariel Weisberg
Assignee: Ariel Weisberg
 Attachments: 8677-2.1.patch, 8677.patch


 This is just a buggy UI bit.
 Initially the error I got was this which is redundant and not well formatted.
 {noformat}
 ERROR 20:12:55 Exception encountered during startup
 java.lang.ExceptionInInitializerError: null
 Fatal configuration error; unable to start. See log for stacktrace.
   at 
 org.apache.cassandra.config.DatabaseDescriptor.clinit(DatabaseDescriptor.java:108)
  ~[main/:na]
   at 
 org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:122) 
 [main/:na]
   at 
 org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:479)
  [main/:na]
   at 
 org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:571) 
 [main/:na]
 java.lang.ExceptionInInitializerError: null
 Fatal configuration error; unable to start. See log for stacktrace.
   at 
 org.apache.cassandra.config.DatabaseDescriptor.clinit(DatabaseDescriptor.java:108)
   at 
 org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:122)
   at 
 org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:479)
   at 
 org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:571)
 Exception encountered during startup: null
 Fatal configuration error; unable to start. See log for stacktrace.
 ERROR 20:12:55 Exception encountered during startup
 java.lang.ExceptionInInitializerError: null
 Fatal configuration error; unable to start. See log for stacktrace.
   at 
 org.apache.cassandra.config.DatabaseDescriptor.clinit(DatabaseDescriptor.java:108)
  ~[main/:na]
   at 
 org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:122) 
 [main/:na]
   at 
 org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:479)
  [main/:na]
   at 
 org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:571) 
 [main/:na]
 {noformat}
 This has no description of the error that occurred. After logging the 
 exception.
 {noformat}
 java.lang.NullPointerException: null
   at 
 org.apache.cassandra.config.DatabaseDescriptor.applyConfig(DatabaseDescriptor.java:347)
  ~[main/:na]
   at 
 org.apache.cassandra.config.DatabaseDescriptor.clinit(DatabaseDescriptor.java:102)
  ~[main/:na]
   at 
 org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:122) 
 [main/:na]
   at 
 org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:479)
  [main/:na]
   at 
 org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:571) 
 [main/:na]
 {noformat}
 Exceptions thrown in the DatabaseDescriptor should log in a useful way.
 This particular error should generate a message without a stack trace since 
 it is easily recognized.



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


[jira] [Comment Edited] (CASSANDRA-8677) rpc_interface and listen_interface generate NPE on startup when specified interface doesn't exist

2015-01-26 Thread Robert Stupp (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8677?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14291843#comment-14291843
 ] 

Robert Stupp edited comment on CASSANDRA-8677 at 1/26/15 2:06 PM:
--

Mostly LGTM - some minors I'd like to have included in the patch(es):
* would love to see a {{hasMoreElements()}} check before {{*Address = 
addrs.nextElement()}} and throw an appropriate exception
* maybe merge the code {{listen_address}} and {{rpc_address}} into a single 
method - it looks very similar. E.g. {{private static InetAddress 
networkInterfaceFromConfiguration(String confValue, String confField) ... }}



was (Author: snazy):
Mostly LGTM - some minors I'd like to have included in the patch(es):
* would love to see a {{hasMoreElements()}} check before {{*Address = 
addrs.nextElement()}} and throw an appropriate exception
* maybe merge the code {{listen_address}} and {{rpc_address}} into a single 
method - it looks very similar. E.g. {{private static InetAddress 
networkInterfaceFromConfiguration(String confValue, String confField) {\\} }}


 rpc_interface and listen_interface generate NPE on startup when specified 
 interface doesn't exist
 -

 Key: CASSANDRA-8677
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8677
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Ariel Weisberg
Assignee: Ariel Weisberg
 Attachments: 8677-2.1.patch, 8677.patch


 This is just a buggy UI bit.
 Initially the error I got was this which is redundant and not well formatted.
 {noformat}
 ERROR 20:12:55 Exception encountered during startup
 java.lang.ExceptionInInitializerError: null
 Fatal configuration error; unable to start. See log for stacktrace.
   at 
 org.apache.cassandra.config.DatabaseDescriptor.clinit(DatabaseDescriptor.java:108)
  ~[main/:na]
   at 
 org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:122) 
 [main/:na]
   at 
 org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:479)
  [main/:na]
   at 
 org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:571) 
 [main/:na]
 java.lang.ExceptionInInitializerError: null
 Fatal configuration error; unable to start. See log for stacktrace.
   at 
 org.apache.cassandra.config.DatabaseDescriptor.clinit(DatabaseDescriptor.java:108)
   at 
 org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:122)
   at 
 org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:479)
   at 
 org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:571)
 Exception encountered during startup: null
 Fatal configuration error; unable to start. See log for stacktrace.
 ERROR 20:12:55 Exception encountered during startup
 java.lang.ExceptionInInitializerError: null
 Fatal configuration error; unable to start. See log for stacktrace.
   at 
 org.apache.cassandra.config.DatabaseDescriptor.clinit(DatabaseDescriptor.java:108)
  ~[main/:na]
   at 
 org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:122) 
 [main/:na]
   at 
 org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:479)
  [main/:na]
   at 
 org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:571) 
 [main/:na]
 {noformat}
 This has no description of the error that occurred. After logging the 
 exception.
 {noformat}
 java.lang.NullPointerException: null
   at 
 org.apache.cassandra.config.DatabaseDescriptor.applyConfig(DatabaseDescriptor.java:347)
  ~[main/:na]
   at 
 org.apache.cassandra.config.DatabaseDescriptor.clinit(DatabaseDescriptor.java:102)
  ~[main/:na]
   at 
 org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:122) 
 [main/:na]
   at 
 org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:479)
  [main/:na]
   at 
 org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:571) 
 [main/:na]
 {noformat}
 Exceptions thrown in the DatabaseDescriptor should log in a useful way.
 This particular error should generate a message without a stack trace since 
 it is easily recognized.



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


[jira] [Created] (CASSANDRA-8682) BulkRecordWriter ends up streaming with non-unique session IDs on large hadoop cluster

2015-01-26 Thread Erik Forsberg (JIRA)
Erik Forsberg created CASSANDRA-8682:


 Summary: BulkRecordWriter ends up streaming with non-unique 
session IDs on large hadoop cluster
 Key: CASSANDRA-8682
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8682
 Project: Cassandra
  Issue Type: Bug
  Components: Hadoop
Reporter: Erik Forsberg
 Attachments: cassandra-1.2-bulkrecordwriter-sessionid.patch

We use BulkOutputFormat extensively to load data from hadoop to Cassandra. We 
are currently running Cassandra 1.2.18, but are planning an upgrade of 
Cassandra to 2.0.X, possibly 2.1.X.

With Cassandra 1.2 we have problems with the streaming session IDs getting 
duplicated when multiple (20+) java processes start to do streaming at the same 
time. On the receiving cassandra node, having the same session ID actually 
correspond to different sending processing would confuse things a lot, leading 
to aborted connections. 

This would not happen for every process, but often enough to be a problem in 
production environment. So it was a bit tricky to test.

Suspecting this have to do with how UUIDs are generated on the sending (hadoop 
side). With 20+ processes being started concurrently, the clockSeqAndNode part 
of the uuid1 probably ended up being exactly the same on all 20 processes. 

I wrote a patch which I unfortunately never submitted at the time, but it's 
attached to this issue. The patch constructs a UUID from the map or reduce task 
ID, which is guaranteed to be unique per hadoop cluster.

I suspect we're going to face the same issue on Cassandra 2.0 and 2.1, even 
after the rewrite of the streaming subsystem. Please correct me if I'm wrong, 
i.e. if there's something in the new code that will make this a non-issue.

Now the question is how to address this problem. Possible options that I see 
after some code reading:

1. Update patch to apply on 2.0 and 2.1, using same method (generating UUID 
from hadoop task ID)
2. Modify UUIDGen code to use java process pid as clockSeq instead of random 
number. However, getting the pid in java seems less than simple (and remember 
that this is code that runs on the hadoop size of things, not inside cassandra 
daemon)
3. This patch might help:

{noformat}
diff --git a/src/java/org/apache/cassandra/utils/UUIDGen.java 
b/src/java/org/apache/cassandra/utils/UUIDGen.java
index f385744..ae253ab 100644
--- a/src/java/org/apache/cassandra/utils/UUIDGen.java
+++ b/src/java/org/apache/cassandra/utils/UUIDGen.java
@@ -234,7 +234,7 @@ public class UUIDGen
 
 private static long makeClockSeqAndNode()
 {
-long clock = new Random(System.currentTimeMillis()).nextLong();
+long clock = new Random().nextLong();
 
 long lsb = 0;
 lsb |= 0x8000L; // variant (2 bits)
{noformat}

..but I don't know the reason System.currentTimeMillis() is being used.

Opinions?



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


[jira] [Commented] (CASSANDRA-8683) Incremental repairs broken with early opening of compaction results

2015-01-26 Thread Benedict (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8683?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14291873#comment-14291873
 ] 

Benedict commented on CASSANDRA-8683:
-

I'm a little confused by the description: if it holds a reference, it shouldn't 
delete the file. Is it possible it's releasing its reference early somehow?

 Incremental repairs broken with early opening of compaction results
 ---

 Key: CASSANDRA-8683
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8683
 Project: Cassandra
  Issue Type: Bug
Reporter: Marcus Eriksson
Assignee: Marcus Eriksson
 Fix For: 2.1.3


 Incremental repairs holds a set of the sstables it started the repair on (we 
 need to know which sstables were actually validated to be able to anticompact 
 them). This includes any tmplink files that existed when the compaction 
 started (if we wouldn't include those, we would miss data since we move the 
 start point of the existing non-tmplink files)
 With CASSANDRA-6916 we swap out those instances with new ones 
 (SSTR.cloneWithNewStart / SSTW.openEarly), meaning that the underlying file 
 can get deleted even though we hold a reference.
 This causes the unit test error: 
 http://cassci.datastax.com/job/trunk_utest/1330/testReport/junit/org.apache.cassandra.db.compaction/LeveledCompactionStrategyTest/testValidationMultipleSSTablePerLevel/
 (note that it only fails on trunk though, in 2.1 we don't hold references to 
 the repairing files for non-incremental repairs, but the bug should exist in 
 2.1 as well)



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


[jira] [Commented] (CASSANDRA-8613) Regression in mixed single and multi-column relation support

2015-01-26 Thread Jared Gray (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8613?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14291884#comment-14291884
 ] 

Jared Gray commented on CASSANDRA-8613:
---

I originally worked with Hobbs to open this issue. I've linked to a design 
document below, describing our internal use of multi-column relations in 
Cassandra. Though all of these queries worked in version 2.0.6, many have 
broken since Cassandra 2.0.9. 

[Paging and Filtering with Apache 
Cassandra|https://www.ibm.com/developerworks/community/wikis/home?lang=en#!/wiki/Wf96854c0c8fc_4762_9b83_c6247feca5fc/page/Paging%20and%20Filtering%20with%20Apache%20Cassandra]

 Regression in mixed single and multi-column relation support
 

 Key: CASSANDRA-8613
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8613
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Tyler Hobbs
Assignee: Benjamin Lerer
 Fix For: 2.1.3, 2.0.13


 In 2.0.6 through 2.0.8, a query like the following was supported:
 {noformat}
 SELECT * FROM mytable WHERE clustering_0 = ? AND (clustering_1, clustering_2) 
  (?, ?)
 {noformat}
 However, after CASSANDRA-6875, you'll get the following error:
 {noformat}
 Clustering columns may not be skipped in multi-column relations. They should 
 appear in the PRIMARY KEY order. Got (c, d)  (0, 0)
 {noformat}



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


[jira] [Commented] (CASSANDRA-8683) Incremental repairs broken with early opening of compaction results

2015-01-26 Thread Marcus Eriksson (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8683?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14291895#comment-14291895
 ] 

Marcus Eriksson commented on CASSANDRA-8683:


from irc:
{noformat}
15:27  marcuse belliottsmith: we create a new sstable reader over the same 
file, the reference counter is not transfered to the new file, so if i bump the 
reference count on the file i hold a reference to, it will not affect the 
latest one
15:27  marcuse does it make sense/
15:27  marcuse * transfered to the new SSTR instance
15:28  belliottsmith but you should have taken a reference against the one 
you're using, no?
15:28  marcuse belliottsmith: no, we don't want to hold references during the 
whole duration of the repair (hours)
15:28  belliottsmith each instance is distinct, but so long as you take a 
reference against the one you're using, it shouldn't be a problem...
15:28  marcuse so, if a file is gone, we simply remove it from the set and 
dont anticompact it
15:29  belliottsmith ah
15:29  belliottsmith hmm. that is tricky, since we need to repeatedly refetch 
the set of files we want to use, since we could have new data replacing it as 
well, surely?
15:30  belliottsmith i don't really see a way around holding a reference for 
the lifetime of the repair. but if we stream oldest files first we can drop 
references to them as we go, no?
15:30  marcuse no, for incremental repairs we repair best-effort, if a file 
is gone, it means it has been compacted away and will get repaired next time 
around
15:31  belliottsmith so where/when do we grab our reference to the sstable 
then?
15:31  belliottsmith because in that case it sounds like we should simply be 
failing to grab our reference count
15:31  marcuse 
https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/service/ActiveRepairService.java#L409
15:32  marcuse and yes, we probably should fail, but we don't
15:32  belliottsmith that code looks a bit odd. why do we check for data 
component first? shouldn't an attempt to acquire the ref be sufficient? 
(clearly it isn't here though, since it's not removing it from the set)
15:33  marcuse yes, it should, but i don't think we decrease ref count when 
we replace an instance?
15:34  marcuse ie, when we open early and have a new instance, we should 
decrease the reference on the old file
15:34  marcuse *old instance\
15:34  belliottsmith we have to
15:34  belliottsmith otherwise it would never get deleted
15:34  marcuse but its the same underlying file right? it will get deleted by 
the new instance
15:34  belliottsmith if we don't that's definitely a bug, but i'm pretty sure 
we do
15:34  belliottsmith but lifetimes don't expire in order necessarily
15:35  belliottsmith so the older files ref count to zero, then remove 
themselves from the linked-list of replacements
15:35  belliottsmith if there's nobody left, they delete the file
15:36  belliottsmith this all is in dire need of cleaning up in 8568
{noformat}

 Incremental repairs broken with early opening of compaction results
 ---

 Key: CASSANDRA-8683
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8683
 Project: Cassandra
  Issue Type: Bug
Reporter: Marcus Eriksson
Assignee: Marcus Eriksson
 Fix For: 2.1.3


 Incremental repairs holds a set of the sstables it started the repair on (we 
 need to know which sstables were actually validated to be able to anticompact 
 them). This includes any tmplink files that existed when the compaction 
 started (if we wouldn't include those, we would miss data since we move the 
 start point of the existing non-tmplink files)
 With CASSANDRA-6916 we swap out those instances with new ones 
 (SSTR.cloneWithNewStart / SSTW.openEarly), meaning that the underlying file 
 can get deleted even though we hold a reference.
 This causes the unit test error: 
 http://cassci.datastax.com/job/trunk_utest/1330/testReport/junit/org.apache.cassandra.db.compaction/LeveledCompactionStrategyTest/testValidationMultipleSSTablePerLevel/
 (note that it only fails on trunk though, in 2.1 we don't hold references to 
 the repairing files for non-incremental repairs, but the bug should exist in 
 2.1 as well)



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


[jira] [Commented] (CASSANDRA-8574) Gracefully degrade SELECT when there are lots of tombstones

2015-01-26 Thread Brandon Williams (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8574?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14291814#comment-14291814
 ] 

Brandon Williams commented on CASSANDRA-8574:
-

Yeah, I think it would at least have to return the last tombstone or row 
encountered, and somehow indicate if it was returning a result, or merely a 
tombstone.

 Gracefully degrade SELECT when there are lots of tombstones
 ---

 Key: CASSANDRA-8574
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8574
 Project: Cassandra
  Issue Type: Improvement
Reporter: Jens Rantil
 Fix For: 3.0


 *Background:* There's lots of tooling out there to do BigData analysis on 
 Cassandra clusters. Examples are Spark and Hadoop, which is offered by DSE. 
 The problem with both of these so far, is that a single partition key with 
 too many tombstones can make the query job fail hard.
 The described scenario happens despite the user setting a rather small 
 FetchSize. I assume this is a common scenario if you have larger rows.
 *Proposal:* To allow a CQL SELECT to gracefully degrade to only return a 
 smaller batch of results if there are too many tombstones. The tombstones are 
 ordered according to clustering key and one should be able to page through 
 them. Potentially:
 SELECT * FROM mytable LIMIT 1000 TOMBSTONES;
 would page through maximum 1000 tombstones, _or_ 1000 (CQL) rows.
 I understand that this obviously would degrade performance, but it would at 
 least yield a result.
 *Additional comment:* I haven't dug into Cassandra code, but conceptually I 
 guess this would be doable. Let me know what you think.



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


[jira] [Created] (CASSANDRA-8684) Replace usage of Adler32 with CRC32

2015-01-26 Thread Ariel Weisberg (JIRA)
Ariel Weisberg created CASSANDRA-8684:
-

 Summary: Replace usage of Adler32 with CRC32
 Key: CASSANDRA-8684
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8684
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Ariel Weisberg
 Attachments: CRCBenchmark.java, PureJavaCrc32.java

I could not find a situation in which Adler32 outperformed PureJavaCrc32 much 
less the intrinsic from Java 8. For small allocations PureJavaCrc32 was much 
faster probably due to the JNI overhead of invoking the native Adler32 
implementation where the array has to be allocated and copied.

I tested on a 65w Sandy Bridge i5 running Ubuntu 14.04 with JDK 1.7.0_71 as 
well as a c3.8xlarge running Ubuntu 14.04.

I think it makes sense to stop using Adler32 when generating new checksums.

c3.8xlarge, results are time in milliseconds, lower is better
||Allocation size|Adler32|CRC32|PureJavaCrc32||
|64|47636|46075|25782|
|128|36755|36712|23782|
|256|31194|32211|22731|
|1024|27194|28792|22010|
|1048576|25941|27807|21808|
|536870912|25957|27840|21836|

i5
||Allocation size|Adler32|CRC32|PureJavaCrc32||
|64|50539|50466|26826|
|128|37092|38533|24553|
|256|30630|32938|23459|
|1024|26064|29079|22592|
|1048576|24357|27911|22481|
|536870912|24838|28360|22853|

Another fun fact. Performance of the CRC32 intrinsic appears to double from 
Sandy Bridge - Haswell. Unless I am measuring something different when going 
from Linux/Sandy to Haswell/OS X.

The intrinsic/JDK 8 implementation also operates against DirectByteBuffers 
better and coding against the wrapper will get that boost when run with Java 8.




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


[jira] [Created] (CASSANDRA-8685) Consider upgrade to thrift 0.9.2 (or later)

2015-01-26 Thread Adam Hattrell (JIRA)
Adam Hattrell created CASSANDRA-8685:


 Summary: Consider upgrade to thrift 0.9.2 (or later)
 Key: CASSANDRA-8685
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8685
 Project: Cassandra
  Issue Type: Bug
Reporter: Adam Hattrell


Folks using Astyanax and the like are subject to  
https://issues.apache.org/jira/browse/THRIFT-1457 and may run into heap 
pressure on the Cassandra side for larger read request, as thrift doesn't reset 
its internal buffer.  This can lead to larger TFramedTransport instances will 
be kept on the heap.

I've seen at least one situation where this has saved around 1Gb of heap space 
on average.  



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


[jira] [Commented] (CASSANDRA-8683) Incremental repairs broken with early opening of compaction results

2015-01-26 Thread Alan Boudreault (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8683?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14291991#comment-14291991
 ] 

Alan Boudreault commented on CASSANDRA-8683:


related to CASSANDRA-8366 ?

 Incremental repairs broken with early opening of compaction results
 ---

 Key: CASSANDRA-8683
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8683
 Project: Cassandra
  Issue Type: Bug
Reporter: Marcus Eriksson
Assignee: Marcus Eriksson
 Fix For: 2.1.3


 Incremental repairs holds a set of the sstables it started the repair on (we 
 need to know which sstables were actually validated to be able to anticompact 
 them). This includes any tmplink files that existed when the compaction 
 started (if we wouldn't include those, we would miss data since we move the 
 start point of the existing non-tmplink files)
 With CASSANDRA-6916 we swap out those instances with new ones 
 (SSTR.cloneWithNewStart / SSTW.openEarly), meaning that the underlying file 
 can get deleted even though we hold a reference.
 This causes the unit test error: 
 http://cassci.datastax.com/job/trunk_utest/1330/testReport/junit/org.apache.cassandra.db.compaction/LeveledCompactionStrategyTest/testValidationMultipleSSTablePerLevel/
 (note that it only fails on trunk though, in 2.1 we don't hold references to 
 the repairing files for non-incremental repairs, but the bug should exist in 
 2.1 as well)



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


[jira] [Comment Edited] (CASSANDRA-8613) Regression in mixed single and multi-column relation support

2015-01-26 Thread Benjamin Lerer (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8613?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14288158#comment-14288158
 ] 

Benjamin Lerer edited comment on CASSANDRA-8613 at 1/26/15 4:29 PM:


The reason, I think, why it is not cover is that we never intended to support 
this type of query. It is a side effect of how multi-column relations were 
originally developed. In the following versions we implemented some checks to 
prevent the mix of single column and multi-column relations on the clustering 
keys. The refactoring of {{SelectStatement}} in CASSANDRA-7981 has enforced 
even more that constraint in the code.
Overall, I agree with [~thobbs] that this query make sense and that we should 
support it. It is just not an easy thing to do on the current code.


was (Author: blerer):
The reason, I think, while it is not cover is that we never intended to support 
this type of query. It is a side effect of how multi-column relations were 
originally developed. In the following versions we implemented some check to 
prevent the mix of single column and multi column relation on the clustering 
keys. The refactoring of {{SelectStatement}} in CASSANDRA-7981 has enforced 
even more that constraint in the code.
Overall, I agree with [~thobbs] that this query make sense and that we should 
support it. It is just not an easy thing to do on the current code.

 Regression in mixed single and multi-column relation support
 

 Key: CASSANDRA-8613
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8613
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Tyler Hobbs
Assignee: Benjamin Lerer
 Fix For: 2.1.3, 2.0.13


 In 2.0.6 through 2.0.8, a query like the following was supported:
 {noformat}
 SELECT * FROM mytable WHERE clustering_0 = ? AND (clustering_1, clustering_2) 
  (?, ?)
 {noformat}
 However, after CASSANDRA-6875, you'll get the following error:
 {noformat}
 Clustering columns may not be skipped in multi-column relations. They should 
 appear in the PRIMARY KEY order. Got (c, d)  (0, 0)
 {noformat}



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


[jira] [Commented] (CASSANDRA-8613) Regression in mixed single and multi-column relation support

2015-01-26 Thread Benjamin Lerer (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8613?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14292043#comment-14292043
 ] 

Benjamin Lerer commented on CASSANDRA-8613:
---

[~jgray] Thanks for the link.

I understand your problem. It is a perfectly valid issue and I will fix the 
regression.

In my previous comment, I was just trying to explain why we did not have some 
tests for this type of query and the problems behind this issue.

 Regression in mixed single and multi-column relation support
 

 Key: CASSANDRA-8613
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8613
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Tyler Hobbs
Assignee: Benjamin Lerer
 Fix For: 2.1.3, 2.0.13


 In 2.0.6 through 2.0.8, a query like the following was supported:
 {noformat}
 SELECT * FROM mytable WHERE clustering_0 = ? AND (clustering_1, clustering_2) 
  (?, ?)
 {noformat}
 However, after CASSANDRA-6875, you'll get the following error:
 {noformat}
 Clustering columns may not be skipped in multi-column relations. They should 
 appear in the PRIMARY KEY order. Got (c, d)  (0, 0)
 {noformat}



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


[jira] [Created] (CASSANDRA-8686) Introduce Latency Target for Stress

2015-01-26 Thread jonathan lacefield (JIRA)
jonathan lacefield created CASSANDRA-8686:
-

 Summary: Introduce Latency Target for Stress
 Key: CASSANDRA-8686
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8686
 Project: Cassandra
  Issue Type: Improvement
Reporter: jonathan lacefield
Priority: Minor


This item is a request to add a latency target to the rate option for the new 
stress tool.  The goal of the latency target would be to provide a guideline 
for SLAs to the stress tool so the stress tool can determine threads and 
throughputs that can be sustained while meeting the SLA targets.

For example:

cassandra-stress [options/commands] -rate latency p90=5 p95=10 p99=100

The outcome of this command would be a stress execution that would gradually 
increase threads, and hence throughput (trans/sec), until the latency profile 
can no longer be satisfied with the current workload (yaml file definition) 
and/or cluster.  This would provide a ceiling for throughput and connections 
for the given cluster, workload, and SLA profile.



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


[jira] [Commented] (CASSANDRA-8687) Keyspace should also check Config.isClientMode

2015-01-26 Thread Brandon Williams (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8687?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14292333#comment-14292333
 ] 

Brandon Williams commented on CASSANDRA-8687:
-

Note that whoever commits this should merge -s ours when merging to trunk since 
client mode does not exist there.

 Keyspace should also check Config.isClientMode
 --

 Key: CASSANDRA-8687
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8687
 Project: Cassandra
  Issue Type: Bug
  Components: Core, Tools
Reporter: Jeremiah Jordan
Priority: Minor
 Fix For: 2.1.3, 2.0.13

 Attachments: 
 0001-Fix-isClientMode-check-in-Keyspace-to-also-check-Confi.txt


 Keyspace static init code should check Config.isClientMode as well as 
 checking StorageService.instance.isClientMode() before trying to make 
 directories.



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


[jira] [Issue Comment Deleted] (CASSANDRA-8687) Keyspace should also check Config.isClientMode

2015-01-26 Thread Jeremiah Jordan (JIRA)

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

Jeremiah Jordan updated CASSANDRA-8687:
---
Comment: was deleted

(was: Patch for trunk)

 Keyspace should also check Config.isClientMode
 --

 Key: CASSANDRA-8687
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8687
 Project: Cassandra
  Issue Type: Bug
  Components: Core, Tools
Reporter: Jeremiah Jordan
Priority: Minor
 Fix For: 2.1.3, 2.0.13

 Attachments: 
 0001-Fix-isClientMode-check-in-Keyspace-to-also-check-Confi.txt


 Keyspace static init code should check Config.isClientMode as well as 
 checking StorageService.instance.isClientMode() before trying to make 
 directories.



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


[jira] [Commented] (CASSANDRA-8651) Add support for running on Apache Mesos

2015-01-26 Thread Sylvain Lebresne (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8651?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14291805#comment-14291805
 ] 

Sylvain Lebresne commented on CASSANDRA-8651:
-

bq. There's also a question of whether or not it makes sense to have the 
executor code live in the Cassandra tree

If it's developped and maintained by the folks at Mesosphere (and only useful 
to Mesos users), then I think it makes more sense to have it live in the Mesos 
tree. But I'm happy to defer the discussion to when said executor exists.

 Add support for running on Apache Mesos
 ---

 Key: CASSANDRA-8651
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8651
 Project: Cassandra
  Issue Type: Task
Reporter: Ben Whitehead
Assignee: Albert P Tobey
Priority: Minor
 Fix For: 3.0


 As a user of Apache Mesos I would like to be able to run Cassandra on my 
 Mesos cluster. This would entail integration of Cassandra on Mesos through 
 the creation of a production level Mesos framework. This would enable me to 
 avoid static partitioning and inefficiencies and run Cassandra as part of my 
 data center infrastructure.
 http://mesos.apache.org/documentation/latest/



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


[jira] [Commented] (CASSANDRA-8683) Incremental repairs broken with early opening of compaction results

2015-01-26 Thread Marcus Eriksson (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8683?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14291865#comment-14291865
 ] 

Marcus Eriksson commented on CASSANDRA-8683:


cc [~benedict]

 Incremental repairs broken with early opening of compaction results
 ---

 Key: CASSANDRA-8683
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8683
 Project: Cassandra
  Issue Type: Bug
Reporter: Marcus Eriksson
Assignee: Marcus Eriksson
 Fix For: 2.1.3


 Incremental repairs holds a set of the sstables it started the repair on (we 
 need to know which sstables were actually validated to be able to anticompact 
 them). This includes any tmplink files that existed when the compaction 
 started (if we wouldn't include those, we would miss data since we move the 
 start point of the existing non-tmplink files)
 With CASSANDRA-6916 we swap out those instances with new ones 
 (SSTR.cloneWithNewStart / SSTW.openEarly), meaning that the underlying file 
 can get deleted even though we hold a reference.
 This causes the unit test error: 
 http://cassci.datastax.com/job/trunk_utest/1330/testReport/junit/org.apache.cassandra.db.compaction/LeveledCompactionStrategyTest/testValidationMultipleSSTablePerLevel/
 (note that it only fails on trunk though, in 2.1 we don't hold references to 
 the repairing files for non-incremental repairs, but the bug should exist in 
 2.1 as well)



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


[jira] [Commented] (CASSANDRA-8268) Token serialization should not assume all tokens are created by the database partitioner

2015-01-26 Thread Aleksey Yeschenko (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8268?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14292215#comment-14292215
 ] 

Aleksey Yeschenko commented on CASSANDRA-8268:
--

I'm assuming that this is stuck for lack of a reviewer. If so, I'll take it. 
Can you rebase for latest trunk?

 Token serialization should not assume all tokens are created by the database 
 partitioner
 

 Key: CASSANDRA-8268
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8268
 Project: Cassandra
  Issue Type: Bug
Reporter: Branimir Lambov
Assignee: Branimir Lambov
Priority: Minor
 Attachments: 8268.patch


 This is also a hidden reference to StorageService.getPartitioner within 
 Token, but this needs to be handled more carefully as we need to check 
 whether tokens serialized with the wrong partitioner could be present in user 
 data.



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


[jira] [Updated] (CASSANDRA-8268) Token serialization should not assume all tokens are created by the database partitioner

2015-01-26 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko updated CASSANDRA-8268:
-
Reviewer: Aleksey Yeschenko

 Token serialization should not assume all tokens are created by the database 
 partitioner
 

 Key: CASSANDRA-8268
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8268
 Project: Cassandra
  Issue Type: Bug
Reporter: Branimir Lambov
Assignee: Branimir Lambov
Priority: Minor
 Attachments: 8268.patch


 This is also a hidden reference to StorageService.getPartitioner within 
 Token, but this needs to be handled more carefully as we need to check 
 whether tokens serialized with the wrong partitioner could be present in user 
 data.



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


[jira] [Updated] (CASSANDRA-8623) sstablesplit fails *randomly* with Data component is missing

2015-01-26 Thread Alan Boudreault (JIRA)

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

Alan Boudreault updated CASSANDRA-8623:
---
Attachment: output2.log

[~krummas] Tried the patch. I'm now getting this exception: 

{code}
ERROR 18:23:48 Error in ThreadPoolExecutor
java.util.concurrent.RejectedExecutionException: ThreadPoolExecutor has shut 
down
at 
org.apache.cassandra.concurrent.DebuggableThreadPoolExecutor$1.rejectedExecution(DebuggableThreadPoolExecutor.java:61)
 ~[main/:na]
at 
java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:821) 
~[na:1.7.0_72]
at 
java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1372) 
~[na:1.7.0_72]
at 
org.apache.cassandra.concurrent.DebuggableThreadPoolExecutor.execute(DebuggableThreadPoolExecutor.java:150)
 ~[main/:na]
at 
java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:110)
 ~[na:1.7.0_72]
at 
org.apache.cassandra.db.compaction.CompactionManager.submitBackground(CompactionManager.java:183)
 ~[main/:na]
at 
org.apache.cassandra.db.compaction.CompactionManager$BackgroundCompactionTask.run(CompactionManager.java:239)
 ~[main/:na]
at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
~[na:1.7.0_72]
at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
~[na:1.7.0_72]
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
~[na:1.7.0_72]
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
[na:1.7.0_72]
at java.lang.Thread.run(Thread.java:745) [na:1.7.0_72]
{code}

See output2.log for more information.

 sstablesplit fails *randomly* with Data component is missing
 

 Key: CASSANDRA-8623
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8623
 Project: Cassandra
  Issue Type: Bug
Reporter: Alan Boudreault
Assignee: Marcus Eriksson
 Attachments: 
 0001-make-sure-we-finish-compactions-before-waiting-for-d.patch, output.log, 
 output2.log


 I'm experiencing an issue related to sstablesplit. I would like to understand 
 if I am doing something wrong or there is an issue in the split process. The 
 process fails randomly with the following exception:
 {code}
 ERROR 02:17:36 Error in ThreadPoolExecutor
 java.lang.AssertionError: Data component is missing for 
 sstable./tools/bin/../../data/data/system/compactions_in_progress-55080ab05d9c388690a4acb25fe1f77b/system-compactions_in_progress-ka-16
 {code}
 See attached output.log file. The process never stops after this exception 
 and I've also seen the dataset growing indefinitely (number of sstables).  
 * I have not been able to reproduce the issue with a single sstablesplit 
 command. ie, specifying all files with glob matching.
 * I can reproduce the bug if I call multiple sstablesplit one file at the 
 time (the way ccm does)
 Here is the test case file to reproduce the bug:
 https://drive.google.com/file/d/0BwZ_GPM33j6KdVh0NTdkOWV2R1E/view?usp=sharing
 1. Download the split_issue.tar.gz file. It includes latest cassandra-2.1 
 branch binaries.
 2. Extract it
 3. CD inside the use case directory
 4. Download the dataset (2G) just to be sure we have the same thing, and 
 place it in the working directory.
https://docs.google.com/uc?id=0BwZ_GPM33j6KV3ViNnpPcVFndUUexport=download
 5. The first time, run ./test.sh. This will setup and run a test.
 6. The next times, you can only run ./test --no-setup . This will only reset 
 the dataset as its initial state and re-run the test. You might have to run 
 the tests some times before experiencing it... but I'm always able with only 
 2-3 runs.



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


[jira] [Assigned] (CASSANDRA-8684) Replace usage of Adler32 with CRC32

2015-01-26 Thread Ariel Weisberg (JIRA)

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

Ariel Weisberg reassigned CASSANDRA-8684:
-

Assignee: Ariel Weisberg

 Replace usage of Adler32 with CRC32
 ---

 Key: CASSANDRA-8684
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8684
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Ariel Weisberg
Assignee: Ariel Weisberg
 Attachments: CRCBenchmark.java, PureJavaCrc32.java


 I could not find a situation in which Adler32 outperformed PureJavaCrc32 much 
 less the intrinsic from Java 8. For small allocations PureJavaCrc32 was much 
 faster probably due to the JNI overhead of invoking the native Adler32 
 implementation where the array has to be allocated and copied.
 I tested on a 65w Sandy Bridge i5 running Ubuntu 14.04 with JDK 1.7.0_71 as 
 well as a c3.8xlarge running Ubuntu 14.04.
 I think it makes sense to stop using Adler32 when generating new checksums.
 c3.8xlarge, results are time in milliseconds, lower is better
 ||Allocation size|Adler32|CRC32|PureJavaCrc32||
 |64|47636|46075|25782|
 |128|36755|36712|23782|
 |256|31194|32211|22731|
 |1024|27194|28792|22010|
 |1048576|25941|27807|21808|
 |536870912|25957|27840|21836|
 i5
 ||Allocation size|Adler32|CRC32|PureJavaCrc32||
 |64|50539|50466|26826|
 |128|37092|38533|24553|
 |256|30630|32938|23459|
 |1024|26064|29079|22592|
 |1048576|24357|27911|22481|
 |536870912|24838|28360|22853|
 Another fun fact. Performance of the CRC32 intrinsic appears to double from 
 Sandy Bridge - Haswell. Unless I am measuring something different when going 
 from Linux/Sandy to Haswell/OS X.
 The intrinsic/JDK 8 implementation also operates against DirectByteBuffers 
 better and coding against the wrapper will get that boost when run with Java 
 8.



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


[jira] [Commented] (CASSANDRA-8072) Exception during startup: Unable to gossip with any seeds

2015-01-26 Thread Russ Hatch (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8072?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14292325#comment-14292325
 ] 

Russ Hatch commented on CASSANDRA-8072:
---

[~respringer] Can you help me better understand what's happening with the nodes 
(via opscenter) when this occurs? From what we talked about before it sounds 
like the nodes are started with little/no configuration and then are stopped, 
configured, and started up again with seeds configured.

First startup:
 - are any changes made to cassandra.yaml before this start?
 - are nodes aware of each other as seeds?
 - does the start happen serially or in parallel?
 - is it possible to get sample config yaml for 2 nodes at this phase?

Stopping:
 - are the nodes stopped serially or in parallel?
 - are the nodes able to complete startup before being stopped, or could they 
be getting interrupted during initial start?
 - are the nodes stopped forcefully (like kill -9) or something nicer?

Starting again with configurations completed:
 - are nodes started serially or in parallel? (from what I know this would be 
parallel but just want to be sure)
 - will this startup step wait for all nodes to be ready before launching in 
parallel? (or could one node get a significant head start if it completes the 
earlier steps first?)
 - is it possible to get sample config yaml for 2 nodes at this point? (I 
grabbed yaml from a failed repro attempt but want to be sure I didn't get 
something wrong in that attempt)

Finally, when provisioning in this way how do the (ec2) nodes refer to one 
another: public ip, private ip, or private dns?

Thanks! And sorry for all the questions. I'm trying to close in on the issue 
and still having difficulty reproducing in a local container environment, so 
I'm trying to figure out what could be unique about the provisioning of these 
nodes that may account for triggering this issue.

 Exception during startup: Unable to gossip with any seeds
 -

 Key: CASSANDRA-8072
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8072
 Project: Cassandra
  Issue Type: Bug
Reporter: Ryan Springer
Assignee: Brandon Williams
 Attachments: casandra-system-log-with-assert-patch.log


 When Opscenter 4.1.4 or 5.0.1 tries to provision a 2-node DSC 2.0.10 cluster 
 in either ec2 or locally, an error occurs sometimes with one of the nodes 
 refusing to start C*.  The error in the /var/log/cassandra/system.log is:
 ERROR [main] 2014-10-06 15:54:52,292 CassandraDaemon.java (line 513) 
 Exception encountered during startup
 java.lang.RuntimeException: Unable to gossip with any seeds
 at org.apache.cassandra.gms.Gossiper.doShadowRound(Gossiper.java:1200)
 at 
 org.apache.cassandra.service.StorageService.checkForEndpointCollision(StorageService.java:444)
 at 
 org.apache.cassandra.service.StorageService.prepareToJoin(StorageService.java:655)
 at 
 org.apache.cassandra.service.StorageService.initServer(StorageService.java:609)
 at 
 org.apache.cassandra.service.StorageService.initServer(StorageService.java:502)
 at 
 org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:378)
 at 
 org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:496)
 at 
 org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:585)
  INFO [StorageServiceShutdownHook] 2014-10-06 15:54:52,326 Gossiper.java 
 (line 1279) Announcing shutdown
  INFO [StorageServiceShutdownHook] 2014-10-06 15:54:54,326 
 MessagingService.java (line 701) Waiting for messaging service to quiesce
  INFO [ACCEPT-localhost/127.0.0.1] 2014-10-06 15:54:54,327 
 MessagingService.java (line 941) MessagingService has terminated the accept() 
 thread
 This errors does not always occur when provisioning a 2-node cluster, but 
 probably around half of the time on only one of the nodes.  I haven't been 
 able to reproduce this error with DSC 2.0.9, and there have been no code or 
 definition file changes in Opscenter.
 I can reproduce locally with the above steps.  I'm happy to test any proposed 
 fixes since I'm the only person able to reproduce reliably so far.



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


[jira] [Updated] (CASSANDRA-8684) Replace usage of Adler32 with CRC32

2015-01-26 Thread Ariel Weisberg (JIRA)

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

Ariel Weisberg updated CASSANDRA-8684:
--
Attachment: Sample.java

!https://docs.google.com/spreadsheets/d/1cxf-V4b8dXdz1vLb5ySUNxK09bukDHHpq79a09xHw20/pubchart?oid=1480884345format=image!
!https://docs.google.com/spreadsheets/d/1cxf-V4b8dXdz1vLb5ySUNxK09bukDHHpq79a09xHw20/pubchart?oid=1206341035format=image!

The ever inscrutable results for OS X. I don't buy for a second that it is 
doing 13 gigabytes/second.

!https://docs.google.com/spreadsheets/d/1cxf-V4b8dXdz1vLb5ySUNxK09bukDHHpq79a09xHw20/pubchart?oid=1911364989format=image!

I think the real speed is 3 gigabytes/second which is what I have seen in the 
past and seen on Linux. There are faster hashes like xxhash or MurmurHash3 to 
consider that operate in the 5-6 gigabyte/second range.

However a Java implementation of xxhash might not hit those numbers. The 
murmur3 implementation certainly doesn't. A native implementation incurs JNI 
overhead and there is nothing packaged at the moment.

 Replace usage of Adler32 with CRC32
 ---

 Key: CASSANDRA-8684
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8684
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Ariel Weisberg
Assignee: Ariel Weisberg
 Attachments: CRCBenchmark.java, PureJavaCrc32.java, Sample.java


 I could not find a situation in which Adler32 outperformed PureJavaCrc32 much 
 less the intrinsic from Java 8. For small allocations PureJavaCrc32 was much 
 faster probably due to the JNI overhead of invoking the native Adler32 
 implementation where the array has to be allocated and copied.
 I tested on a 65w Sandy Bridge i5 running Ubuntu 14.04 with JDK 1.7.0_71 as 
 well as a c3.8xlarge running Ubuntu 14.04.
 I think it makes sense to stop using Adler32 when generating new checksums.
 c3.8xlarge, results are time in milliseconds, lower is better
 ||Allocation size|Adler32|CRC32|PureJavaCrc32||
 |64|47636|46075|25782|
 |128|36755|36712|23782|
 |256|31194|32211|22731|
 |1024|27194|28792|22010|
 |1048576|25941|27807|21808|
 |536870912|25957|27840|21836|
 i5
 ||Allocation size|Adler32|CRC32|PureJavaCrc32||
 |64|50539|50466|26826|
 |128|37092|38533|24553|
 |256|30630|32938|23459|
 |1024|26064|29079|22592|
 |1048576|24357|27911|22481|
 |536870912|24838|28360|22853|
 Another fun fact. Performance of the CRC32 intrinsic appears to double from 
 Sandy Bridge - Haswell. Unless I am measuring something different when going 
 from Linux/Sandy to Haswell/OS X.
 The intrinsic/JDK 8 implementation also operates against DirectByteBuffers 
 better and coding against the wrapper will get that boost when run with Java 
 8.



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


[jira] [Commented] (CASSANDRA-8061) tmplink files are not removed

2015-01-26 Thread Mark Cooper (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8061?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14292329#comment-14292329
 ] 

Mark Cooper commented on CASSANDRA-8061:


Ok, I am not running with this branch on one machine and am seeing this 
non-fatal assert in the logs pretty continuously. I'm not sure if this is 
related:

INFO  [CompactionExecutor:157] 2015-01-26 19:57:26,846 
ColumnFamilyStore.java:857 - Enqueuing flush of compactions_in_progress: 165 
(0%) on-heap, 0 (0%) off-heap
INFO  [MemtableFlushWriter:45] 2015-01-26 19:57:26,847 Memtable.java:339 - 
Writing Memtable-compactions_in_progress@1222533013(0 serialized bytes, 1 ops, 
0%/0% of on/off-heap limit)
INFO  [MemtableFlushWriter:45] 2015-01-26 19:57:26,852 Memtable.java:378 - 
Completed flushing 
/mnt/flash1/cass0/data/system/compactions_in_progress/system-compactions_in_progress-ka-43-Data.db
 (42 bytes) for commitlog position ReplayPosition(segmentId=142230151, 
position=26331623)
INFO  [CompactionExecutor:131] 2015-01-26 19:57:26,853 CompactionTask.java:136 
- Compacting 
[SSTableReader(path='/mnt/flash1/cass0/data/system/compactions_in_progress/system-compactions_in_progress-ka-40-Data.db'),
 
SSTableReader(path='/mnt/flash1/cass0/data/system/compactions_in_progress/system-compactions_in_progress-ka-42-Data.db'),
 
SSTableReader(path='/mnt/flash1/cass0/data/system/compactions_in_progress/system-compactions_in_progress-ka-41-Data.db'),
 
SSTableReader(path='/mnt/flash1/cass0/data/system/compactions_in_progress/system-compactions_in_progress-ka-43-Data.db')]
ERROR [CompactionExecutor:157] 2015-01-26 19:57:26,854 CassandraDaemon.java:170 
- Exception in thread Thread[CompactionExecutor:157,1,main]
java.lang.AssertionError: null
at org.apache.cassandra.io.util.Memory.size(Memory.java:307) ~[main/:na]
at 
org.apache.cassandra.utils.obs.OffHeapBitSet.capacity(OffHeapBitSet.java:61) 
~[main/:na]
at org.apache.cassandra.utils.BloomFilter.indexes(BloomFilter.java:74) 
~[main/:na]
at org.apache.cassandra.utils.BloomFilter.add(BloomFilter.java:89) 
~[main/:na]
at 
org.apache.cassandra.io.sstable.SSTableWriter$IndexWriter.append(SSTableWriter.java:618)
 ~[main/:na]
at 
org.apache.cassandra.io.sstable.SSTableWriter.afterAppend(SSTableWriter.java:187)
 ~[main/:na]
at 
org.apache.cassandra.io.sstable.SSTableWriter.append(SSTableWriter.java:210) 
~[main/:na]
at 
org.apache.cassandra.io.sstable.SSTableRewriter.append(SSTableRewriter.java:111)
 ~[main/:na]
at 
org.apache.cassandra.db.compaction.CompactionTask.runMayThrow(CompactionTask.java:188)
 ~[main/:na]
at 
org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) 
~[main/:na]
at 
org.apache.cassandra.db.compaction.CompactionTask.executeInternal(CompactionTask.java:75)
 ~[main/:na]
at 
org.apache.cassandra.db.compaction.AbstractCompactionTask.execute(AbstractCompactionTask.java:59)
 ~[main/:na]
at 
org.apache.cassandra.db.compaction.CompactionManager$BackgroundCompactionTask.run(CompactionManager.java:228)
 ~[main/:na]
at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
~[na:1.7.0_25]
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) 
~[na:1.7.0_25]
at java.util.concurrent.FutureTask.run(FutureTask.java:166) 
~[na:1.7.0_25]
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
~[na:1.7.0_25]
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
~[na:1.7.0_25]
at java.lang.Thread.run(Thread.java:724) ~[na:1.7.0_25]
Suppressed: java.lang.AssertionError: null
at org.apache.cassandra.io.util.Memory.size(Memory.java:307) 
~[main/:na]
at 
org.apache.cassandra.utils.obs.OffHeapBitSet.serialize(OffHeapBitSet.java:108) 
~[main/:na]
at 
org.apache.cassandra.utils.BloomFilterSerializer.serialize(BloomFilterSerializer.java:35)
 ~[main/:na]
at 
org.apache.cassandra.utils.Murmur3BloomFilter$Murmur3BloomFilterSerializer.serialize(Murmur3BloomFilter.java:50)
 ~[main/:na]
at 
org.apache.cassandra.utils.FilterFactory.serialize(FilterFactory.java:40) 
~[main/:na]
at 
org.apache.cassandra.io.sstable.SSTableWriter$IndexWriter.close(SSTableWriter.java:657)
 ~[main/:na]
at 
org.apache.cassandra.io.sstable.SSTableWriter.close(SSTableWriter.java:512) 
~[main/:na]
at 
org.apache.cassandra.io.sstable.SSTableWriter.finish(SSTableWriter.java:466) 
~[main/:na]
at 
org.apache.cassandra.io.sstable.SSTableRewriter.switchWriter(SSTableRewriter.java:288)
 ~[main/:na]
at 
org.apache.cassandra.io.sstable.SSTableRewriter.abort(SSTableRewriter.java:179) 
~[main/:na]
at 

[jira] [Updated] (CASSANDRA-8687) Keyspace should also check Config.isClientMode

2015-01-26 Thread Jeremiah Jordan (JIRA)

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

Jeremiah Jordan updated CASSANDRA-8687:
---
Attachment: CASSANDRA-8687-trunk.txt

Patch for trunk

 Keyspace should also check Config.isClientMode
 --

 Key: CASSANDRA-8687
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8687
 Project: Cassandra
  Issue Type: Bug
  Components: Core, Tools
Reporter: Jeremiah Jordan
Priority: Minor
 Fix For: 2.1.3, 2.0.13

 Attachments: 
 0001-Fix-isClientMode-check-in-Keyspace-to-also-check-Confi.txt, 
 CASSANDRA-8687-trunk.txt


 Keyspace static init code should check Config.isClientMode as well as 
 checking StorageService.instance.isClientMode() before trying to make 
 directories.



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


[jira] [Created] (CASSANDRA-8687) Keyspace should also check Config.isClientMode

2015-01-26 Thread Jeremiah Jordan (JIRA)
Jeremiah Jordan created CASSANDRA-8687:
--

 Summary: Keyspace should also check Config.isClientMode
 Key: CASSANDRA-8687
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8687
 Project: Cassandra
  Issue Type: Bug
  Components: Core, Tools
Reporter: Jeremiah Jordan
Priority: Minor
 Fix For: 2.1.3, 2.0.13
 Attachments: 
0001-Fix-isClientMode-check-in-Keyspace-to-also-check-Confi.txt

Keyspace static init code should check Config.isClientMode as well as checking 
StorageService.instance.isClientMode() before trying to make directories.



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


[jira] [Comment Edited] (CASSANDRA-8684) Replace usage of Adler32 with CRC32

2015-01-26 Thread Ariel Weisberg (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8684?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14292316#comment-14292316
 ] 

Ariel Weisberg edited comment on CASSANDRA-8684 at 1/26/15 8:02 PM:


!https://docs.google.com/spreadsheets/d/1cxf-V4b8dXdz1vLb5ySUNxK09bukDHHpq79a09xHw20/pubchart?oid=1480884345format=image!
!https://docs.google.com/spreadsheets/d/1cxf-V4b8dXdz1vLb5ySUNxK09bukDHHpq79a09xHw20/pubchart?oid=1206341035format=image!

The ever inscrutable results for OS X. I am very skeptical it is doing 13 
gigabytes/second on a single core. I don't get why there is a gradual increase 
in speed as the size of the data being checksummed increases, and that speed up 
doesn't exist on Linux. Looking at a CPU monitor doesn't make it look like the 
application is using multiple cores.

!https://docs.google.com/spreadsheets/d/1cxf-V4b8dXdz1vLb5ySUNxK09bukDHHpq79a09xHw20/pubchart?oid=1911364989format=image!

I think the real speed is 3 gigabytes/second which is what I have seen in the 
past and seen on Linux. There are faster hashes like xxhash or MurmurHash3 to 
consider that operate in the 5-6 gigabyte/second range.

However a Java implementation of xxhash might not hit those numbers. The 
murmur3 implementation certainly doesn't. A native implementation incurs JNI 
overhead and there is nothing packaged at the moment.


was (Author: aweisberg):
!https://docs.google.com/spreadsheets/d/1cxf-V4b8dXdz1vLb5ySUNxK09bukDHHpq79a09xHw20/pubchart?oid=1480884345format=image!
!https://docs.google.com/spreadsheets/d/1cxf-V4b8dXdz1vLb5ySUNxK09bukDHHpq79a09xHw20/pubchart?oid=1206341035format=image!

The ever inscrutable results for OS X. I don't buy for a second that it is 
doing 13 gigabytes/second.

!https://docs.google.com/spreadsheets/d/1cxf-V4b8dXdz1vLb5ySUNxK09bukDHHpq79a09xHw20/pubchart?oid=1911364989format=image!

I think the real speed is 3 gigabytes/second which is what I have seen in the 
past and seen on Linux. There are faster hashes like xxhash or MurmurHash3 to 
consider that operate in the 5-6 gigabyte/second range.

However a Java implementation of xxhash might not hit those numbers. The 
murmur3 implementation certainly doesn't. A native implementation incurs JNI 
overhead and there is nothing packaged at the moment.

 Replace usage of Adler32 with CRC32
 ---

 Key: CASSANDRA-8684
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8684
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Ariel Weisberg
Assignee: Ariel Weisberg
 Attachments: CRCBenchmark.java, PureJavaCrc32.java, Sample.java


 I could not find a situation in which Adler32 outperformed PureJavaCrc32 much 
 less the intrinsic from Java 8. For small allocations PureJavaCrc32 was much 
 faster probably due to the JNI overhead of invoking the native Adler32 
 implementation where the array has to be allocated and copied.
 I tested on a 65w Sandy Bridge i5 running Ubuntu 14.04 with JDK 1.7.0_71 as 
 well as a c3.8xlarge running Ubuntu 14.04.
 I think it makes sense to stop using Adler32 when generating new checksums.
 c3.8xlarge, results are time in milliseconds, lower is better
 ||Allocation size|Adler32|CRC32|PureJavaCrc32||
 |64|47636|46075|25782|
 |128|36755|36712|23782|
 |256|31194|32211|22731|
 |1024|27194|28792|22010|
 |1048576|25941|27807|21808|
 |536870912|25957|27840|21836|
 i5
 ||Allocation size|Adler32|CRC32|PureJavaCrc32||
 |64|50539|50466|26826|
 |128|37092|38533|24553|
 |256|30630|32938|23459|
 |1024|26064|29079|22592|
 |1048576|24357|27911|22481|
 |536870912|24838|28360|22853|
 Another fun fact. Performance of the CRC32 intrinsic appears to double from 
 Sandy Bridge - Haswell. Unless I am measuring something different when going 
 from Linux/Sandy to Haswell/OS X.
 The intrinsic/JDK 8 implementation also operates against DirectByteBuffers 
 better and coding against the wrapper will get that boost when run with Java 
 8.



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


[jira] [Updated] (CASSANDRA-8684) Replace usage of Adler32 with CRC32

2015-01-26 Thread Ariel Weisberg (JIRA)

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

Ariel Weisberg updated CASSANDRA-8684:
--
Issue Type: Improvement  (was: Bug)

 Replace usage of Adler32 with CRC32
 ---

 Key: CASSANDRA-8684
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8684
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Ariel Weisberg
Assignee: Ariel Weisberg
 Attachments: CRCBenchmark.java, PureJavaCrc32.java, Sample.java


 I could not find a situation in which Adler32 outperformed PureJavaCrc32 much 
 less the intrinsic from Java 8. For small allocations PureJavaCrc32 was much 
 faster probably due to the JNI overhead of invoking the native Adler32 
 implementation where the array has to be allocated and copied.
 I tested on a 65w Sandy Bridge i5 running Ubuntu 14.04 with JDK 1.7.0_71 as 
 well as a c3.8xlarge running Ubuntu 14.04.
 I think it makes sense to stop using Adler32 when generating new checksums.
 c3.8xlarge, results are time in milliseconds, lower is better
 ||Allocation size|Adler32|CRC32|PureJavaCrc32||
 |64|47636|46075|25782|
 |128|36755|36712|23782|
 |256|31194|32211|22731|
 |1024|27194|28792|22010|
 |1048576|25941|27807|21808|
 |536870912|25957|27840|21836|
 i5
 ||Allocation size|Adler32|CRC32|PureJavaCrc32||
 |64|50539|50466|26826|
 |128|37092|38533|24553|
 |256|30630|32938|23459|
 |1024|26064|29079|22592|
 |1048576|24357|27911|22481|
 |536870912|24838|28360|22853|
 Another fun fact. Performance of the CRC32 intrinsic appears to double from 
 Sandy Bridge - Haswell. Unless I am measuring something different when going 
 from Linux/Sandy to Haswell/OS X.
 The intrinsic/JDK 8 implementation also operates against DirectByteBuffers 
 better and coding against the wrapper will get that boost when run with Java 
 8.



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


[jira] [Updated] (CASSANDRA-8687) Keyspace should also check Config.isClientMode

2015-01-26 Thread Jeremiah Jordan (JIRA)

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

Jeremiah Jordan updated CASSANDRA-8687:
---
Attachment: (was: CASSANDRA-8687-trunk.txt)

 Keyspace should also check Config.isClientMode
 --

 Key: CASSANDRA-8687
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8687
 Project: Cassandra
  Issue Type: Bug
  Components: Core, Tools
Reporter: Jeremiah Jordan
Priority: Minor
 Fix For: 2.1.3, 2.0.13

 Attachments: 
 0001-Fix-isClientMode-check-in-Keyspace-to-also-check-Confi.txt


 Keyspace static init code should check Config.isClientMode as well as 
 checking StorageService.instance.isClientMode() before trying to make 
 directories.



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


[jira] [Updated] (CASSANDRA-8677) rpc_interface and listen_interface generate NPE on startup when specified interface doesn't exist

2015-01-26 Thread Ariel Weisberg (JIRA)

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

Ariel Weisberg updated CASSANDRA-8677:
--
Attachment: (was: 8677.patch)

 rpc_interface and listen_interface generate NPE on startup when specified 
 interface doesn't exist
 -

 Key: CASSANDRA-8677
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8677
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Ariel Weisberg
Assignee: Ariel Weisberg

 This is just a buggy UI bit.
 Initially the error I got was this which is redundant and not well formatted.
 {noformat}
 ERROR 20:12:55 Exception encountered during startup
 java.lang.ExceptionInInitializerError: null
 Fatal configuration error; unable to start. See log for stacktrace.
   at 
 org.apache.cassandra.config.DatabaseDescriptor.clinit(DatabaseDescriptor.java:108)
  ~[main/:na]
   at 
 org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:122) 
 [main/:na]
   at 
 org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:479)
  [main/:na]
   at 
 org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:571) 
 [main/:na]
 java.lang.ExceptionInInitializerError: null
 Fatal configuration error; unable to start. See log for stacktrace.
   at 
 org.apache.cassandra.config.DatabaseDescriptor.clinit(DatabaseDescriptor.java:108)
   at 
 org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:122)
   at 
 org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:479)
   at 
 org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:571)
 Exception encountered during startup: null
 Fatal configuration error; unable to start. See log for stacktrace.
 ERROR 20:12:55 Exception encountered during startup
 java.lang.ExceptionInInitializerError: null
 Fatal configuration error; unable to start. See log for stacktrace.
   at 
 org.apache.cassandra.config.DatabaseDescriptor.clinit(DatabaseDescriptor.java:108)
  ~[main/:na]
   at 
 org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:122) 
 [main/:na]
   at 
 org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:479)
  [main/:na]
   at 
 org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:571) 
 [main/:na]
 {noformat}
 This has no description of the error that occurred. After logging the 
 exception.
 {noformat}
 java.lang.NullPointerException: null
   at 
 org.apache.cassandra.config.DatabaseDescriptor.applyConfig(DatabaseDescriptor.java:347)
  ~[main/:na]
   at 
 org.apache.cassandra.config.DatabaseDescriptor.clinit(DatabaseDescriptor.java:102)
  ~[main/:na]
   at 
 org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:122) 
 [main/:na]
   at 
 org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:479)
  [main/:na]
   at 
 org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:571) 
 [main/:na]
 {noformat}
 Exceptions thrown in the DatabaseDescriptor should log in a useful way.
 This particular error should generate a message without a stack trace since 
 it is easily recognized.



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


[jira] [Resolved] (CASSANDRA-6985) ReadExecutors should not rely on static StorageProxy

2015-01-26 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko resolved CASSANDRA-6985.
--
Resolution: Duplicate

 ReadExecutors should not rely on static StorageProxy
 

 Key: CASSANDRA-6985
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6985
 Project: Cassandra
  Issue Type: Sub-task
Reporter: Edward Capriolo
Assignee: Edward Capriolo
Priority: Minor
 Fix For: 3.0

 Attachments: CASSANDRA_6985.1.patch


 All the Read Executor child classes require use of the Storage Proxy to carry 
 out read. We can pass the StorageProxy along in the constructor.



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


[jira] [Updated] (CASSANDRA-8635) STCS cold sstable omission does not handle overwrites without reads

2015-01-26 Thread Carl Yeksigian (JIRA)

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

Carl Yeksigian updated CASSANDRA-8635:
--
Reviewer: Carl Yeksigian  (was: Tyler Hobbs)

 STCS cold sstable omission does not handle overwrites without reads
 ---

 Key: CASSANDRA-8635
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8635
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Tyler Hobbs
Assignee: Marcus Eriksson
Priority: Critical
 Fix For: 2.1.3

 Attachments: 
 0001-Include-cold-sstables-in-compactions-if-they-overlap.patch, 8635-v2.patch


 In 2.1, STCS may omit cold SSTables from compaction (CASSANDRA-6109).  If 
 data is regularly overwritten or deleted (but not enough to trigger a 
 single-sstable tombstone purging compaction), data size on disk may 
 continuously grow if:
 * The table receives very few reads
 * The reads only touch the newest SSTables
 Basically, if the overwritten data is never read and there aren't many 
 tombstones, STCS has no incentive to compact the sstables.  We should take 
 sstable overlap into consideration as well as coldness to address this case.



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


[jira] [Updated] (CASSANDRA-7447) New sstable format with support for columnar layout

2015-01-26 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko updated CASSANDRA-7447:
-
Fix Version/s: (was: 3.0)
   3.1

 New sstable format with support for columnar layout
 ---

 Key: CASSANDRA-7447
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7447
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Benedict
Assignee: Benedict
  Labels: performance, storage
 Fix For: 3.1

 Attachments: ngcc-storage.odp, storage_format.pdf


 h2. Storage Format Proposal
 C* has come a long way over the past few years, and unfortunately our storage 
 format hasn't kept pace with the data models we are now encouraging people to 
 utilise. This ticket proposes a collections of storage primitives that can be 
 combined to serve these data models more optimally.
 It would probably help to first state the data model at the most abstract 
 level. We have a fixed three-tier structure: We have the partition key, the 
 clustering columns, and the data columns. Each have their own characteristics 
 and so require their own specialised treatment.
 I should note that these changes will necessarily be delivered in stages, and 
 that we will be making some assumptions about what the most useful features 
 to support initially will be. Any features not supported will require 
 sticking with the old format until we extend support to all C* functionality.
 h3. Partition Key
 * This really has two components: the partition, and the value. Although the 
 partition is primarily used to distribute across nodes, it can also be used 
 to optimise lookups for a given key within a node
 * Generally partitioning is by hash, and for the moment I want to focus this 
 ticket on the assumption that this is the case
 * Given this, it makes sense to optimise our storage format to permit O(1) 
 searching of a given partition. It may be possible to achieve this with 
 little overhead based on the fact we store the hashes in order and know they 
 are approximately randomly distributed, as this effectively forms an 
 immutable contiguous split-ordered list (see Shalev/Shavit, or 
 CASSANDRA-7282), so we only need to store an amount of data based on how 
 imperfectly distributed the hashes are, or at worst a single value per block.
 * This should completely obviate the need for a separate key-cache, which 
 will be relegated to supporting the old storage format only
 h3. Primary Key / Clustering Columns
 * Given we have a hierarchical data model, I propose the use of a 
 cache-oblivious trie
 * The main advantage of the trie is that it is extremely compact and 
 _supports optimally efficient merges with other tries_ so that we can support 
 more efficient reads when multiple sstables are touched
 * The trie will be preceded by a small amount of related data; the full 
 partition key, a timestamp epoch (for offset-encoding timestamps) and any 
 other partition level optimisation data, such as (potentially) a min/max 
 timestamp to abort merges earlier
 * Initially I propose to limit the trie to byte-order comparable data types 
 only (the number of which we can expand through translations of the important 
 types that are not currently)
 * Crucially the trie will also encapsulate any range tombstones, so that 
 these are merged early in the process and avoids re-iterating the same data
 * Results in true bidirectional streaming without having to read entire range 
 into memory
 h3. Values
 There are generally two approaches to storing rows of data: columnar, or 
 row-oriented. The above two data structures can be combined with a value 
 storage scheme that is based on either. However, given the current model we 
 have of reading large 64Kb blocks for any read, I am inclined to focus on 
 columnar support first, as this delivers order-of-magnitude benefits to those 
 users with the correct workload, while for most workloads our 64Kb blocks are 
 large enough to store row-oriented data in a column-oriented fashion without 
 any performance degradation (I'm happy to consign very large row support to 
 phase 2). 
 Since we will most likely target both behaviours eventually, I am currently 
 inclined to suggest that static columns, sets and maps be targeted for a 
 row-oriented release, as they don't naturally fit in a columnar layout 
 without secondary heap-blocks. This may be easier than delivering heap-blocks 
 also, as it keeps both implementations relatively clean. This is certainly 
 open to debate, and I have no doubt there will be conflicting opinions here.
 Focusing on our columnar layout, the goals are:
 * Support sparse and dense column storage
 * Efficient compression of tombstones, timestamps, ttls, etc. 

[jira] [Resolved] (CASSANDRA-6063) Rename internal classes and interfaces to represent the modern Cassandra terminology

2015-01-26 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko resolved CASSANDRA-6063.
--
Resolution: Duplicate

 Rename internal classes and interfaces to represent the modern Cassandra 
 terminology
 

 Key: CASSANDRA-6063
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6063
 Project: Cassandra
  Issue Type: Improvement
Reporter: Aleksey Yeschenko
Priority: Minor
 Fix For: 3.0


 Some of the class names we are using aren't exactly clear to the newcomers. 
 We've already gone through the Table-Keyspace renaming, but it's not enough.
 Other things to consider:
 - ColumnFamilyStore - ColumnFamily (non-critical)
 - -Column - Cell (where appropriate)- done in 
 e50d6af12fabac98e3cb4bd589e2b92212b041f4
 - ColumnFamily - Cells
 - Row - Partition (PartitionFragment?) (where appropriate)
 - -RowMutation - Mutation- done in 6bbb13b9b0fe62de2a2140055af2ea6968c73ccc



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


[jira] [Commented] (CASSANDRA-8574) Gracefully degrade SELECT when there are lots of tombstones

2015-01-26 Thread Sylvain Lebresne (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8574?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14292063#comment-14292063
 ] 

Sylvain Lebresne commented on CASSANDRA-8574:
-

Which is turns means exposing tombstones (and implementation detail at the end 
of the day) in the user API. Which I'm really not a fan of.

If the goal is to avoid having pages fail due to tombstones, then I think the 
proper way to handle it would be to limit _internal_ pages based on tombstones, 
but doing so transparently for the user (in other words, we could potentially 
end up doing multiple internal query for a single page returned to the user). 
Doing so is, however, easier said than done.

 Gracefully degrade SELECT when there are lots of tombstones
 ---

 Key: CASSANDRA-8574
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8574
 Project: Cassandra
  Issue Type: Improvement
Reporter: Jens Rantil
 Fix For: 3.0


 *Background:* There's lots of tooling out there to do BigData analysis on 
 Cassandra clusters. Examples are Spark and Hadoop, which is offered by DSE. 
 The problem with both of these so far, is that a single partition key with 
 too many tombstones can make the query job fail hard.
 The described scenario happens despite the user setting a rather small 
 FetchSize. I assume this is a common scenario if you have larger rows.
 *Proposal:* To allow a CQL SELECT to gracefully degrade to only return a 
 smaller batch of results if there are too many tombstones. The tombstones are 
 ordered according to clustering key and one should be able to page through 
 them. Potentially:
 SELECT * FROM mytable LIMIT 1000 TOMBSTONES;
 would page through maximum 1000 tombstones, _or_ 1000 (CQL) rows.
 I understand that this obviously would degrade performance, but it would at 
 least yield a result.
 *Additional comment:* I haven't dug into Cassandra code, but conceptually I 
 guess this would be doable. Let me know what you think.



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


[jira] [Commented] (CASSANDRA-6986) snapshot fails with SSTable not found if table has already been restored

2015-01-26 Thread Alan Boudreault (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-6986?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14292092#comment-14292092
 ] 

Alan Boudreault commented on CASSANDRA-6986:


[~slowenthal] Have you experienced this issue again? If so, any chance we can 
talk together to check how to reproduce it?

 snapshot fails with SSTable not found if table has already been restored
 

 Key: CASSANDRA-6986
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6986
 Project: Cassandra
  Issue Type: Bug
  Components: Tools
 Environment: C* 2.0.6
Reporter: Steven Lowenthal
Assignee: Ryan McGuire
Priority: Minor
 Attachments: 6986.tar.gz, test.sh


 I seem to be running into a weird restore issue.  I load a database with 
 sstableloader, and then take a snapshot of the keyspace.  I then truncate the 
 tables in the keyspace, replace the sstables from the snapshot, and refresh 
 everything.  It seems to work fine.  Of course the sstables get renumbered.  
 I then try to create a new backup of the keyspace, and this happens on one of 
 the tables on one of the nodes.  (and the sstable has been renumbered): 
 Exception in thread main java.lang.RuntimeException: Tried to hard link to 
 file that does not exist 
 /raid0/cassandra/data/stock/trades/stock-trades-jb-18-Data.db



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


[jira] [Updated] (CASSANDRA-7642) Adaptive Consistency

2015-01-26 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko updated CASSANDRA-7642:
-
Fix Version/s: (was: 3.0)
   3.1

 Adaptive Consistency
 

 Key: CASSANDRA-7642
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7642
 Project: Cassandra
  Issue Type: New Feature
  Components: Core
Reporter: Rustam Aliyev
 Fix For: 3.1


 h4. Problem
 At minimum, application requires consistency level of X, which must be fault 
 tolerant CL. However, when there is no failure it would be advantageous to 
 use stronger consistency Y (YX).
 h4. Suggestion
 Application defines minimum (X) and maximum (Y) consistency levels. C* can 
 apply adaptive consistency logic to use Y whenever possible and downgrade to 
 X when failure occurs.
 Implementation should not negatively impact performance. Therefore, state has 
 to be maintained globally (not per request).
 h4. Example
 {{MIN_CL=LOCAL_QUORUM}}
 {{MAX_CL=EACH_QUORUM}}
 h4. Use Case
 Consider a case where user wants to maximize their uptime and consistency. 
 They designing a system using C* where transactions are read/written with 
 LOCAL_QUORUM and distributed across 2 DCs. Occasional inconsistencies between 
 DCs can be tolerated. R/W with LOCAL_QUORUM is satisfactory in most of the 
 cases.
 Application requires new transactions to be read back right after they were 
 generated. Write and read could be done through different DCs (no 
 stickiness). In some cases when user writes into DC1 and reads immediately 
 from DC2, replication delay may cause problems. Transaction won't show up on 
 read in DC2, user will retry and create duplicate transaction. Occasional 
 duplicates are fine and the goal is to minimize number of dups.
 Therefore, we want to perform writes with stronger consistency (EACH_QUORUM) 
 whenever possible without compromising on availability. Using adaptive 
 consistency they should be able to define:
{{Read CL = LOCAL_QUORUM}}
{{Write CL = ADAPTIVE (MIN:LOCAL_QUORUM, MAX:EACH_QUORUM)}}
 Similar scenario can be described for {{Write CL = ADAPTIVE (MIN:QUORUM, 
 MAX:ALL)}} case.
 h4. Criticism
 # This functionality can/should be implemented by user himself.
 bq. It will be hard for an average user to implement topology monitoring and 
 state machine. Moreover, this is a pattern which repeats.
 # Transparent downgrading violates the CL contract, and that contract 
 considered be just about the most important element of Cassandra's runtime 
 behavior.
 bq.Fully transparent downgrading without any contract is dangerous. However, 
 would it be problem if we specify explicitly only two discrete CL levels - 
 MIN_CL and MAX_CL?
 # If you have split brain DCs (partitioned in CAP), you have to sacrifice 
 either consistency or availability, and auto downgrading sacrifices the 
 consistency in dangerous ways if the application isn't designed to handle it. 
 And if the application is designed to handle it, then it should be able to 
 handle it in normal circumstances, not just degraded/extraordinary ones.
 bq. Agreed. Application should be designed for MIN_CL. In that case, MAX_CL 
 will not be causing much harm, only adding flexibility.
 # It might be a better idea to loudly downgrade, instead of silently 
 downgrading, meaning that the client code does an explicit retry with lower 
 consistency on failure and takes some other kind of action to attempt to 
 inform either users or operators of the problem. The silent part of the 
 downgrading which could be dangerous.
 bq. There are certainly cases where user should be informed when consistency 
 changes in order to perform custom action. For this purpose we could 
 allow/require user to register callback function which will be triggered when 
 consistency level changes. Best practices could be enforced by requiring 
 callback.



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


[jira] [Updated] (CASSANDRA-8640) Paxos requires all nodes for CAS

2015-01-26 Thread Philip Thompson (JIRA)

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

Philip Thompson updated CASSANDRA-8640:
---
Labels: qa-resolved  (was: )

 Paxos requires all nodes for CAS
 

 Key: CASSANDRA-8640
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8640
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Anthony Cozzie
Assignee: Anthony Cozzie
  Labels: qa-resolved
 Fix For: 2.0.12, 2.1.3

 Attachments: 0001-Fix-parentheses-bug-in-Paxos.patch, 
 0001-Fix-quorum-required-nodes-calculation-for-Paxos.patch


 In C* 2.1,
 {code}
 int requiredParticipants = participants + 1  / 2; // See CASSANDRA-833
 {code}
 Will always return participants because of operator precedence.  I am not 
 sure just adding parentheses will fix the problem, though, as the original 
 code differentiated between pending and natural endpoints.
 {code}
  int requiredParticipants = pendingEndpoints.size() + 1 + 
 naturalEndpoints.size() / 2; // See CASSANDRA-833
 {code}



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


[jira] [Commented] (CASSANDRA-8614) Select optimal CRC32 implementation at runtime

2015-01-26 Thread Ariel Weisberg (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8614?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14292129#comment-14292129
 ] 

Ariel Weisberg commented on CASSANDRA-8614:
---

I think I may be wrong. There is some wonkiness with the build picking up JDK 8 
some of the time even though the first JDK in my path is 7. I think you do need 
the .class file for the fake CRC32 and not just the source.

 Select optimal CRC32 implementation at runtime
 --

 Key: CASSANDRA-8614
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8614
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Ariel Weisberg
Assignee: Ariel Weisberg
  Labels: performance
 Attachments: 8614.patch, Sample.java


 JDK 8 has support for an intrinsic for CRC32 that runs at 12-13 gigabytes/sec 
 per core in my quick and dirty test. PureJavaCRC32 is  800 megabytes/sec if 
 I recall and it has a lookup table that evicts random cache lines every time 
 it runs.
 In order to capture the benefit of that when it is available we can select a 
 CRC32 implementation at startup in a static block.
 If JDK 8 is not what is running we can fall back to the existing 
 PureJavaCRC32 implementation.



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


[jira] [Commented] (CASSANDRA-8657) long-test LongCompactionsTest fails

2015-01-26 Thread Michael Shuler (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8657?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14292190#comment-14292190
 ] 

Michael Shuler commented on CASSANDRA-8657:
---

I've tried numerous release tags (2.1.0, 2.0.9, 2.0.3, and a few git log shas), 
as well as the first commit in git log for this test, f92fb22, and they all 
fail.  The first commit fails with a different error:
{noformat}
[junit] Testcase: 
testStandardColumnCompactions(org.apache.cassandra.db.compaction.LongCompactionsTest):
FAILED
[junit] expected:9 but was:99
[junit] junit.framework.AssertionFailedError: expected:9 but was:99
[junit] at 
org.apache.cassandra.db.compaction.CompactionsTest.assertMaxTimestamp(CompactionsTest.java:208)
[junit] at 
org.apache.cassandra.db.compaction.LongCompactionsTest.testStandardColumnCompactions(LongCompactionsTest.java:141)
{noformat}

I haven't been able to find a place that this test runs successfully, so can't 
bisect it.

 long-test LongCompactionsTest fails
 ---

 Key: CASSANDRA-8657
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8657
 Project: Cassandra
  Issue Type: Test
  Components: Tests
Reporter: Michael Shuler
Priority: Minor
 Fix For: 2.1.3, 2.0.13

 Attachments: system.log


 Same error on 3 of the 4 tests in this suite - failure is the same for 2.0 
 and 2.1 branch:
 {noformat}
 [junit] Testsuite: org.apache.cassandra.db.compaction.LongCompactionsTest
 [junit] Tests run: 4, Failures: 3, Errors: 0, Skipped: 0, Time elapsed: 
 27.294 sec
 [junit] 
 [junit] Testcase: 
 testCompactionMany(org.apache.cassandra.db.compaction.LongCompactionsTest):   
 FAILED
 [junit] 
 /tmp/Keyspace14247587528884809907Standard1/Keyspace1/Keyspace1-Standard1-jb-0-Data.db
  is not correctly marked compacting
 [junit] junit.framework.AssertionFailedError: 
 /tmp/Keyspace14247587528884809907Standard1/Keyspace1/Keyspace1-Standard1-jb-0-Data.db
  is not correctly marked compacting
 [junit] at 
 org.apache.cassandra.db.compaction.AbstractCompactionTask.init(AbstractCompactionTask.java:49)
 [junit] at 
 org.apache.cassandra.db.compaction.CompactionTask.init(CompactionTask.java:47)
 [junit] at 
 org.apache.cassandra.db.compaction.LongCompactionsTest.testCompaction(LongCompactionsTest.java:102)
 [junit] at 
 org.apache.cassandra.db.compaction.LongCompactionsTest.testCompactionMany(LongCompactionsTest.java:67)
 [junit] 
 [junit] 
 [junit] Testcase: 
 testCompactionSlim(org.apache.cassandra.db.compaction.LongCompactionsTest):   
 FAILED
 [junit] 
 /tmp/Keyspace13809058557206351042Standard1/Keyspace1/Keyspace1-Standard1-jb-0-Data.db
  is not correctly marked compacting
 [junit] junit.framework.AssertionFailedError: 
 /tmp/Keyspace13809058557206351042Standard1/Keyspace1/Keyspace1-Standard1-jb-0-Data.db
  is not correctly marked compacting
 [junit] at 
 org.apache.cassandra.db.compaction.AbstractCompactionTask.init(AbstractCompactionTask.java:49)
 [junit] at 
 org.apache.cassandra.db.compaction.CompactionTask.init(CompactionTask.java:47)
 [junit] at 
 org.apache.cassandra.db.compaction.LongCompactionsTest.testCompaction(LongCompactionsTest.java:102)
 [junit] at 
 org.apache.cassandra.db.compaction.LongCompactionsTest.testCompactionSlim(LongCompactionsTest.java:58)
 [junit] 
 [junit] 
 [junit] Testcase: 
 testCompactionWide(org.apache.cassandra.db.compaction.LongCompactionsTest):   
 FAILED
 [junit] 
 /tmp/Keyspace15276133158440321595Standard1/Keyspace1/Keyspace1-Standard1-jb-0-Data.db
  is not correctly marked compacting
 [junit] junit.framework.AssertionFailedError: 
 /tmp/Keyspace15276133158440321595Standard1/Keyspace1/Keyspace1-Standard1-jb-0-Data.db
  is not correctly marked compacting
 [junit] at 
 org.apache.cassandra.db.compaction.AbstractCompactionTask.init(AbstractCompactionTask.java:49)
 [junit] at 
 org.apache.cassandra.db.compaction.CompactionTask.init(CompactionTask.java:47)
 [junit] at 
 org.apache.cassandra.db.compaction.LongCompactionsTest.testCompaction(LongCompactionsTest.java:102)
 [junit] at 
 org.apache.cassandra.db.compaction.LongCompactionsTest.testCompactionWide(LongCompactionsTest.java:49)
 [junit] 
 [junit] 
 [junit] Test org.apache.cassandra.db.compaction.LongCompactionsTest FAILED
 {noformat}
 A system.log is attached from the above run on 2.0 HEAD.



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


[jira] [Resolved] (CASSANDRA-6065) Use CQL3 internally in schema code and HHOM

2015-01-26 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko resolved CASSANDRA-6065.
--
Resolution: Duplicate

 Use CQL3 internally in schema code and HHOM
 ---

 Key: CASSANDRA-6065
 URL: https://issues.apache.org/jira/browse/CASSANDRA-6065
 Project: Cassandra
  Issue Type: Improvement
Reporter: Aleksey Yeschenko
Priority: Minor
 Fix For: 3.0


 We mostly use CQL3 internally everywhere now, except HHOM and schema-related 
 code. We should switch to CQL3+the new paging for HHOM to replace the current 
 ugliness and to CQL3 for all schema-related serialization and deserialization.



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


[jira] [Updated] (CASSANDRA-8677) rpc_interface and listen_interface generate NPE on startup when specified interface doesn't exist

2015-01-26 Thread Ariel Weisberg (JIRA)

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

Ariel Weisberg updated CASSANDRA-8677:
--
Attachment: (was: 8677-2.1.patch)

 rpc_interface and listen_interface generate NPE on startup when specified 
 interface doesn't exist
 -

 Key: CASSANDRA-8677
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8677
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Ariel Weisberg
Assignee: Ariel Weisberg

 This is just a buggy UI bit.
 Initially the error I got was this which is redundant and not well formatted.
 {noformat}
 ERROR 20:12:55 Exception encountered during startup
 java.lang.ExceptionInInitializerError: null
 Fatal configuration error; unable to start. See log for stacktrace.
   at 
 org.apache.cassandra.config.DatabaseDescriptor.clinit(DatabaseDescriptor.java:108)
  ~[main/:na]
   at 
 org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:122) 
 [main/:na]
   at 
 org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:479)
  [main/:na]
   at 
 org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:571) 
 [main/:na]
 java.lang.ExceptionInInitializerError: null
 Fatal configuration error; unable to start. See log for stacktrace.
   at 
 org.apache.cassandra.config.DatabaseDescriptor.clinit(DatabaseDescriptor.java:108)
   at 
 org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:122)
   at 
 org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:479)
   at 
 org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:571)
 Exception encountered during startup: null
 Fatal configuration error; unable to start. See log for stacktrace.
 ERROR 20:12:55 Exception encountered during startup
 java.lang.ExceptionInInitializerError: null
 Fatal configuration error; unable to start. See log for stacktrace.
   at 
 org.apache.cassandra.config.DatabaseDescriptor.clinit(DatabaseDescriptor.java:108)
  ~[main/:na]
   at 
 org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:122) 
 [main/:na]
   at 
 org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:479)
  [main/:na]
   at 
 org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:571) 
 [main/:na]
 {noformat}
 This has no description of the error that occurred. After logging the 
 exception.
 {noformat}
 java.lang.NullPointerException: null
   at 
 org.apache.cassandra.config.DatabaseDescriptor.applyConfig(DatabaseDescriptor.java:347)
  ~[main/:na]
   at 
 org.apache.cassandra.config.DatabaseDescriptor.clinit(DatabaseDescriptor.java:102)
  ~[main/:na]
   at 
 org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:122) 
 [main/:na]
   at 
 org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:479)
  [main/:na]
   at 
 org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:571) 
 [main/:na]
 {noformat}
 Exceptions thrown in the DatabaseDescriptor should log in a useful way.
 This particular error should generate a message without a stack trace since 
 it is easily recognized.



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


[jira] [Updated] (CASSANDRA-8677) rpc_interface and listen_interface generate NPE on startup when specified interface doesn't exist

2015-01-26 Thread Ariel Weisberg (JIRA)

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

Ariel Weisberg updated CASSANDRA-8677:
--
Attachment: 8677.patch
8677-2.1.patch

Updated patch incorporating Robert's feedback.

 rpc_interface and listen_interface generate NPE on startup when specified 
 interface doesn't exist
 -

 Key: CASSANDRA-8677
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8677
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Ariel Weisberg
Assignee: Ariel Weisberg
 Attachments: 8677-2.1.patch, 8677.patch


 This is just a buggy UI bit.
 Initially the error I got was this which is redundant and not well formatted.
 {noformat}
 ERROR 20:12:55 Exception encountered during startup
 java.lang.ExceptionInInitializerError: null
 Fatal configuration error; unable to start. See log for stacktrace.
   at 
 org.apache.cassandra.config.DatabaseDescriptor.clinit(DatabaseDescriptor.java:108)
  ~[main/:na]
   at 
 org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:122) 
 [main/:na]
   at 
 org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:479)
  [main/:na]
   at 
 org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:571) 
 [main/:na]
 java.lang.ExceptionInInitializerError: null
 Fatal configuration error; unable to start. See log for stacktrace.
   at 
 org.apache.cassandra.config.DatabaseDescriptor.clinit(DatabaseDescriptor.java:108)
   at 
 org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:122)
   at 
 org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:479)
   at 
 org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:571)
 Exception encountered during startup: null
 Fatal configuration error; unable to start. See log for stacktrace.
 ERROR 20:12:55 Exception encountered during startup
 java.lang.ExceptionInInitializerError: null
 Fatal configuration error; unable to start. See log for stacktrace.
   at 
 org.apache.cassandra.config.DatabaseDescriptor.clinit(DatabaseDescriptor.java:108)
  ~[main/:na]
   at 
 org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:122) 
 [main/:na]
   at 
 org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:479)
  [main/:na]
   at 
 org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:571) 
 [main/:na]
 {noformat}
 This has no description of the error that occurred. After logging the 
 exception.
 {noformat}
 java.lang.NullPointerException: null
   at 
 org.apache.cassandra.config.DatabaseDescriptor.applyConfig(DatabaseDescriptor.java:347)
  ~[main/:na]
   at 
 org.apache.cassandra.config.DatabaseDescriptor.clinit(DatabaseDescriptor.java:102)
  ~[main/:na]
   at 
 org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:122) 
 [main/:na]
   at 
 org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:479)
  [main/:na]
   at 
 org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:571) 
 [main/:na]
 {noformat}
 Exceptions thrown in the DatabaseDescriptor should log in a useful way.
 This particular error should generate a message without a stack trace since 
 it is easily recognized.



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


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

2015-01-26 Thread Joshua McKenzie (JIRA)

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

Joshua McKenzie commented on CASSANDRA-8535:


[~maximp] Separate tickets, but before you do that - have you run a [nodetool 
scrub|http://www.datastax.com/documentation/cassandra/2.0/cassandra/tools/toolsScrub.html]
 against the offending keyspace?  the Index summary build failure is an 
assertion that it doesn't have any keys to write.  We could (probably should) 
move that assertion to earlier when the List is created to better indicate the 
failed path than during the build() call - please create a separate ticket for 
that stack and try out the scrub and report back on there.

As for your 2nd exception, looks like you have mismatched C* nodes trying to 
speak to one another.
{code:title=Frame exception}
if (version  Server.CURRENT_VERSION)
throw new ProtocolException(Invalid or unsupported protocol version:  + 
version);
{code}

 java.lang.RuntimeException: Failed to rename XXX to YYY
 ---

 Key: CASSANDRA-8535
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8535
 Project: Cassandra
  Issue Type: Bug
 Environment: Windows 2008 X64
Reporter: Leonid Shalupov
Assignee: Joshua McKenzie
 Fix For: 2.1.3

 Attachments: 8535_v1.txt


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



--
This message was sent by 

[jira] [Comment Edited] (CASSANDRA-8061) tmplink files are not removed

2015-01-26 Thread Mark Cooper (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8061?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14292329#comment-14292329
 ] 

Mark Cooper edited comment on CASSANDRA-8061 at 1/26/15 8:49 PM:
-

Ok, I am now running with this branch on one machine and am seeing this 
non-fatal assert in the logs pretty continuously. I'm not sure if this is 
related:

INFO  [CompactionExecutor:157] 2015-01-26 19:57:26,846 
ColumnFamilyStore.java:857 - Enqueuing flush of compactions_in_progress: 165 
(0%) on-heap, 0 (0%) off-heap
INFO  [MemtableFlushWriter:45] 2015-01-26 19:57:26,847 Memtable.java:339 - 
Writing Memtable-compactions_in_progress@1222533013(0 serialized bytes, 1 ops, 
0%/0% of on/off-heap limit)
INFO  [MemtableFlushWriter:45] 2015-01-26 19:57:26,852 Memtable.java:378 - 
Completed flushing 
/mnt/flash1/cass0/data/system/compactions_in_progress/system-compactions_in_progress-ka-43-Data.db
 (42 bytes) for commitlog position ReplayPosition(segmentId=142230151, 
position=26331623)
INFO  [CompactionExecutor:131] 2015-01-26 19:57:26,853 CompactionTask.java:136 
- Compacting 
[SSTableReader(path='/mnt/flash1/cass0/data/system/compactions_in_progress/system-compactions_in_progress-ka-40-Data.db'),
 
SSTableReader(path='/mnt/flash1/cass0/data/system/compactions_in_progress/system-compactions_in_progress-ka-42-Data.db'),
 
SSTableReader(path='/mnt/flash1/cass0/data/system/compactions_in_progress/system-compactions_in_progress-ka-41-Data.db'),
 
SSTableReader(path='/mnt/flash1/cass0/data/system/compactions_in_progress/system-compactions_in_progress-ka-43-Data.db')]
ERROR [CompactionExecutor:157] 2015-01-26 19:57:26,854 CassandraDaemon.java:170 
- Exception in thread Thread[CompactionExecutor:157,1,main]
java.lang.AssertionError: null
at org.apache.cassandra.io.util.Memory.size(Memory.java:307) ~[main/:na]
at 
org.apache.cassandra.utils.obs.OffHeapBitSet.capacity(OffHeapBitSet.java:61) 
~[main/:na]
at org.apache.cassandra.utils.BloomFilter.indexes(BloomFilter.java:74) 
~[main/:na]
at org.apache.cassandra.utils.BloomFilter.add(BloomFilter.java:89) 
~[main/:na]
at 
org.apache.cassandra.io.sstable.SSTableWriter$IndexWriter.append(SSTableWriter.java:618)
 ~[main/:na]
at 
org.apache.cassandra.io.sstable.SSTableWriter.afterAppend(SSTableWriter.java:187)
 ~[main/:na]
at 
org.apache.cassandra.io.sstable.SSTableWriter.append(SSTableWriter.java:210) 
~[main/:na]
at 
org.apache.cassandra.io.sstable.SSTableRewriter.append(SSTableRewriter.java:111)
 ~[main/:na]
at 
org.apache.cassandra.db.compaction.CompactionTask.runMayThrow(CompactionTask.java:188)
 ~[main/:na]
at 
org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) 
~[main/:na]
at 
org.apache.cassandra.db.compaction.CompactionTask.executeInternal(CompactionTask.java:75)
 ~[main/:na]
at 
org.apache.cassandra.db.compaction.AbstractCompactionTask.execute(AbstractCompactionTask.java:59)
 ~[main/:na]
at 
org.apache.cassandra.db.compaction.CompactionManager$BackgroundCompactionTask.run(CompactionManager.java:228)
 ~[main/:na]
at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
~[na:1.7.0_25]
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) 
~[na:1.7.0_25]
at java.util.concurrent.FutureTask.run(FutureTask.java:166) 
~[na:1.7.0_25]
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
~[na:1.7.0_25]
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
~[na:1.7.0_25]
at java.lang.Thread.run(Thread.java:724) ~[na:1.7.0_25]
Suppressed: java.lang.AssertionError: null
at org.apache.cassandra.io.util.Memory.size(Memory.java:307) 
~[main/:na]
at 
org.apache.cassandra.utils.obs.OffHeapBitSet.serialize(OffHeapBitSet.java:108) 
~[main/:na]
at 
org.apache.cassandra.utils.BloomFilterSerializer.serialize(BloomFilterSerializer.java:35)
 ~[main/:na]
at 
org.apache.cassandra.utils.Murmur3BloomFilter$Murmur3BloomFilterSerializer.serialize(Murmur3BloomFilter.java:50)
 ~[main/:na]
at 
org.apache.cassandra.utils.FilterFactory.serialize(FilterFactory.java:40) 
~[main/:na]
at 
org.apache.cassandra.io.sstable.SSTableWriter$IndexWriter.close(SSTableWriter.java:657)
 ~[main/:na]
at 
org.apache.cassandra.io.sstable.SSTableWriter.close(SSTableWriter.java:512) 
~[main/:na]
at 
org.apache.cassandra.io.sstable.SSTableWriter.finish(SSTableWriter.java:466) 
~[main/:na]
at 
org.apache.cassandra.io.sstable.SSTableRewriter.switchWriter(SSTableRewriter.java:288)
 ~[main/:na]
at 
org.apache.cassandra.io.sstable.SSTableRewriter.abort(SSTableRewriter.java:179) 

[jira] [Created] (CASSANDRA-8688) Standalone sstableupgrade tool throws exception

2015-01-26 Thread Yuki Morishita (JIRA)
Yuki Morishita created CASSANDRA-8688:
-

 Summary: Standalone sstableupgrade tool throws exception
 Key: CASSANDRA-8688
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8688
 Project: Cassandra
  Issue Type: Bug
Reporter: Yuki Morishita
Assignee: Yuki Morishita
Priority: Minor
 Fix For: 2.1.3
 Attachments: 
0001-remove-size-calculation-from-standalone-sstbaleupgra.patch

Standalone sstableupgrade throws following exception:

{code}
Exception in thread main java.lang.AssertionError: Incoherent new size -1 
replacing 
[SSTableReader(path='/cassandra/bin/./../data/data/ks/cf-0f578640a59211e4a5a2ef9f87394ca6/ks-cf-jb-53881-Data.db')]
 by [] in View(pending_count=0, sstables=[], compacting=[])
at org.apache.cassandra.db.DataTracker$View.newSSTables(DataTracker.java:741)
at org.apache.cassandra.db.DataTracker$View.replace(DataTracker.java:713)
at 
org.apache.cassandra.db.DataTracker.removeSSTablesFromTracker(DataTracker.java:418)
at org.apache.cassandra.db.DataTracker.markCompactedSSTablesReplaced(
DataTracker.java:273)
at org.apache.cassandra.db.compaction.Upgrader.upgrade(Upgrader.java:96)
{code}

Upgrader is trying to calculate SSTables size dispite the tool is meant to be 
used offline.

This is introduced in CASSANDRA-7852 and only affects cassandra 2.1.2.
Online upgrade (nodetool upgradesstables) is not affected.



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


[jira] [Commented] (CASSANDRA-6285) 2.0 HSHA server introduces corrupt data

2015-01-26 Thread Randy Fradin (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-6285?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14292451#comment-14292451
 ] 

Randy Fradin commented on CASSANDRA-6285:
-

I am getting this exception using Thrift HSHA in 2.1.0:

{quote}
 INFO [CompactionExecutor:8] 2015-01-26 13:32:51,818 CompactionTask.java (line 
138) Compacting 
[SSTableReader(path='/tmp/cass_test/cassandra/TestCassandra/data/test_ks/test_cf-1c45da40a58911e4826751fbbc77b187/test_ks-test_cf-ka-2-Data.db'),
 
SSTableReader(path='/tmp/cass_test/cassandra/TestCassandra/data/test_ks/test_cf-1c45da40a58911e4826751fbbc77b187/test_ks-test_cf-ka-1-Data.db')]
 INFO [CompactionExecutor:8] 2015-01-26 13:32:51,890 ColumnFamilyStore.java 
(line 856) Enqueuing flush of compactions_in_progress: 212 (0%) on-heap, 20 
(0%) off-heap
 INFO [MemtableFlushWriter:8] 2015-01-26 13:32:51,892 Memtable.java (line 326) 
Writing Memtable-compactions_in_progress@1155018639(0 serialized bytes, 1 ops, 
0%/0% of on/off-heap limit)
 INFO [MemtableFlushWriter:8] 2015-01-26 13:32:51,896 Memtable.java (line 360) 
Completed flushing 
/tmp/cass_test/cassandra/TestCassandra/data/system/compactions_in_progress-55080ab05d9c388690a4acb25fe1f77b/system-compactions_in_progress-ka-2-Data.db
 (42 bytes) for commitlog position ReplayPosition(segmentId=1422296630707, 
position=430226)
ERROR [CompactionExecutor:8] 2015-01-26 13:32:51,906 CassandraDaemon.java (line 
166) Exception in thread Thread[CompactionExecutor:8,1,RMI Runtime]
java.lang.RuntimeException: Last written key 
DecoratedKey(131206587314004820534098544948237170809, 
80010001000c62617463685f6d757461746500) = current key 
DecoratedKey(14775611966645399672119169777260659240, 
726f776b65793030385f31343232323937313537353835) writing into 
/tmp/cass_test/cassandra/TestCassandra/data/test_ks/test_cf-1c45da40a58911e4826751fbbc77b187/test_ks-test_cf-tmp-ka-3-Data.db
at 
org.apache.cassandra.io.sstable.SSTableWriter.beforeAppend(SSTableWriter.java:172)
 ~[apache-cassandra-2.1.0.jar:2.1.0]
at 
org.apache.cassandra.io.sstable.SSTableWriter.append(SSTableWriter.java:196) 
~[apache-cassandra-2.1.0.jar:2.1.0]
at 
org.apache.cassandra.io.sstable.SSTableRewriter.append(SSTableRewriter.java:110)
 ~[apache-cassandra-2.1.0.jar:2.1.0]
at 
org.apache.cassandra.db.compaction.CompactionTask.runWith(CompactionTask.java:177)
 ~[apache-cassandra-2.1.0.jar:2.1.0]
at 
org.apache.cassandra.io.util.DiskAwareRunnable.runMayThrow(DiskAwareRunnable.java:48)
 ~[apache-cassandra-2.1.0.jar:2.1.0]
at 
org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) 
~[apache-cassandra-2.1.0.jar:2.1.0]
at 
org.apache.cassandra.db.compaction.CompactionTask.executeInternal(CompactionTask.java:74)
 ~[apache-cassandra-2.1.0.jar:2.1.0]
at 
org.apache.cassandra.db.compaction.AbstractCompactionTask.execute(AbstractCompactionTask.java:59)
 ~[apache-cassandra-2.1.0.jar:2.1.0]
at 
org.apache.cassandra.db.compaction.CompactionManager$BackgroundCompactionTask.run(CompactionManager.java:235)
 ~[apache-cassandra-2.1.0.jar:2.1.0]
at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
~[na:1.7.0_40]
at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
~[na:1.7.0_40]
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
~[na:1.7.0_40]
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
[na:1.7.0_40]
at java.lang.Thread.run(Thread.java:724) [na:1.7.0_40]
{quote}

I don't think it's caused by CASSANDRA-8211, because it happens during the 
first compaction that takes place between the first 2 SSTables to get flushed 
from an initially empty column family.

Also, I've only been able to reproduce it when using both *hsha* for the rpc 
server and *offheap_objects* for memtable allocation. If I switch either to 
sync or to offheap_buffers or heap_buffers then I cannot reproduce the problem. 
Also under the same circumstances I'm pretty sure I've seen incorrect data 
being returned to a client multiget_slice request before any SSTables had been 
flushed yet, so I presume this is corruption that happens before any 
flush/compaction takes place.

nodetool scrub yielded these errors:

{quote}
 INFO [CompactionExecutor:9] 2015-01-26 13:48:01,512 OutputHandler.java (line 
42) Scrubbing 
SSTableReader(path='/tmp/cass_test/cassandra/TestCassandra/data/test_ks/test_cf-1c45da40a58911e4826751fbbc77b187/test_ks-test_cf-ka-2-Data.db')
 (168780 bytes)
 INFO [CompactionExecutor:10] 2015-01-26 13:48:01,512 OutputHandler.java (line 
42) Scrubbing 
SSTableReader(path='/tmp/cass_test/cassandra/TestCassandra/data/test_ks/test_cf-1c45da40a58911e4826751fbbc77b187/test_ks-test_cf-ka-1-Data.db')
 (135024 bytes)
 WARN [CompactionExecutor:9] 2015-01-26 13:48:01,531 OutputHandler.java (line 
52) Out of 

[jira] [Created] (CASSANDRA-8689) Assertion error in 2.1.2: ERROR [IndexSummaryManager:1]

2015-01-26 Thread Jeff Liu (JIRA)
Jeff Liu created CASSANDRA-8689:
---

 Summary: Assertion error in 2.1.2: ERROR [IndexSummaryManager:1]
 Key: CASSANDRA-8689
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8689
 Project: Cassandra
  Issue Type: Bug
Reporter: Jeff Liu


After upgrading a 6 nodes cassandra from 2.1.0 to 2.1.2, start getting the 
following assertion error.

/noformat
ERROR [IndexSummaryManager:1] 2015-01-26 20:55:40,451 CassandraDaemon.java:153 
- Exception in thread Thread[IndexSummaryManager:1,1,main]
java.lang.AssertionError: null
at org.apache.cassandra.io.util.Memory.size(Memory.java:307) 
~[apache-cassandra-2.1.2.jar:2.1.2]
at 
org.apache.cassandra.io.sstable.IndexSummary.getOffHeapSize(IndexSummary.java:192)
 ~[apache-cassandra-2.1.2.jar:2.1.2]
at 
org.apache.cassandra.io.sstable.SSTableReader.getIndexSummaryOffHeapSize(SSTableReader.java:1070)
 ~[apache-cassandra-2.1.2.jar:2.1.2]
at 
org.apache.cassandra.io.sstable.IndexSummaryManager.redistributeSummaries(IndexSummaryManager.java:292)
 ~[apache-cassandra-2.1.2.jar:2.1.2]
at 
org.apache.cassandra.io.sstable.IndexSummaryManager.redistributeSummaries(IndexSummaryManager.java:238)
 ~[apache-cassandra-2.1.2.jar:2.1.2]
at 
org.apache.cassandra.io.sstable.IndexSummaryManager$1.runMayThrow(IndexSummaryManager.java:139)
 ~[apache-cassandra-2.1.2.jar:2.1.2]
at 
org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) 
~[apache-cassandra-2.1.2.jar:2.1.2]
at 
org.apache.cassandra.concurrent.DebuggableScheduledThreadPoolExecutor$UncomplainingRunnable.run(DebuggableScheduledThreadPoolExecutor.java:77)
 ~[apache-cassandra-2.1.2.jar:2.1.2]
at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
[na:1.7.0_45]
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304) 
[na:1.7.0_45]
at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)
 [na:1.7.0_45]
at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
 [na:1.7.0_45]
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
[na:1.7.0_45]
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
[na:1.7.0_45]
at java.lang.Thread.run(Thread.java:744) [na:1.7.0_45]
/noformat



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


[jira] [Comment Edited] (CASSANDRA-8061) tmplink files are not removed

2015-01-26 Thread Mark Cooper (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8061?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14292404#comment-14292404
 ] 

Mark Cooper edited comment on CASSANDRA-8061 at 1/26/15 9:01 PM:
-

[~JoshuaMcKenzie]  - oops yes, meant to say I am now running this patch. 

After reading through the patch I added this to bin/cassandra:

+cassandra_parms=$cassandra_parms -Dcassandra.debugrefcount=true

I assume I'll see things like:

BAD RELEASE...
LEAK DETECTED...

...in the logs. So far I don't see this.


was (Author: markncooper):
[~JoshuaMcKenzie]  - oops yes, meant to say I am now running this patch. 

 tmplink files are not removed
 -

 Key: CASSANDRA-8061
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8061
 Project: Cassandra
  Issue Type: Bug
  Components: Core
 Environment: Linux
Reporter: Gianluca Borello
Assignee: Joshua McKenzie
 Fix For: 2.1.3

 Attachments: 8061_v1.txt, 8248-thread_dump.txt


 After installing 2.1.0, I'm experiencing a bunch of tmplink files that are 
 filling my disk. I found https://issues.apache.org/jira/browse/CASSANDRA-7803 
 and that is very similar, and I confirm it happens both on 2.1.0 as well as 
 from the latest commit on the cassandra-2.1 branch 
 (https://github.com/apache/cassandra/commit/aca80da38c3d86a40cc63d9a122f7d45258e4685
  from the cassandra-2.1)
 Even starting with a clean keyspace, after a few hours I get:
 {noformat}
 $ sudo find /raid0 | grep tmplink | xargs du -hs
 2.7G  
 /raid0/cassandra/data/draios/protobuf1-ccc6dce04beb11e4abf997b38fbf920b/draios-protobuf1-tmplink-ka-4515-Data.db
 13M   
 /raid0/cassandra/data/draios/protobuf1-ccc6dce04beb11e4abf997b38fbf920b/draios-protobuf1-tmplink-ka-4515-Index.db
 1.8G  
 /raid0/cassandra/data/draios/protobuf_by_agent1-cd071a304beb11e4abf997b38fbf920b/draios-protobuf_by_agent1-tmplink-ka-1788-Data.db
 12M   
 /raid0/cassandra/data/draios/protobuf_by_agent1-cd071a304beb11e4abf997b38fbf920b/draios-protobuf_by_agent1-tmplink-ka-1788-Index.db
 5.2M  
 /raid0/cassandra/data/draios/protobuf_by_agent1-cd071a304beb11e4abf997b38fbf920b/draios-protobuf_by_agent1-tmplink-ka-2678-Index.db
 822M  
 /raid0/cassandra/data/draios/protobuf_by_agent1-cd071a304beb11e4abf997b38fbf920b/draios-protobuf_by_agent1-tmplink-ka-2678-Data.db
 7.3M  
 /raid0/cassandra/data/draios/protobuf_by_agent1-cd071a304beb11e4abf997b38fbf920b/draios-protobuf_by_agent1-tmplink-ka-3283-Index.db
 1.2G  
 /raid0/cassandra/data/draios/protobuf_by_agent1-cd071a304beb11e4abf997b38fbf920b/draios-protobuf_by_agent1-tmplink-ka-3283-Data.db
 6.7M  
 /raid0/cassandra/data/draios/protobuf_by_agent1-cd071a304beb11e4abf997b38fbf920b/draios-protobuf_by_agent1-tmplink-ka-3951-Index.db
 1.1G  
 /raid0/cassandra/data/draios/protobuf_by_agent1-cd071a304beb11e4abf997b38fbf920b/draios-protobuf_by_agent1-tmplink-ka-3951-Data.db
 11M   
 /raid0/cassandra/data/draios/protobuf_by_agent1-cd071a304beb11e4abf997b38fbf920b/draios-protobuf_by_agent1-tmplink-ka-4799-Index.db
 1.7G  
 /raid0/cassandra/data/draios/protobuf_by_agent1-cd071a304beb11e4abf997b38fbf920b/draios-protobuf_by_agent1-tmplink-ka-4799-Data.db
 812K  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-234-Index.db
 122M  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-208-Data.db
 744K  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-739-Index.db
 660K  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-193-Index.db
 796K  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-230-Index.db
 137M  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-230-Data.db
 161M  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-269-Data.db
 139M  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-234-Data.db
 940K  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-786-Index.db
 936K  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-269-Index.db
 161M  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-786-Data.db
 672K  
 

[jira] [Updated] (CASSANDRA-8689) Assertion error in 2.1.2: ERROR [IndexSummaryManager:1]

2015-01-26 Thread Jeff Liu (JIRA)

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

Jeff Liu updated CASSANDRA-8689:

Description: 
After upgrading a 6 nodes cassandra from 2.1.0 to 2.1.2, start getting the 
following assertion error.

{noformat}
ERROR [IndexSummaryManager:1] 2015-01-26 20:55:40,451 CassandraDaemon.java:153 
- Exception in thread Thread[IndexSummaryManager:1,1,main]
java.lang.AssertionError: null
at org.apache.cassandra.io.util.Memory.size(Memory.java:307) 
~[apache-cassandra-2.1.2.jar:2.1.2]
at 
org.apache.cassandra.io.sstable.IndexSummary.getOffHeapSize(IndexSummary.java:192)
 ~[apache-cassandra-2.1.2.jar:2.1.2]
at 
org.apache.cassandra.io.sstable.SSTableReader.getIndexSummaryOffHeapSize(SSTableReader.java:1070)
 ~[apache-cassandra-2.1.2.jar:2.1.2]
at 
org.apache.cassandra.io.sstable.IndexSummaryManager.redistributeSummaries(IndexSummaryManager.java:292)
 ~[apache-cassandra-2.1.2.jar:2.1.2]
at 
org.apache.cassandra.io.sstable.IndexSummaryManager.redistributeSummaries(IndexSummaryManager.java:238)
 ~[apache-cassandra-2.1.2.jar:2.1.2]
at 
org.apache.cassandra.io.sstable.IndexSummaryManager$1.runMayThrow(IndexSummaryManager.java:139)
 ~[apache-cassandra-2.1.2.jar:2.1.2]
at 
org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) 
~[apache-cassandra-2.1.2.jar:2.1.2]
at 
org.apache.cassandra.concurrent.DebuggableScheduledThreadPoolExecutor$UncomplainingRunnable.run(DebuggableScheduledThreadPoolExecutor.java:77)
 ~[apache-cassandra-2.1.2.jar:2.1.2]
at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
[na:1.7.0_45]
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304) 
[na:1.7.0_45]
at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)
 [na:1.7.0_45]
at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
 [na:1.7.0_45]
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
[na:1.7.0_45]
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
[na:1.7.0_45]
at java.lang.Thread.run(Thread.java:744) [na:1.7.0_45]
{noformat}

cassandra service is still running despite the issue. Node has total 8G memory 
with 2G allocated to heap. We are basically running read queries to retrieve 
data out of cassandra.




  was:
After upgrading a 6 nodes cassandra from 2.1.0 to 2.1.2, start getting the 
following assertion error.

{noformat}
ERROR [IndexSummaryManager:1] 2015-01-26 20:55:40,451 CassandraDaemon.java:153 
- Exception in thread Thread[IndexSummaryManager:1,1,main]
java.lang.AssertionError: null
at org.apache.cassandra.io.util.Memory.size(Memory.java:307) 
~[apache-cassandra-2.1.2.jar:2.1.2]
at 
org.apache.cassandra.io.sstable.IndexSummary.getOffHeapSize(IndexSummary.java:192)
 ~[apache-cassandra-2.1.2.jar:2.1.2]
at 
org.apache.cassandra.io.sstable.SSTableReader.getIndexSummaryOffHeapSize(SSTableReader.java:1070)
 ~[apache-cassandra-2.1.2.jar:2.1.2]
at 
org.apache.cassandra.io.sstable.IndexSummaryManager.redistributeSummaries(IndexSummaryManager.java:292)
 ~[apache-cassandra-2.1.2.jar:2.1.2]
at 
org.apache.cassandra.io.sstable.IndexSummaryManager.redistributeSummaries(IndexSummaryManager.java:238)
 ~[apache-cassandra-2.1.2.jar:2.1.2]
at 
org.apache.cassandra.io.sstable.IndexSummaryManager$1.runMayThrow(IndexSummaryManager.java:139)
 ~[apache-cassandra-2.1.2.jar:2.1.2]
at 
org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) 
~[apache-cassandra-2.1.2.jar:2.1.2]
at 
org.apache.cassandra.concurrent.DebuggableScheduledThreadPoolExecutor$UncomplainingRunnable.run(DebuggableScheduledThreadPoolExecutor.java:77)
 ~[apache-cassandra-2.1.2.jar:2.1.2]
at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
[na:1.7.0_45]
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304) 
[na:1.7.0_45]
at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)
 [na:1.7.0_45]
at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
 [na:1.7.0_45]
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
[na:1.7.0_45]
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
[na:1.7.0_45]
at java.lang.Thread.run(Thread.java:744) [na:1.7.0_45]
{noformat}

cassandra service is still running despite the issue. Node has total 8G memory 
with 2G allocated to heap.



 Assertion error in 2.1.2: ERROR [IndexSummaryManager:1]
 

[jira] [Updated] (CASSANDRA-8689) Assertion error in 2.1.2: ERROR [IndexSummaryManager:1]

2015-01-26 Thread Jeff Liu (JIRA)

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

Jeff Liu updated CASSANDRA-8689:

Description: 
After upgrading a 6 nodes cassandra from 2.1.0 to 2.1.2, start getting the 
following assertion error.

{noformat}
ERROR [IndexSummaryManager:1] 2015-01-26 20:55:40,451 CassandraDaemon.java:153 
- Exception in thread Thread[IndexSummaryManager:1,1,main]
java.lang.AssertionError: null
at org.apache.cassandra.io.util.Memory.size(Memory.java:307) 
~[apache-cassandra-2.1.2.jar:2.1.2]
at 
org.apache.cassandra.io.sstable.IndexSummary.getOffHeapSize(IndexSummary.java:192)
 ~[apache-cassandra-2.1.2.jar:2.1.2]
at 
org.apache.cassandra.io.sstable.SSTableReader.getIndexSummaryOffHeapSize(SSTableReader.java:1070)
 ~[apache-cassandra-2.1.2.jar:2.1.2]
at 
org.apache.cassandra.io.sstable.IndexSummaryManager.redistributeSummaries(IndexSummaryManager.java:292)
 ~[apache-cassandra-2.1.2.jar:2.1.2]
at 
org.apache.cassandra.io.sstable.IndexSummaryManager.redistributeSummaries(IndexSummaryManager.java:238)
 ~[apache-cassandra-2.1.2.jar:2.1.2]
at 
org.apache.cassandra.io.sstable.IndexSummaryManager$1.runMayThrow(IndexSummaryManager.java:139)
 ~[apache-cassandra-2.1.2.jar:2.1.2]
at 
org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) 
~[apache-cassandra-2.1.2.jar:2.1.2]
at 
org.apache.cassandra.concurrent.DebuggableScheduledThreadPoolExecutor$UncomplainingRunnable.run(DebuggableScheduledThreadPoolExecutor.java:77)
 ~[apache-cassandra-2.1.2.jar:2.1.2]
at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
[na:1.7.0_45]
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304) 
[na:1.7.0_45]
at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)
 [na:1.7.0_45]
at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
 [na:1.7.0_45]
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
[na:1.7.0_45]
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
[na:1.7.0_45]
at java.lang.Thread.run(Thread.java:744) [na:1.7.0_45]
{noformat}

cassandra service is still running despite the issue. Node has total 8G memory 
with 2G allocated to heap.


  was:
After upgrading a 6 nodes cassandra from 2.1.0 to 2.1.2, start getting the 
following assertion error.

/noformat
ERROR [IndexSummaryManager:1] 2015-01-26 20:55:40,451 CassandraDaemon.java:153 
- Exception in thread Thread[IndexSummaryManager:1,1,main]
java.lang.AssertionError: null
at org.apache.cassandra.io.util.Memory.size(Memory.java:307) 
~[apache-cassandra-2.1.2.jar:2.1.2]
at 
org.apache.cassandra.io.sstable.IndexSummary.getOffHeapSize(IndexSummary.java:192)
 ~[apache-cassandra-2.1.2.jar:2.1.2]
at 
org.apache.cassandra.io.sstable.SSTableReader.getIndexSummaryOffHeapSize(SSTableReader.java:1070)
 ~[apache-cassandra-2.1.2.jar:2.1.2]
at 
org.apache.cassandra.io.sstable.IndexSummaryManager.redistributeSummaries(IndexSummaryManager.java:292)
 ~[apache-cassandra-2.1.2.jar:2.1.2]
at 
org.apache.cassandra.io.sstable.IndexSummaryManager.redistributeSummaries(IndexSummaryManager.java:238)
 ~[apache-cassandra-2.1.2.jar:2.1.2]
at 
org.apache.cassandra.io.sstable.IndexSummaryManager$1.runMayThrow(IndexSummaryManager.java:139)
 ~[apache-cassandra-2.1.2.jar:2.1.2]
at 
org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) 
~[apache-cassandra-2.1.2.jar:2.1.2]
at 
org.apache.cassandra.concurrent.DebuggableScheduledThreadPoolExecutor$UncomplainingRunnable.run(DebuggableScheduledThreadPoolExecutor.java:77)
 ~[apache-cassandra-2.1.2.jar:2.1.2]
at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
[na:1.7.0_45]
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304) 
[na:1.7.0_45]
at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)
 [na:1.7.0_45]
at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
 [na:1.7.0_45]
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
[na:1.7.0_45]
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
[na:1.7.0_45]
at java.lang.Thread.run(Thread.java:744) [na:1.7.0_45]
/noformat


 Assertion error in 2.1.2: ERROR [IndexSummaryManager:1]
 ---

 Key: CASSANDRA-8689
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8689
 Project: Cassandra
  Issue 

[jira] [Updated] (CASSANDRA-8689) Assertion error in 2.1.2: ERROR [IndexSummaryManager:1]

2015-01-26 Thread Philip Thompson (JIRA)

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

Philip Thompson updated CASSANDRA-8689:
---
Reproduced In: 2.1.2
Fix Version/s: 2.1.3

 Assertion error in 2.1.2: ERROR [IndexSummaryManager:1]
 ---

 Key: CASSANDRA-8689
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8689
 Project: Cassandra
  Issue Type: Bug
Reporter: Jeff Liu
 Fix For: 2.1.3


 After upgrading a 6 nodes cassandra from 2.1.0 to 2.1.2, start getting the 
 following assertion error.
 {noformat}
 ERROR [IndexSummaryManager:1] 2015-01-26 20:55:40,451 
 CassandraDaemon.java:153 - Exception in thread 
 Thread[IndexSummaryManager:1,1,main]
 java.lang.AssertionError: null
 at org.apache.cassandra.io.util.Memory.size(Memory.java:307) 
 ~[apache-cassandra-2.1.2.jar:2.1.2]
 at 
 org.apache.cassandra.io.sstable.IndexSummary.getOffHeapSize(IndexSummary.java:192)
  ~[apache-cassandra-2.1.2.jar:2.1.2]
 at 
 org.apache.cassandra.io.sstable.SSTableReader.getIndexSummaryOffHeapSize(SSTableReader.java:1070)
  ~[apache-cassandra-2.1.2.jar:2.1.2]
 at 
 org.apache.cassandra.io.sstable.IndexSummaryManager.redistributeSummaries(IndexSummaryManager.java:292)
  ~[apache-cassandra-2.1.2.jar:2.1.2]
 at 
 org.apache.cassandra.io.sstable.IndexSummaryManager.redistributeSummaries(IndexSummaryManager.java:238)
  ~[apache-cassandra-2.1.2.jar:2.1.2]
 at 
 org.apache.cassandra.io.sstable.IndexSummaryManager$1.runMayThrow(IndexSummaryManager.java:139)
  ~[apache-cassandra-2.1.2.jar:2.1.2]
 at 
 org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) 
 ~[apache-cassandra-2.1.2.jar:2.1.2]
 at 
 org.apache.cassandra.concurrent.DebuggableScheduledThreadPoolExecutor$UncomplainingRunnable.run(DebuggableScheduledThreadPoolExecutor.java:77)
  ~[apache-cassandra-2.1.2.jar:2.1.2]
 at 
 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
 [na:1.7.0_45]
 at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304) 
 [na:1.7.0_45]
 at 
 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)
  [na:1.7.0_45]
 at 
 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
  [na:1.7.0_45]
 at 
 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
  [na:1.7.0_45]
 at 
 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
  [na:1.7.0_45]
 at java.lang.Thread.run(Thread.java:744) [na:1.7.0_45]
 {noformat}
 cassandra service is still running despite the issue. Node has total 8G 
 memory with 2G allocated to heap. We are basically running read queries to 
 retrieve data out of cassandra.



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


[jira] [Commented] (CASSANDRA-8666) Simplify logic of ABSC#BatchRemoveIterator#commit()

2015-01-26 Thread Joshua McKenzie (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8666?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14292377#comment-14292377
 ] 

Joshua McKenzie commented on CASSANDRA-8666:


+1

 Simplify logic of ABSC#BatchRemoveIterator#commit()
 ---

 Key: CASSANDRA-8666
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8666
 Project: Cassandra
  Issue Type: Improvement
Reporter: Aleksey Yeschenko
Assignee: Aleksey Yeschenko
Priority: Trivial
 Fix For: 2.1.3, 2.0.13

 Attachments: 8666.txt


 Replace current logic with a straightforward single loop.



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


[jira] [Commented] (CASSANDRA-8061) tmplink files are not removed

2015-01-26 Thread Joshua McKenzie (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8061?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14292396#comment-14292396
 ] 

Joshua McKenzie commented on CASSANDRA-8061:


[~markncooper] Did you mean you are now running this patch?

I've seen the null assertion on Memory.size when making changes to ordering of 
SSTableReader cleanup / deletion / SSTableRewriter stuff locally so it'd make a 
bit more sense if you're seeing it with the other branch rather than on 2.1.2.

 tmplink files are not removed
 -

 Key: CASSANDRA-8061
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8061
 Project: Cassandra
  Issue Type: Bug
  Components: Core
 Environment: Linux
Reporter: Gianluca Borello
Assignee: Joshua McKenzie
 Fix For: 2.1.3

 Attachments: 8061_v1.txt, 8248-thread_dump.txt


 After installing 2.1.0, I'm experiencing a bunch of tmplink files that are 
 filling my disk. I found https://issues.apache.org/jira/browse/CASSANDRA-7803 
 and that is very similar, and I confirm it happens both on 2.1.0 as well as 
 from the latest commit on the cassandra-2.1 branch 
 (https://github.com/apache/cassandra/commit/aca80da38c3d86a40cc63d9a122f7d45258e4685
  from the cassandra-2.1)
 Even starting with a clean keyspace, after a few hours I get:
 {noformat}
 $ sudo find /raid0 | grep tmplink | xargs du -hs
 2.7G  
 /raid0/cassandra/data/draios/protobuf1-ccc6dce04beb11e4abf997b38fbf920b/draios-protobuf1-tmplink-ka-4515-Data.db
 13M   
 /raid0/cassandra/data/draios/protobuf1-ccc6dce04beb11e4abf997b38fbf920b/draios-protobuf1-tmplink-ka-4515-Index.db
 1.8G  
 /raid0/cassandra/data/draios/protobuf_by_agent1-cd071a304beb11e4abf997b38fbf920b/draios-protobuf_by_agent1-tmplink-ka-1788-Data.db
 12M   
 /raid0/cassandra/data/draios/protobuf_by_agent1-cd071a304beb11e4abf997b38fbf920b/draios-protobuf_by_agent1-tmplink-ka-1788-Index.db
 5.2M  
 /raid0/cassandra/data/draios/protobuf_by_agent1-cd071a304beb11e4abf997b38fbf920b/draios-protobuf_by_agent1-tmplink-ka-2678-Index.db
 822M  
 /raid0/cassandra/data/draios/protobuf_by_agent1-cd071a304beb11e4abf997b38fbf920b/draios-protobuf_by_agent1-tmplink-ka-2678-Data.db
 7.3M  
 /raid0/cassandra/data/draios/protobuf_by_agent1-cd071a304beb11e4abf997b38fbf920b/draios-protobuf_by_agent1-tmplink-ka-3283-Index.db
 1.2G  
 /raid0/cassandra/data/draios/protobuf_by_agent1-cd071a304beb11e4abf997b38fbf920b/draios-protobuf_by_agent1-tmplink-ka-3283-Data.db
 6.7M  
 /raid0/cassandra/data/draios/protobuf_by_agent1-cd071a304beb11e4abf997b38fbf920b/draios-protobuf_by_agent1-tmplink-ka-3951-Index.db
 1.1G  
 /raid0/cassandra/data/draios/protobuf_by_agent1-cd071a304beb11e4abf997b38fbf920b/draios-protobuf_by_agent1-tmplink-ka-3951-Data.db
 11M   
 /raid0/cassandra/data/draios/protobuf_by_agent1-cd071a304beb11e4abf997b38fbf920b/draios-protobuf_by_agent1-tmplink-ka-4799-Index.db
 1.7G  
 /raid0/cassandra/data/draios/protobuf_by_agent1-cd071a304beb11e4abf997b38fbf920b/draios-protobuf_by_agent1-tmplink-ka-4799-Data.db
 812K  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-234-Index.db
 122M  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-208-Data.db
 744K  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-739-Index.db
 660K  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-193-Index.db
 796K  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-230-Index.db
 137M  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-230-Data.db
 161M  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-269-Data.db
 139M  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-234-Data.db
 940K  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-786-Index.db
 936K  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-269-Index.db
 161M  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-786-Data.db
 672K  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-197-Index.db
 113M  
 

[jira] [Commented] (CASSANDRA-8061) tmplink files are not removed

2015-01-26 Thread Joshua McKenzie (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8061?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14292400#comment-14292400
 ] 

Joshua McKenzie commented on CASSANDRA-8061:


/cc [~benedict]: how confident are you as to the current state of your 7705-2.1 
branch?

 tmplink files are not removed
 -

 Key: CASSANDRA-8061
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8061
 Project: Cassandra
  Issue Type: Bug
  Components: Core
 Environment: Linux
Reporter: Gianluca Borello
Assignee: Joshua McKenzie
 Fix For: 2.1.3

 Attachments: 8061_v1.txt, 8248-thread_dump.txt


 After installing 2.1.0, I'm experiencing a bunch of tmplink files that are 
 filling my disk. I found https://issues.apache.org/jira/browse/CASSANDRA-7803 
 and that is very similar, and I confirm it happens both on 2.1.0 as well as 
 from the latest commit on the cassandra-2.1 branch 
 (https://github.com/apache/cassandra/commit/aca80da38c3d86a40cc63d9a122f7d45258e4685
  from the cassandra-2.1)
 Even starting with a clean keyspace, after a few hours I get:
 {noformat}
 $ sudo find /raid0 | grep tmplink | xargs du -hs
 2.7G  
 /raid0/cassandra/data/draios/protobuf1-ccc6dce04beb11e4abf997b38fbf920b/draios-protobuf1-tmplink-ka-4515-Data.db
 13M   
 /raid0/cassandra/data/draios/protobuf1-ccc6dce04beb11e4abf997b38fbf920b/draios-protobuf1-tmplink-ka-4515-Index.db
 1.8G  
 /raid0/cassandra/data/draios/protobuf_by_agent1-cd071a304beb11e4abf997b38fbf920b/draios-protobuf_by_agent1-tmplink-ka-1788-Data.db
 12M   
 /raid0/cassandra/data/draios/protobuf_by_agent1-cd071a304beb11e4abf997b38fbf920b/draios-protobuf_by_agent1-tmplink-ka-1788-Index.db
 5.2M  
 /raid0/cassandra/data/draios/protobuf_by_agent1-cd071a304beb11e4abf997b38fbf920b/draios-protobuf_by_agent1-tmplink-ka-2678-Index.db
 822M  
 /raid0/cassandra/data/draios/protobuf_by_agent1-cd071a304beb11e4abf997b38fbf920b/draios-protobuf_by_agent1-tmplink-ka-2678-Data.db
 7.3M  
 /raid0/cassandra/data/draios/protobuf_by_agent1-cd071a304beb11e4abf997b38fbf920b/draios-protobuf_by_agent1-tmplink-ka-3283-Index.db
 1.2G  
 /raid0/cassandra/data/draios/protobuf_by_agent1-cd071a304beb11e4abf997b38fbf920b/draios-protobuf_by_agent1-tmplink-ka-3283-Data.db
 6.7M  
 /raid0/cassandra/data/draios/protobuf_by_agent1-cd071a304beb11e4abf997b38fbf920b/draios-protobuf_by_agent1-tmplink-ka-3951-Index.db
 1.1G  
 /raid0/cassandra/data/draios/protobuf_by_agent1-cd071a304beb11e4abf997b38fbf920b/draios-protobuf_by_agent1-tmplink-ka-3951-Data.db
 11M   
 /raid0/cassandra/data/draios/protobuf_by_agent1-cd071a304beb11e4abf997b38fbf920b/draios-protobuf_by_agent1-tmplink-ka-4799-Index.db
 1.7G  
 /raid0/cassandra/data/draios/protobuf_by_agent1-cd071a304beb11e4abf997b38fbf920b/draios-protobuf_by_agent1-tmplink-ka-4799-Data.db
 812K  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-234-Index.db
 122M  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-208-Data.db
 744K  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-739-Index.db
 660K  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-193-Index.db
 796K  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-230-Index.db
 137M  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-230-Data.db
 161M  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-269-Data.db
 139M  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-234-Data.db
 940K  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-786-Index.db
 936K  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-269-Index.db
 161M  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-786-Data.db
 672K  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-197-Index.db
 113M  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-193-Data.db
 116M  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-197-Data.db
 

cassandra git commit: trunk is using 1.0.5.2 of snappy-java

2015-01-26 Thread dbrosius
Repository: cassandra
Updated Branches:
  refs/heads/trunk 0b08c994c - 7fb99d93f


trunk is using 1.0.5.2 of snappy-java


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

Branch: refs/heads/trunk
Commit: 7fb99d93ff32a9e972d9f359705e123e6b72e0f6
Parents: 0b08c99
Author: Dave Brosius dbros...@mebigfatguy.com
Authored: Tue Jan 27 02:05:04 2015 -0500
Committer: Dave Brosius dbros...@mebigfatguy.com
Committed: Tue Jan 27 02:05:04 2015 -0500

--
 build.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/7fb99d93/build.xml
--
diff --git a/build.xml b/build.xml
index 9bd565f..12c877a 100644
--- a/build.xml
+++ b/build.xml
@@ -316,7 +316,7 @@
 license name=The Apache Software License, Version 2.0 
url=http://www.apache.org/licenses/LICENSE-2.0.txt/
 scm connection=${scm.connection} 
developerConnection=${scm.developerConnection} url=${scm.url}/
 dependencyManagement
-  dependency groupId=org.xerial.snappy artifactId=snappy-java 
version=1.0.5/
+  dependency groupId=org.xerial.snappy artifactId=snappy-java 
version=1.0.5.2/
   dependency groupId=net.jpountz.lz4 artifactId=lz4 
version=1.3.0/
   dependency groupId=com.ning artifactId=compress-lzf 
version=0.8.4/
   dependency groupId=com.google.guava artifactId=guava 
version=16.0/



[jira] [Assigned] (CASSANDRA-8685) Consider upgrade to thrift 0.9.2 (or later)

2015-01-26 Thread Jonathan Ellis (JIRA)

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

Jonathan Ellis reassigned CASSANDRA-8685:
-

Assignee: T Jake Luciani

 Consider upgrade to thrift 0.9.2 (or later)
 ---

 Key: CASSANDRA-8685
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8685
 Project: Cassandra
  Issue Type: Bug
Reporter: Adam Hattrell
Assignee: T Jake Luciani

 Folks using Astyanax and the like are subject to  
 https://issues.apache.org/jira/browse/THRIFT-1457 and may run into heap 
 pressure on the Cassandra side for larger read request, as thrift doesn't 
 reset its internal buffer.  This can lead to larger TFramedTransport 
 instances will be kept on the heap.
 I've seen at least one situation where this has saved around 1Gb of heap 
 space on average.  



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


[jira] [Commented] (CASSANDRA-7933) Update cassandra-stress README

2015-01-26 Thread Philip Thompson (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7933?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14292673#comment-14292673
 ] 

Philip Thompson commented on CASSANDRA-7933:


So given that we are delaying a full guide, is this good enough to put into 
2.1.3? The vote will probably be happening this week.

 Update cassandra-stress README
 --

 Key: CASSANDRA-7933
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7933
 Project: Cassandra
  Issue Type: Task
Reporter: Benedict
Assignee: Philip Thompson
Priority: Minor
 Fix For: 2.1.3

 Attachments: 7933-2.txt, CASSANDRA-7933.txt


 There is a README in the tools/stress directory. It is completely out of date.



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


[jira] [Created] (CASSANDRA-8690) Ensure all error handling code that may itself throw an exception utilises addSuppressed

2015-01-26 Thread Benedict (JIRA)
Benedict created CASSANDRA-8690:
---

 Summary: Ensure all error handling code that may itself throw an 
exception utilises addSuppressed
 Key: CASSANDRA-8690
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8690
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Benedict
Priority: Minor
 Fix For: 2.1.3






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


cassandra git commit: using commons-lang3, not commons-lang

2015-01-26 Thread dbrosius
Repository: cassandra
Updated Branches:
  refs/heads/trunk 7fb99d93f - 6068daea8


using commons-lang3, not commons-lang


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

Branch: refs/heads/trunk
Commit: 6068daea866bffd9fcc20f81219a21631dbf9bf0
Parents: 7fb99d9
Author: Dave Brosius dbros...@mebigfatguy.com
Authored: Tue Jan 27 02:28:04 2015 -0500
Committer: Dave Brosius dbros...@mebigfatguy.com
Committed: Tue Jan 27 02:28:04 2015 -0500

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


http://git-wip-us.apache.org/repos/asf/cassandra/blob/6068daea/test/unit/org/apache/cassandra/cql3/CreateIndexStatementTest.java
--
diff --git a/test/unit/org/apache/cassandra/cql3/CreateIndexStatementTest.java 
b/test/unit/org/apache/cassandra/cql3/CreateIndexStatementTest.java
index 847466e..1e2e084 100644
--- a/test/unit/org/apache/cassandra/cql3/CreateIndexStatementTest.java
+++ b/test/unit/org/apache/cassandra/cql3/CreateIndexStatementTest.java
@@ -19,7 +19,7 @@ package org.apache.cassandra.cql3;
 
 import java.util.Locale;
 
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 
 import org.junit.Test;
 



[jira] [Commented] (CASSANDRA-7688) Add data sizing to a system table

2015-01-26 Thread mck (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7688?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14291621#comment-14291621
 ] 

mck commented on CASSANDRA-7688:


{quote}It would be an on-demand calculation that would be moderately expensive. 
{quote}
[~iamaleksey] If the implementation is but a rewrite, i'm also keen on [~mbyrd] 
question.

{quote} Can you please elaborate on what the idea is behind storing this info 
in a system table?{quote}

 Add data sizing to a system table
 -

 Key: CASSANDRA-7688
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7688
 Project: Cassandra
  Issue Type: New Feature
Reporter: Jeremiah Jordan
Assignee: Aleksey Yeschenko
 Fix For: 2.1.3


 Currently you can't implement something similar to describe_splits_ex purely 
 from the a native protocol driver.  
 https://datastax-oss.atlassian.net/browse/JAVA-312 is open to expose easily 
 getting ownership information to a client in the java-driver.  But you still 
 need the data sizing part to get splits of a given size.  We should add the 
 sizing information to a system table so that native clients can get to it.



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


[jira] [Issue Comment Deleted] (CASSANDRA-7688) Add data sizing to a system table

2015-01-26 Thread mck (JIRA)

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

mck updated CASSANDRA-7688:
---
Comment: was deleted

(was: {quote}It would be an on-demand calculation that would be moderately 
expensive. {quote}
[~iamaleksey] If the implementation is but a rewrite, i'm also keen on [~mbyrd] 
question.

{quote} Can you please elaborate on what the idea is behind storing this info 
in a system table?{quote})

 Add data sizing to a system table
 -

 Key: CASSANDRA-7688
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7688
 Project: Cassandra
  Issue Type: New Feature
Reporter: Jeremiah Jordan
Assignee: Aleksey Yeschenko
 Fix For: 2.1.3


 Currently you can't implement something similar to describe_splits_ex purely 
 from the a native protocol driver.  
 https://datastax-oss.atlassian.net/browse/JAVA-312 is open to expose easily 
 getting ownership information to a client in the java-driver.  But you still 
 need the data sizing part to get splits of a given size.  We should add the 
 sizing information to a system table so that native clients can get to it.



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


[jira] [Commented] (CASSANDRA-7688) Add data sizing to a system table

2015-01-26 Thread mck (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7688?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14291619#comment-14291619
 ] 

mck commented on CASSANDRA-7688:


{quote}It would be an on-demand calculation that would be moderately expensive. 
{quote}
[~iamaleksey] If the implementation is but a rewrite, i'm also keen on [~mbyrd] 
question.

{quote} Can you please elaborate on what the idea is behind storing this info 
in a system table?{quote}

 Add data sizing to a system table
 -

 Key: CASSANDRA-7688
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7688
 Project: Cassandra
  Issue Type: New Feature
Reporter: Jeremiah Jordan
Assignee: Aleksey Yeschenko
 Fix For: 2.1.3


 Currently you can't implement something similar to describe_splits_ex purely 
 from the a native protocol driver.  
 https://datastax-oss.atlassian.net/browse/JAVA-312 is open to expose easily 
 getting ownership information to a client in the java-driver.  But you still 
 need the data sizing part to get splits of a given size.  We should add the 
 sizing information to a system table so that native clients can get to it.



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


[jira] [Comment Edited] (CASSANDRA-8623) sstablesplit fails *randomly* with Data component is missing

2015-01-26 Thread Marcus Eriksson (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8623?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14291547#comment-14291547
 ] 

Marcus Eriksson edited comment on CASSANDRA-8623 at 1/26/15 8:17 AM:
-

[~aboudreault] could you test this patch? I have not been able to reproduce 
this myself

Patch just makes sure all compactions are finished before waiting for the 
deletion tasks

Same issue could be in offline cleanup and offline scrub

oh btw, you can make the offline tools log more by changing WARN to DEBUG in 
conf/logback-tools.xml if it still fails


was (Author: krummas):
[~aboudreault] could you test this patch? I have not been able to reproduce 
this myself

Patch just makes sure all compactions are finished before waiting for the 
deletion tasks

Same issue could be in offline cleanup and offline scrub

 sstablesplit fails *randomly* with Data component is missing
 

 Key: CASSANDRA-8623
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8623
 Project: Cassandra
  Issue Type: Bug
Reporter: Alan Boudreault
Assignee: Marcus Eriksson
 Attachments: 
 0001-make-sure-we-finish-compactions-before-waiting-for-d.patch, output.log


 I'm experiencing an issue related to sstablesplit. I would like to understand 
 if I am doing something wrong or there is an issue in the split process. The 
 process fails randomly with the following exception:
 {code}
 ERROR 02:17:36 Error in ThreadPoolExecutor
 java.lang.AssertionError: Data component is missing for 
 sstable./tools/bin/../../data/data/system/compactions_in_progress-55080ab05d9c388690a4acb25fe1f77b/system-compactions_in_progress-ka-16
 {code}
 See attached output.log file. The process never stops after this exception 
 and I've also seen the dataset growing indefinitely (number of sstables).  
 * I have not been able to reproduce the issue with a single sstablesplit 
 command. ie, specifying all files with glob matching.
 * I can reproduce the bug if I call multiple sstablesplit one file at the 
 time (the way ccm does)
 Here is the test case file to reproduce the bug:
 https://drive.google.com/file/d/0BwZ_GPM33j6KdVh0NTdkOWV2R1E/view?usp=sharing
 1. Download the split_issue.tar.gz file. It includes latest cassandra-2.1 
 branch binaries.
 2. Extract it
 3. CD inside the use case directory
 4. Download the dataset (2G) just to be sure we have the same thing, and 
 place it in the working directory.
https://docs.google.com/uc?id=0BwZ_GPM33j6KV3ViNnpPcVFndUUexport=download
 5. The first time, run ./test.sh. This will setup and run a test.
 6. The next times, you can only run ./test --no-setup . This will only reset 
 the dataset as its initial state and re-run the test. You might have to run 
 the tests some times before experiencing it... but I'm always able with only 
 2-3 runs.



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


[jira] [Commented] (CASSANDRA-8267) Only stream from unrepaired sstables during incremental repair

2015-01-26 Thread Marcus Eriksson (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8267?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14291696#comment-14291696
 ] 

Marcus Eriksson commented on CASSANDRA-8267:


the 2.1 patch is committed, so it will be in 2.1.3, the trunk-patch needs a new 
review, so i removed the 2.1.3 fix version so that this issue does not show up 
as a blocker for a 2.1.3 release - will re-add the version later

 Only stream from unrepaired sstables during incremental repair
 --

 Key: CASSANDRA-8267
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8267
 Project: Cassandra
  Issue Type: Bug
Reporter: Marcus Eriksson
Assignee: Marcus Eriksson
 Fix For: 3.0

 Attachments: 
 0001-Only-stream-from-unrepaired-sstables-during-incremen.patch, 
 8267-trunk.patch


 Seems we stream from all sstables even if we do incremental repair, we should 
 limit this to only stream from the unrepaired sstables if we do incremental 
 repair



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


[jira] [Commented] (CASSANDRA-8267) Only stream from unrepaired sstables during incremental repair

2015-01-26 Thread Flavien Charlon (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8267?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14291694#comment-14291694
 ] 

Flavien Charlon commented on CASSANDRA-8267:


Won't this be part of 2.1.3? I hope it will.

 Only stream from unrepaired sstables during incremental repair
 --

 Key: CASSANDRA-8267
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8267
 Project: Cassandra
  Issue Type: Bug
Reporter: Marcus Eriksson
Assignee: Marcus Eriksson
 Fix For: 3.0

 Attachments: 
 0001-Only-stream-from-unrepaired-sstables-during-incremen.patch, 
 8267-trunk.patch


 Seems we stream from all sstables even if we do incremental repair, we should 
 limit this to only stream from the unrepaired sstables if we do incremental 
 repair



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


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

2015-01-26 Thread Maxim Podkolzine (JIRA)

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

Maxim Podkolzine commented on CASSANDRA-8535:
-

Hi Joshua,

Yes, it looks better now. Before that I got the {{FileSystemException}} very 
quickly, now I don't see it, at least after right from the start. I will keep 
running to check it in long term.
There is a new one, that you might be interested in, since {{SSTableRewriter}} 
was patched:
2015-01-15T16:23:47,760 [CompactionExecutor:6] ERROR 
o.a.c.service.CassandraDaemon - Exception in thread 
Thread[CompactionExecutor:6,1,main]
java.lang.AssertionError: null
at 
org.apache.cassandra.io.sstable.IndexSummaryBuilder.build(IndexSummaryBuilder.java:133)
 ~[apache-cassandra-2.1.1.jar:2.1.2-SNAPSHOT]
at 
org.apache.cassandra.io.sstable.IndexSummaryBuilder.build(IndexSummaryBuilder.java:128)
 ~[apache-cassandra-2.1.1.jar:2.1.2-SNAPSHOT]
at 
org.apache.cassandra.io.sstable.SSTableWriter.finish(SSTableWriter.java:476) 
~[apache-cassandra-2.1.1.jar:2.1.2-SNAPSHOT]
at 
org.apache.cassandra.io.sstable.SSTableWriter.closeAndOpenReader(SSTableWriter.java:459)
 ~[apache-cassandra-2.1.1.jar:2.1.2-SNAPSHOT]
at 
org.apache.cassandra.io.sstable.SSTableRewriter.finishAndMaybeThrowWindows(SSTableRewriter.java:394)
 ~[apache-cassandra-2.1.1.jar:2.1.2-SNAPSHOT]
at 
org.apache.cassandra.io.sstable.SSTableRewriter.finishAndMaybeThrow(SSTableRewriter.java:353)
 ~[apache-cassandra-2.1.1.jar:2.1.2-SNAPSHOT]
at 
org.apache.cassandra.io.sstable.SSTableRewriter.finish(SSTableRewriter.java:341)
 ~[apache-cassandra-2.1.1.jar:2.1.2-SNAPSHOT]
at 
org.apache.cassandra.io.sstable.SSTableRewriter.finish(SSTableRewriter.java:321)
 ~[apache-cassandra-2.1.1.jar:2.1.2-SNAPSHOT]
at 
org.apache.cassandra.db.compaction.CompactionTask.runMayThrow(CompactionTask.java:213)
 ~[apache-cassandra-2.1.1.jar:2.1.2-SNAPSHOT]
at 
org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) 
~[apache-cassandra-2.1.1.jar:2.1.2-SNAPSHOT]
at 
org.apache.cassandra.db.compaction.CompactionTask.executeInternal(CompactionTask.java:76)
 ~[apache-cassandra-2.1.1.jar:2.1.2-SNAPSHOT]
at 
org.apache.cassandra.db.compaction.AbstractCompactionTask.execute(AbstractCompactionTask.java:59)
 ~[apache-cassandra-2.1.1.jar:2.1.2-SNAPSHOT]
at 
org.apache.cassandra.db.compaction.CompactionManager$BackgroundCompactionTask.run(CompactionManager.java:227)
 ~[apache-cassandra-2.1.1.jar:2.1.2-SNAPSHOT]
at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
~[na:1.8.0_25]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
~[na:1.8.0_25]
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
~[na:1.8.0_25]
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
[na:1.8.0_25]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_25]

Also I see {{DecoderException}}s, which I previously assumed to be caused by 
other errors, like one in this issue. Now it looks like a separate issue:

2015-01-15T16:03:25,613 [SharedPool-Worker-3] ERROR 
o.apache.cassandra.transport.Message - Unexpected exception during request; 
channel = [id: 0x9a614ce6, /127.0.0.1:51881 = /127.0.0.1:10030]
io.netty.handler.codec.DecoderException: 
org.apache.cassandra.transport.ProtocolException: Invalid or unsupported 
protocol version: 71
at 
io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:280)
 ~[netty-all-4.0.23.Final.jar:4.0.23.Final]
at 
io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:149)
 ~[netty-all-4.0.23.Final.jar:4.0.23.Final]
at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333)
 ~[netty-all-4.0.23.Final.jar:4.0.23.Final]
at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:319)
 ~[netty-all-4.0.23.Final.jar:4.0.23.Final]
at 
io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:787)
 ~[netty-all-4.0.23.Final.jar:4.0.23.Final]
at 
io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:130)
 ~[netty-all-4.0.23.Final.jar:4.0.23.Final]
at 
io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:511) 
~[netty-all-4.0.23.Final.jar:4.0.23.Final]
at 
io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468)
 ~[netty-all-4.0.23.Final.jar:4.0.23.Final]
at 
io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382) 
~[netty-all-4.0.23.Final.jar:4.0.23.Final]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354) 

[jira] [Commented] (CASSANDRA-8686) Introduce Latency Target for Stress

2015-01-26 Thread Benedict (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8686?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14292563#comment-14292563
 ] 

Benedict commented on CASSANDRA-8686:
-

I like this idea. There's a lot of stress improvements needed in the near 
future, and I'll see if I can sneak this one in as well.

 Introduce Latency Target for Stress
 ---

 Key: CASSANDRA-8686
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8686
 Project: Cassandra
  Issue Type: Improvement
Reporter: jonathan lacefield
Priority: Minor

 This item is a request to add a latency target to the rate option for the new 
 stress tool.  The goal of the latency target would be to provide a guideline 
 for SLAs to the stress tool so the stress tool can determine threads and 
 throughputs that can be sustained while meeting the SLA targets.
 For example:
 cassandra-stress [options/commands] -rate latency p90=5 p95=10 p99=100
 The outcome of this command would be a stress execution that would gradually 
 increase threads, and hence throughput (trans/sec), until the latency profile 
 can no longer be satisfied with the current workload (yaml file definition) 
 and/or cluster.  This would provide a ceiling for throughput and connections 
 for the given cluster, workload, and SLA profile.



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


[jira] [Comment Edited] (CASSANDRA-8684) Replace usage of Adler32 with CRC32

2015-01-26 Thread Ariel Weisberg (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8684?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14292316#comment-14292316
 ] 

Ariel Weisberg edited comment on CASSANDRA-8684 at 1/26/15 11:09 PM:
-

!https://docs.google.com/spreadsheets/d/1cxf-V4b8dXdz1vLb5ySUNxK09bukDHHpq79a09xHw20/pubchart?oid=1480884345format=image!
!https://docs.google.com/spreadsheets/d/1cxf-V4b8dXdz1vLb5ySUNxK09bukDHHpq79a09xHw20/pubchart?oid=1206341035format=image!

The ever inscrutable results for OS X. I am very skeptical it is doing 13 
gigabytes/second on a single core. I don't get why there is a gradual increase 
in speed as the size of the data being checksummed increases, and that speed up 
doesn't exist on Linux. Looking at a CPU monitor doesn't make it look like the 
application is using multiple cores.

!https://docs.google.com/spreadsheets/d/1cxf-V4b8dXdz1vLb5ySUNxK09bukDHHpq79a09xHw20/pubchart?oid=1911364989format=image!

I think the real speed is 3 gigabytes/second which is what I have seen in the 
past and seen on Linux. There are faster hashes like xxhash or MurmurHash3 to 
consider that operate in the 5-6 gigabyte/second range.

However a Java implementation of xxhash might not hit those numbers. The 
murmur3 implementation certainly doesn't. A native implementation incurs JNI 
overhead which is a factor for small values.


was (Author: aweisberg):
!https://docs.google.com/spreadsheets/d/1cxf-V4b8dXdz1vLb5ySUNxK09bukDHHpq79a09xHw20/pubchart?oid=1480884345format=image!
!https://docs.google.com/spreadsheets/d/1cxf-V4b8dXdz1vLb5ySUNxK09bukDHHpq79a09xHw20/pubchart?oid=1206341035format=image!

The ever inscrutable results for OS X. I am very skeptical it is doing 13 
gigabytes/second on a single core. I don't get why there is a gradual increase 
in speed as the size of the data being checksummed increases, and that speed up 
doesn't exist on Linux. Looking at a CPU monitor doesn't make it look like the 
application is using multiple cores.

!https://docs.google.com/spreadsheets/d/1cxf-V4b8dXdz1vLb5ySUNxK09bukDHHpq79a09xHw20/pubchart?oid=1911364989format=image!

I think the real speed is 3 gigabytes/second which is what I have seen in the 
past and seen on Linux. There are faster hashes like xxhash or MurmurHash3 to 
consider that operate in the 5-6 gigabyte/second range.

However a Java implementation of xxhash might not hit those numbers. The 
murmur3 implementation certainly doesn't. A native implementation incurs JNI 
overhead and there is nothing packaged at the moment.

 Replace usage of Adler32 with CRC32
 ---

 Key: CASSANDRA-8684
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8684
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Ariel Weisberg
Assignee: Ariel Weisberg
 Attachments: CRCBenchmark.java, PureJavaCrc32.java, Sample.java


 I could not find a situation in which Adler32 outperformed PureJavaCrc32 much 
 less the intrinsic from Java 8. For small allocations PureJavaCrc32 was much 
 faster probably due to the JNI overhead of invoking the native Adler32 
 implementation where the array has to be allocated and copied.
 I tested on a 65w Sandy Bridge i5 running Ubuntu 14.04 with JDK 1.7.0_71 as 
 well as a c3.8xlarge running Ubuntu 14.04.
 I think it makes sense to stop using Adler32 when generating new checksums.
 c3.8xlarge, results are time in milliseconds, lower is better
 ||Allocation size|Adler32|CRC32|PureJavaCrc32||
 |64|47636|46075|25782|
 |128|36755|36712|23782|
 |256|31194|32211|22731|
 |1024|27194|28792|22010|
 |1048576|25941|27807|21808|
 |536870912|25957|27840|21836|
 i5
 ||Allocation size|Adler32|CRC32|PureJavaCrc32||
 |64|50539|50466|26826|
 |128|37092|38533|24553|
 |256|30630|32938|23459|
 |1024|26064|29079|22592|
 |1048576|24357|27911|22481|
 |536870912|24838|28360|22853|
 Another fun fact. Performance of the CRC32 intrinsic appears to double from 
 Sandy Bridge - Haswell. Unless I am measuring something different when going 
 from Linux/Sandy to Haswell/OS X.
 The intrinsic/JDK 8 implementation also operates against DirectByteBuffers 
 better and coding against the wrapper will get that boost when run with Java 
 8.



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


[1/2] cassandra git commit: Simplify logic of ABSC#BatchRemoveIterator#commit()

2015-01-26 Thread aleksey
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.1 1bb0c149e - 33297bad0


Simplify logic of ABSC#BatchRemoveIterator#commit()

patch by Aleksey Yeschenko; reviewed by Joshua McKenzie for
CASSANDRA-8666


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

Branch: refs/heads/cassandra-2.1
Commit: b077cda83bb1d32d5e6836027cfdfe3009b266b4
Parents: 2bf63f6
Author: Aleksey Yeschenko alek...@apache.org
Authored: Tue Jan 27 00:20:38 2015 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Tue Jan 27 00:20:38 2015 +0300

--
 CHANGES.txt |  2 +-
 .../cassandra/db/ArrayBackedSortedColumns.java  | 53 +++-
 2 files changed, 20 insertions(+), 35 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/b077cda8/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 0d08cce..792f8c1 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,6 +1,6 @@
 2.0.13:
  * Round up time deltas lower than 1ms in BulkLoader (CASSANDRA-8645)
- * Add batch remove iterator to ABSC (CASSANDRA-8414)
+ * Add batch remove iterator to ABSC (CASSANDRA-8414, 8666)
 
 
 2.0.12:

http://git-wip-us.apache.org/repos/asf/cassandra/blob/b077cda8/src/java/org/apache/cassandra/db/ArrayBackedSortedColumns.java
--
diff --git a/src/java/org/apache/cassandra/db/ArrayBackedSortedColumns.java 
b/src/java/org/apache/cassandra/db/ArrayBackedSortedColumns.java
index 8d553be..482f04f 100644
--- a/src/java/org/apache/cassandra/db/ArrayBackedSortedColumns.java
+++ b/src/java/org/apache/cassandra/db/ArrayBackedSortedColumns.java
@@ -314,43 +314,28 @@ public class ArrayBackedSortedColumns extends 
AbstractThreadUnsafeSortedColumns
 if (!removedAnything)
 return;
 
-// the lowest index both not visited and known to be not 
removed
-int keepIdx = removedIndexes.nextClearBit(0);
-// the running total of kept items
-int resultLength = 0;
-// start from the first not-removed cell, and shift left.
-int removeIdx = removedIndexes.nextSetBit(keepIdx + 1);
-while (removeIdx = 0)
-{
-int length = removeIdx - keepIdx;
-if (length  0)
-{
-copy(keepIdx, resultLength, length);
-resultLength += length;
-}
-keepIdx = removedIndexes.nextClearBit(removeIdx + 1);
-if (keepIdx  0)
-keepIdx = columns.size();
-removeIdx = removedIndexes.nextSetBit(keepIdx + 1);
-}
-// Copy everything after the last deleted column
-int length = columns.size() - keepIdx;
-if (length  0)
+int size = columns.size();
+int retainedCount = 0;
+int clearIdx, setIdx = -1;
+
+// shift all [clearIdx, setIdx) segments to the left, skipping 
any removed columns
+while (true)
 {
-copy(keepIdx, resultLength, length);
-resultLength += length;
+clearIdx = removedIndexes.nextClearBit(setIdx + 1);
+if (clearIdx = size)
+break; // nothing left to retain
+
+setIdx = removedIndexes.nextSetBit(clearIdx + 1);
+if (setIdx  0)
+setIdx = size; // no removals past retainIdx - copy 
all remaining cells
+
+if (retainedCount != clearIdx)
+Collections.copy(columns.subList(retainedCount, 
retainedCount + setIdx - clearIdx),
+ columns.subList(clearIdx, setIdx));
+retainedCount += (setIdx - clearIdx);
 }
 
-columns.subList(resultLength, columns.size()).clear();
-}
-
-private void copy(int src, int dst, int len)
-{
-// [src, src+len) and [dst, dst+len) might overlap, but it's 
okay because we're going from left to right
-assert dst = src : dst must not be greater than src;
-
-if (dst  src)
-Collections.copy(columns.subList(dst, dst + len), 
columns.subList(src, src + len));
+columns.subList(retainedCount, size).clear();

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

2015-01-26 Thread aleksey
Merge branch 'cassandra-2.1' into trunk


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

Branch: refs/heads/trunk
Commit: 0b08c994c199e372f8ac2cb7bf5fd3a216e14a25
Parents: 2e22bc9 33297ba
Author: Aleksey Yeschenko alek...@apache.org
Authored: Tue Jan 27 01:45:24 2015 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Tue Jan 27 01:45:24 2015 +0300

--
 CHANGES.txt |  2 +-
 .../cassandra/db/ArrayBackedSortedColumns.java  | 54 +++-
 2 files changed, 20 insertions(+), 36 deletions(-)
--


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

http://git-wip-us.apache.org/repos/asf/cassandra/blob/0b08c994/src/java/org/apache/cassandra/db/ArrayBackedSortedColumns.java
--



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

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

Conflicts:
CHANGES.txt
src/java/org/apache/cassandra/db/ArrayBackedSortedColumns.java


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

Branch: refs/heads/trunk
Commit: 33297bad040c660c8cd5ea6378189fffb100b0ab
Parents: 1bb0c14 b077cda
Author: Aleksey Yeschenko alek...@apache.org
Authored: Tue Jan 27 01:44:54 2015 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Tue Jan 27 01:44:54 2015 +0300

--
 CHANGES.txt |  2 +-
 .../cassandra/db/ArrayBackedSortedColumns.java  | 54 +++-
 2 files changed, 20 insertions(+), 36 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/33297bad/CHANGES.txt
--
diff --cc CHANGES.txt
index 7673a3b,792f8c1..4d50496
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,77 -1,9 +1,77 @@@
 -2.0.13:
 - * Round up time deltas lower than 1ms in BulkLoader (CASSANDRA-8645)
 +2.1.3
 + * Fix ArrayIndexOutOfBoundsException in nodetool cfhistograms 
(CASSANDRA-8514)
 + * Switch from yammer metrics for nodetool cf/proxy histograms 
(CASSANDRA-8662)
 + * Make sure we don't add tmplink files to the compaction
 +   strategy (CASSANDRA-8580)
 + * (cqlsh) Handle maps with blob keys (CASSANDRA-8372)
 + * (cqlsh) Handle DynamicCompositeType schemas correctly (CASSANDRA-8563)
 + * Duplicate rows returned when in clause has repeated values (CASSANDRA-6707)
 + * Add tooling to detect hot partitions (CASSANDRA-7974)
 + * Fix cassandra-stress user-mode truncation of partition generation 
(CASSANDRA-8608)
 + * Only stream from unrepaired sstables during inc repair (CASSANDRA-8267)
 + * Don't allow starting multiple inc repairs on the same sstables 
(CASSANDRA-8316)
 + * Invalidate prepared BATCH statements when related tables
 +   or keyspaces are dropped (CASSANDRA-8652)
 + * Fix missing results in secondary index queries on collections
 +   with ALLOW FILTERING (CASSANDRA-8421)
 + * Expose EstimatedHistogram metrics for range slices (CASSANDRA-8627)
 + * (cqlsh) Escape clqshrc passwords properly (CASSANDRA-8618)
 + * Fix NPE when passing wrong argument in ALTER TABLE statement 
(CASSANDRA-8355)
 + * Pig: Refactor and deprecate CqlStorage (CASSANDRA-8599)
 + * Don't reuse the same cleanup strategy for all sstables (CASSANDRA-8537)
 + * Fix case-sensitivity of index name on CREATE and DROP INDEX
 +   statements (CASSANDRA-8365)
 + * Better detection/logging for corruption in compressed sstables 
(CASSANDRA-8192)
 + * Use the correct repairedAt value when closing writer (CASSANDRA-8570)
 + * (cqlsh) Handle a schema mismatch being detected on startup (CASSANDRA-8512)
 + * Properly calculate expected write size during compaction (CASSANDRA-8532)
 + * Invalidate affected prepared statements when a table's columns
 +   are altered (CASSANDRA-7910)
 + * Stress - user defined writes should populate sequentally (CASSANDRA-8524)
 + * Fix regression in SSTableRewriter causing some rows to become unreadable 
 +   during compaction (CASSANDRA-8429)
 + * Run major compactions for repaired/unrepaired in parallel (CASSANDRA-8510)
 + * (cqlsh) Fix compression options in DESCRIBE TABLE output when compression
 +   is disabled (CASSANDRA-8288)
 + * (cqlsh) Fix DESCRIBE output after keyspaces are altered (CASSANDRA-7623)
 + * Make sure we set lastCompactedKey correctly (CASSANDRA-8463)
 + * (cqlsh) Fix output of CONSISTENCY command (CASSANDRA-8507)
 + * (cqlsh) Fixed the handling of LIST statements (CASSANDRA-8370)
 + * Make sstablescrub check leveled manifest again (CASSANDRA-8432)
 + * Check first/last keys in sstable when giving out positions (CASSANDRA-8458)
 + * Disable mmap on Windows (CASSANDRA-6993)
 + * Add missing ConsistencyLevels to cassandra-stress (CASSANDRA-8253)
 + * Add auth support to cassandra-stress (CASSANDRA-7985)
 + * Fix ArrayIndexOutOfBoundsException when generating error message
 +   for some CQL syntax errors (CASSANDRA-8455)
 + * Scale memtable slab allocation logarithmically (CASSANDRA-7882)
 + * cassandra-stress simultaneous inserts over same seed (CASSANDRA-7964)
 + * Reduce cassandra-stress sampling memory requirements (CASSANDRA-7926)
 + * Ensure memtable flush cannot expire commit log entries from its future 
(CASSANDRA-8383)
 + * Make read defrag async to reclaim memtables (CASSANDRA-8459)
 + * Remove tmplink files for offline compactions (CASSANDRA-8321)
 + * Reduce maxHintsInProgress (CASSANDRA-8415)
 + * BTree updates may call provided update function twice (CASSANDRA-8018)
 + * Release sstable references after anticompaction 

[1/3] cassandra git commit: Simplify logic of ABSC#BatchRemoveIterator#commit()

2015-01-26 Thread aleksey
Repository: cassandra
Updated Branches:
  refs/heads/trunk 2e22bc9aa - 0b08c994c


Simplify logic of ABSC#BatchRemoveIterator#commit()

patch by Aleksey Yeschenko; reviewed by Joshua McKenzie for
CASSANDRA-8666


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

Branch: refs/heads/trunk
Commit: b077cda83bb1d32d5e6836027cfdfe3009b266b4
Parents: 2bf63f6
Author: Aleksey Yeschenko alek...@apache.org
Authored: Tue Jan 27 00:20:38 2015 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Tue Jan 27 00:20:38 2015 +0300

--
 CHANGES.txt |  2 +-
 .../cassandra/db/ArrayBackedSortedColumns.java  | 53 +++-
 2 files changed, 20 insertions(+), 35 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/b077cda8/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 0d08cce..792f8c1 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,6 +1,6 @@
 2.0.13:
  * Round up time deltas lower than 1ms in BulkLoader (CASSANDRA-8645)
- * Add batch remove iterator to ABSC (CASSANDRA-8414)
+ * Add batch remove iterator to ABSC (CASSANDRA-8414, 8666)
 
 
 2.0.12:

http://git-wip-us.apache.org/repos/asf/cassandra/blob/b077cda8/src/java/org/apache/cassandra/db/ArrayBackedSortedColumns.java
--
diff --git a/src/java/org/apache/cassandra/db/ArrayBackedSortedColumns.java 
b/src/java/org/apache/cassandra/db/ArrayBackedSortedColumns.java
index 8d553be..482f04f 100644
--- a/src/java/org/apache/cassandra/db/ArrayBackedSortedColumns.java
+++ b/src/java/org/apache/cassandra/db/ArrayBackedSortedColumns.java
@@ -314,43 +314,28 @@ public class ArrayBackedSortedColumns extends 
AbstractThreadUnsafeSortedColumns
 if (!removedAnything)
 return;
 
-// the lowest index both not visited and known to be not 
removed
-int keepIdx = removedIndexes.nextClearBit(0);
-// the running total of kept items
-int resultLength = 0;
-// start from the first not-removed cell, and shift left.
-int removeIdx = removedIndexes.nextSetBit(keepIdx + 1);
-while (removeIdx = 0)
-{
-int length = removeIdx - keepIdx;
-if (length  0)
-{
-copy(keepIdx, resultLength, length);
-resultLength += length;
-}
-keepIdx = removedIndexes.nextClearBit(removeIdx + 1);
-if (keepIdx  0)
-keepIdx = columns.size();
-removeIdx = removedIndexes.nextSetBit(keepIdx + 1);
-}
-// Copy everything after the last deleted column
-int length = columns.size() - keepIdx;
-if (length  0)
+int size = columns.size();
+int retainedCount = 0;
+int clearIdx, setIdx = -1;
+
+// shift all [clearIdx, setIdx) segments to the left, skipping 
any removed columns
+while (true)
 {
-copy(keepIdx, resultLength, length);
-resultLength += length;
+clearIdx = removedIndexes.nextClearBit(setIdx + 1);
+if (clearIdx = size)
+break; // nothing left to retain
+
+setIdx = removedIndexes.nextSetBit(clearIdx + 1);
+if (setIdx  0)
+setIdx = size; // no removals past retainIdx - copy 
all remaining cells
+
+if (retainedCount != clearIdx)
+Collections.copy(columns.subList(retainedCount, 
retainedCount + setIdx - clearIdx),
+ columns.subList(clearIdx, setIdx));
+retainedCount += (setIdx - clearIdx);
 }
 
-columns.subList(resultLength, columns.size()).clear();
-}
-
-private void copy(int src, int dst, int len)
-{
-// [src, src+len) and [dst, dst+len) might overlap, but it's 
okay because we're going from left to right
-assert dst = src : dst must not be greater than src;
-
-if (dst  src)
-Collections.copy(columns.subList(dst, dst + len), 
columns.subList(src, src + len));
+columns.subList(retainedCount, size).clear();
 }
 

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

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

Conflicts:
CHANGES.txt
src/java/org/apache/cassandra/db/ArrayBackedSortedColumns.java


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

Branch: refs/heads/cassandra-2.1
Commit: 33297bad040c660c8cd5ea6378189fffb100b0ab
Parents: 1bb0c14 b077cda
Author: Aleksey Yeschenko alek...@apache.org
Authored: Tue Jan 27 01:44:54 2015 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Tue Jan 27 01:44:54 2015 +0300

--
 CHANGES.txt |  2 +-
 .../cassandra/db/ArrayBackedSortedColumns.java  | 54 +++-
 2 files changed, 20 insertions(+), 36 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/33297bad/CHANGES.txt
--
diff --cc CHANGES.txt
index 7673a3b,792f8c1..4d50496
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,77 -1,9 +1,77 @@@
 -2.0.13:
 - * Round up time deltas lower than 1ms in BulkLoader (CASSANDRA-8645)
 +2.1.3
 + * Fix ArrayIndexOutOfBoundsException in nodetool cfhistograms 
(CASSANDRA-8514)
 + * Switch from yammer metrics for nodetool cf/proxy histograms 
(CASSANDRA-8662)
 + * Make sure we don't add tmplink files to the compaction
 +   strategy (CASSANDRA-8580)
 + * (cqlsh) Handle maps with blob keys (CASSANDRA-8372)
 + * (cqlsh) Handle DynamicCompositeType schemas correctly (CASSANDRA-8563)
 + * Duplicate rows returned when in clause has repeated values (CASSANDRA-6707)
 + * Add tooling to detect hot partitions (CASSANDRA-7974)
 + * Fix cassandra-stress user-mode truncation of partition generation 
(CASSANDRA-8608)
 + * Only stream from unrepaired sstables during inc repair (CASSANDRA-8267)
 + * Don't allow starting multiple inc repairs on the same sstables 
(CASSANDRA-8316)
 + * Invalidate prepared BATCH statements when related tables
 +   or keyspaces are dropped (CASSANDRA-8652)
 + * Fix missing results in secondary index queries on collections
 +   with ALLOW FILTERING (CASSANDRA-8421)
 + * Expose EstimatedHistogram metrics for range slices (CASSANDRA-8627)
 + * (cqlsh) Escape clqshrc passwords properly (CASSANDRA-8618)
 + * Fix NPE when passing wrong argument in ALTER TABLE statement 
(CASSANDRA-8355)
 + * Pig: Refactor and deprecate CqlStorage (CASSANDRA-8599)
 + * Don't reuse the same cleanup strategy for all sstables (CASSANDRA-8537)
 + * Fix case-sensitivity of index name on CREATE and DROP INDEX
 +   statements (CASSANDRA-8365)
 + * Better detection/logging for corruption in compressed sstables 
(CASSANDRA-8192)
 + * Use the correct repairedAt value when closing writer (CASSANDRA-8570)
 + * (cqlsh) Handle a schema mismatch being detected on startup (CASSANDRA-8512)
 + * Properly calculate expected write size during compaction (CASSANDRA-8532)
 + * Invalidate affected prepared statements when a table's columns
 +   are altered (CASSANDRA-7910)
 + * Stress - user defined writes should populate sequentally (CASSANDRA-8524)
 + * Fix regression in SSTableRewriter causing some rows to become unreadable 
 +   during compaction (CASSANDRA-8429)
 + * Run major compactions for repaired/unrepaired in parallel (CASSANDRA-8510)
 + * (cqlsh) Fix compression options in DESCRIBE TABLE output when compression
 +   is disabled (CASSANDRA-8288)
 + * (cqlsh) Fix DESCRIBE output after keyspaces are altered (CASSANDRA-7623)
 + * Make sure we set lastCompactedKey correctly (CASSANDRA-8463)
 + * (cqlsh) Fix output of CONSISTENCY command (CASSANDRA-8507)
 + * (cqlsh) Fixed the handling of LIST statements (CASSANDRA-8370)
 + * Make sstablescrub check leveled manifest again (CASSANDRA-8432)
 + * Check first/last keys in sstable when giving out positions (CASSANDRA-8458)
 + * Disable mmap on Windows (CASSANDRA-6993)
 + * Add missing ConsistencyLevels to cassandra-stress (CASSANDRA-8253)
 + * Add auth support to cassandra-stress (CASSANDRA-7985)
 + * Fix ArrayIndexOutOfBoundsException when generating error message
 +   for some CQL syntax errors (CASSANDRA-8455)
 + * Scale memtable slab allocation logarithmically (CASSANDRA-7882)
 + * cassandra-stress simultaneous inserts over same seed (CASSANDRA-7964)
 + * Reduce cassandra-stress sampling memory requirements (CASSANDRA-7926)
 + * Ensure memtable flush cannot expire commit log entries from its future 
(CASSANDRA-8383)
 + * Make read defrag async to reclaim memtables (CASSANDRA-8459)
 + * Remove tmplink files for offline compactions (CASSANDRA-8321)
 + * Reduce maxHintsInProgress (CASSANDRA-8415)
 + * BTree updates may call provided update function twice (CASSANDRA-8018)
 + * Release sstable references after 

[jira] [Commented] (CASSANDRA-7933) Update cassandra-stress README

2015-01-26 Thread Benedict (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-7933?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14292678#comment-14292678
 ] 

Benedict commented on CASSANDRA-7933:
-

Yes. I have a few minor commits to make before then, and this is amongst them.

 Update cassandra-stress README
 --

 Key: CASSANDRA-7933
 URL: https://issues.apache.org/jira/browse/CASSANDRA-7933
 Project: Cassandra
  Issue Type: Task
Reporter: Benedict
Assignee: Philip Thompson
Priority: Minor
 Fix For: 2.1.3

 Attachments: 7933-2.txt, CASSANDRA-7933.txt


 There is a README in the tools/stress directory. It is completely out of date.



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


[jira] [Commented] (CASSANDRA-8061) tmplink files are not removed

2015-01-26 Thread Mark Cooper (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8061?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14292404#comment-14292404
 ] 

Mark Cooper commented on CASSANDRA-8061:


[~JoshuaMcKenzie]  - oops yes, meant to say I am now running this patch. 

 tmplink files are not removed
 -

 Key: CASSANDRA-8061
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8061
 Project: Cassandra
  Issue Type: Bug
  Components: Core
 Environment: Linux
Reporter: Gianluca Borello
Assignee: Joshua McKenzie
 Fix For: 2.1.3

 Attachments: 8061_v1.txt, 8248-thread_dump.txt


 After installing 2.1.0, I'm experiencing a bunch of tmplink files that are 
 filling my disk. I found https://issues.apache.org/jira/browse/CASSANDRA-7803 
 and that is very similar, and I confirm it happens both on 2.1.0 as well as 
 from the latest commit on the cassandra-2.1 branch 
 (https://github.com/apache/cassandra/commit/aca80da38c3d86a40cc63d9a122f7d45258e4685
  from the cassandra-2.1)
 Even starting with a clean keyspace, after a few hours I get:
 {noformat}
 $ sudo find /raid0 | grep tmplink | xargs du -hs
 2.7G  
 /raid0/cassandra/data/draios/protobuf1-ccc6dce04beb11e4abf997b38fbf920b/draios-protobuf1-tmplink-ka-4515-Data.db
 13M   
 /raid0/cassandra/data/draios/protobuf1-ccc6dce04beb11e4abf997b38fbf920b/draios-protobuf1-tmplink-ka-4515-Index.db
 1.8G  
 /raid0/cassandra/data/draios/protobuf_by_agent1-cd071a304beb11e4abf997b38fbf920b/draios-protobuf_by_agent1-tmplink-ka-1788-Data.db
 12M   
 /raid0/cassandra/data/draios/protobuf_by_agent1-cd071a304beb11e4abf997b38fbf920b/draios-protobuf_by_agent1-tmplink-ka-1788-Index.db
 5.2M  
 /raid0/cassandra/data/draios/protobuf_by_agent1-cd071a304beb11e4abf997b38fbf920b/draios-protobuf_by_agent1-tmplink-ka-2678-Index.db
 822M  
 /raid0/cassandra/data/draios/protobuf_by_agent1-cd071a304beb11e4abf997b38fbf920b/draios-protobuf_by_agent1-tmplink-ka-2678-Data.db
 7.3M  
 /raid0/cassandra/data/draios/protobuf_by_agent1-cd071a304beb11e4abf997b38fbf920b/draios-protobuf_by_agent1-tmplink-ka-3283-Index.db
 1.2G  
 /raid0/cassandra/data/draios/protobuf_by_agent1-cd071a304beb11e4abf997b38fbf920b/draios-protobuf_by_agent1-tmplink-ka-3283-Data.db
 6.7M  
 /raid0/cassandra/data/draios/protobuf_by_agent1-cd071a304beb11e4abf997b38fbf920b/draios-protobuf_by_agent1-tmplink-ka-3951-Index.db
 1.1G  
 /raid0/cassandra/data/draios/protobuf_by_agent1-cd071a304beb11e4abf997b38fbf920b/draios-protobuf_by_agent1-tmplink-ka-3951-Data.db
 11M   
 /raid0/cassandra/data/draios/protobuf_by_agent1-cd071a304beb11e4abf997b38fbf920b/draios-protobuf_by_agent1-tmplink-ka-4799-Index.db
 1.7G  
 /raid0/cassandra/data/draios/protobuf_by_agent1-cd071a304beb11e4abf997b38fbf920b/draios-protobuf_by_agent1-tmplink-ka-4799-Data.db
 812K  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-234-Index.db
 122M  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-208-Data.db
 744K  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-739-Index.db
 660K  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-193-Index.db
 796K  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-230-Index.db
 137M  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-230-Data.db
 161M  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-269-Data.db
 139M  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-234-Data.db
 940K  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-786-Index.db
 936K  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-269-Index.db
 161M  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-786-Data.db
 672K  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-197-Index.db
 113M  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-193-Data.db
 116M  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-197-Data.db
 712K  
 

[jira] [Commented] (CASSANDRA-8061) tmplink files are not removed

2015-01-26 Thread Benedict (JIRA)

[ 
https://issues.apache.org/jira/browse/CASSANDRA-8061?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14292432#comment-14292432
 ] 

Benedict commented on CASSANDRA-8061:
-

Looks like a different bug, introduced by CASSANDRA-8124, that only presents 
during failure, and overrides the causative exception with one during cleanup. 
This may possibly be the failure we're really looking for. Or it may be another 
new bug - this is the risk we run when testing out mid release :)

I will upload a fix directly to the branch for this bug, and also an 
improvement to ensure such bugs in future don't mask the underlying exception

 tmplink files are not removed
 -

 Key: CASSANDRA-8061
 URL: https://issues.apache.org/jira/browse/CASSANDRA-8061
 Project: Cassandra
  Issue Type: Bug
  Components: Core
 Environment: Linux
Reporter: Gianluca Borello
Assignee: Joshua McKenzie
 Fix For: 2.1.3

 Attachments: 8061_v1.txt, 8248-thread_dump.txt


 After installing 2.1.0, I'm experiencing a bunch of tmplink files that are 
 filling my disk. I found https://issues.apache.org/jira/browse/CASSANDRA-7803 
 and that is very similar, and I confirm it happens both on 2.1.0 as well as 
 from the latest commit on the cassandra-2.1 branch 
 (https://github.com/apache/cassandra/commit/aca80da38c3d86a40cc63d9a122f7d45258e4685
  from the cassandra-2.1)
 Even starting with a clean keyspace, after a few hours I get:
 {noformat}
 $ sudo find /raid0 | grep tmplink | xargs du -hs
 2.7G  
 /raid0/cassandra/data/draios/protobuf1-ccc6dce04beb11e4abf997b38fbf920b/draios-protobuf1-tmplink-ka-4515-Data.db
 13M   
 /raid0/cassandra/data/draios/protobuf1-ccc6dce04beb11e4abf997b38fbf920b/draios-protobuf1-tmplink-ka-4515-Index.db
 1.8G  
 /raid0/cassandra/data/draios/protobuf_by_agent1-cd071a304beb11e4abf997b38fbf920b/draios-protobuf_by_agent1-tmplink-ka-1788-Data.db
 12M   
 /raid0/cassandra/data/draios/protobuf_by_agent1-cd071a304beb11e4abf997b38fbf920b/draios-protobuf_by_agent1-tmplink-ka-1788-Index.db
 5.2M  
 /raid0/cassandra/data/draios/protobuf_by_agent1-cd071a304beb11e4abf997b38fbf920b/draios-protobuf_by_agent1-tmplink-ka-2678-Index.db
 822M  
 /raid0/cassandra/data/draios/protobuf_by_agent1-cd071a304beb11e4abf997b38fbf920b/draios-protobuf_by_agent1-tmplink-ka-2678-Data.db
 7.3M  
 /raid0/cassandra/data/draios/protobuf_by_agent1-cd071a304beb11e4abf997b38fbf920b/draios-protobuf_by_agent1-tmplink-ka-3283-Index.db
 1.2G  
 /raid0/cassandra/data/draios/protobuf_by_agent1-cd071a304beb11e4abf997b38fbf920b/draios-protobuf_by_agent1-tmplink-ka-3283-Data.db
 6.7M  
 /raid0/cassandra/data/draios/protobuf_by_agent1-cd071a304beb11e4abf997b38fbf920b/draios-protobuf_by_agent1-tmplink-ka-3951-Index.db
 1.1G  
 /raid0/cassandra/data/draios/protobuf_by_agent1-cd071a304beb11e4abf997b38fbf920b/draios-protobuf_by_agent1-tmplink-ka-3951-Data.db
 11M   
 /raid0/cassandra/data/draios/protobuf_by_agent1-cd071a304beb11e4abf997b38fbf920b/draios-protobuf_by_agent1-tmplink-ka-4799-Index.db
 1.7G  
 /raid0/cassandra/data/draios/protobuf_by_agent1-cd071a304beb11e4abf997b38fbf920b/draios-protobuf_by_agent1-tmplink-ka-4799-Data.db
 812K  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-234-Index.db
 122M  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-208-Data.db
 744K  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-739-Index.db
 660K  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-193-Index.db
 796K  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-230-Index.db
 137M  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-230-Data.db
 161M  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-269-Data.db
 139M  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-234-Data.db
 940K  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-786-Index.db
 936K  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-269-Index.db
 161M  
 /raid0/cassandra/data/draios/mounted_fs_by_agent1-d7bf3e304beb11e4abf997b38fbf920b/draios-mounted_fs_by_agent1-tmplink-ka-786-Data.db
 672K  
 

cassandra git commit: Simplify logic of ABSC#BatchRemoveIterator#commit()

2015-01-26 Thread aleksey
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.0 2bf63f61e - b077cda83


Simplify logic of ABSC#BatchRemoveIterator#commit()

patch by Aleksey Yeschenko; reviewed by Joshua McKenzie for
CASSANDRA-8666


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

Branch: refs/heads/cassandra-2.0
Commit: b077cda83bb1d32d5e6836027cfdfe3009b266b4
Parents: 2bf63f6
Author: Aleksey Yeschenko alek...@apache.org
Authored: Tue Jan 27 00:20:38 2015 +0300
Committer: Aleksey Yeschenko alek...@apache.org
Committed: Tue Jan 27 00:20:38 2015 +0300

--
 CHANGES.txt |  2 +-
 .../cassandra/db/ArrayBackedSortedColumns.java  | 53 +++-
 2 files changed, 20 insertions(+), 35 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/b077cda8/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 0d08cce..792f8c1 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,6 +1,6 @@
 2.0.13:
  * Round up time deltas lower than 1ms in BulkLoader (CASSANDRA-8645)
- * Add batch remove iterator to ABSC (CASSANDRA-8414)
+ * Add batch remove iterator to ABSC (CASSANDRA-8414, 8666)
 
 
 2.0.12:

http://git-wip-us.apache.org/repos/asf/cassandra/blob/b077cda8/src/java/org/apache/cassandra/db/ArrayBackedSortedColumns.java
--
diff --git a/src/java/org/apache/cassandra/db/ArrayBackedSortedColumns.java 
b/src/java/org/apache/cassandra/db/ArrayBackedSortedColumns.java
index 8d553be..482f04f 100644
--- a/src/java/org/apache/cassandra/db/ArrayBackedSortedColumns.java
+++ b/src/java/org/apache/cassandra/db/ArrayBackedSortedColumns.java
@@ -314,43 +314,28 @@ public class ArrayBackedSortedColumns extends 
AbstractThreadUnsafeSortedColumns
 if (!removedAnything)
 return;
 
-// the lowest index both not visited and known to be not 
removed
-int keepIdx = removedIndexes.nextClearBit(0);
-// the running total of kept items
-int resultLength = 0;
-// start from the first not-removed cell, and shift left.
-int removeIdx = removedIndexes.nextSetBit(keepIdx + 1);
-while (removeIdx = 0)
-{
-int length = removeIdx - keepIdx;
-if (length  0)
-{
-copy(keepIdx, resultLength, length);
-resultLength += length;
-}
-keepIdx = removedIndexes.nextClearBit(removeIdx + 1);
-if (keepIdx  0)
-keepIdx = columns.size();
-removeIdx = removedIndexes.nextSetBit(keepIdx + 1);
-}
-// Copy everything after the last deleted column
-int length = columns.size() - keepIdx;
-if (length  0)
+int size = columns.size();
+int retainedCount = 0;
+int clearIdx, setIdx = -1;
+
+// shift all [clearIdx, setIdx) segments to the left, skipping 
any removed columns
+while (true)
 {
-copy(keepIdx, resultLength, length);
-resultLength += length;
+clearIdx = removedIndexes.nextClearBit(setIdx + 1);
+if (clearIdx = size)
+break; // nothing left to retain
+
+setIdx = removedIndexes.nextSetBit(clearIdx + 1);
+if (setIdx  0)
+setIdx = size; // no removals past retainIdx - copy 
all remaining cells
+
+if (retainedCount != clearIdx)
+Collections.copy(columns.subList(retainedCount, 
retainedCount + setIdx - clearIdx),
+ columns.subList(clearIdx, setIdx));
+retainedCount += (setIdx - clearIdx);
 }
 
-columns.subList(resultLength, columns.size()).clear();
-}
-
-private void copy(int src, int dst, int len)
-{
-// [src, src+len) and [dst, dst+len) might overlap, but it's 
okay because we're going from left to right
-assert dst = src : dst must not be greater than src;
-
-if (dst  src)
-Collections.copy(columns.subList(dst, dst + len), 
columns.subList(src, src + len));
+columns.subList(retainedCount, size).clear();