[jira] [Commented] (CASSANDRA-10555) ReadCommandTest should truncate between test cases

2015-10-19 Thread Stefania (JIRA)

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

Stefania commented on CASSANDRA-10555:
--

The problem can only be reproduced if {{testSinglePartitionNamesAbort}} runs 
before {{testSinglePartitionSliceAbort}} and it's because of the typo "cdd" 
instead of "dd". So the typo must be fixed. We could write the data only once 
since it is identical but truncating is preferred in case later on we want to 
modify the test methods.

+1 once the test is confirmed to pass on CI as well:

http://cassci.datastax.com/job/jeffjirsa-cassandra-10555-testall/lastBuild/
http://cassci.datastax.com/job/jeffjirsa-cassandra-10555-dtest/lastBuild/

Thank you for fixing this.

> ReadCommandTest should truncate between test cases 
> ---
>
> Key: CASSANDRA-10555
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10555
> Project: Cassandra
>  Issue Type: Bug
>  Components: Tests
>Reporter: Jeff Jirsa
>Assignee: Jeff Jirsa
>Priority: Minor
>
> ReadCommandTest writes to the same CF in multiple unit tests, and then counts 
> the results in a partition. This can lead to tests failing in some 
> circumstances:
> {noformat}
> [junit] Testcase: 
> testSinglePartitionNamesAbort(org.apache.cassandra.db.ReadCommandTest): FAILED
> [junit] expected:<2> but was:<1>
> [junit] junit.framework.AssertionFailedError: expected:<2> but was:<1>
> [junit]   at 
> org.apache.cassandra.db.ReadCommandTest.testSinglePartitionNamesAbort(ReadCommandTest.java:140)
> [junit] 
> [junit] 
> [junit] Testcase: 
> testSinglePartitionSliceAbort(org.apache.cassandra.db.ReadCommandTest): FAILED
> [junit] expected:<2> but was:<3>
> [junit] junit.framework.AssertionFailedError: expected:<2> but was:<3>
> [junit]   at 
> org.apache.cassandra.db.ReadCommandTest.testSinglePartitionSliceAbort(ReadCommandTest.java:111)
> {noformat}
> This can be fixed trivially by truncating the CF at the beginning of 
> {{testSinglePartitionSliceAbort}} and {{testSinglePartitionNamesAbort}} 
> Also, once the truncate is in place, a potential typo is exposed in 
> {{testSinglePartitionNamesAbort}}, where the partition is written with 
> clustering column {{cc}} and {{cdd}}, but the read command reads {{cc}} and 
> {{dd}} 



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


[jira] [Assigned] (CASSANDRA-10526) Add dtest for CASSANDRA-10406

2015-10-19 Thread Dikang Gu (JIRA)

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

Dikang Gu reassigned CASSANDRA-10526:
-

Assignee: Dikang Gu

> Add dtest for CASSANDRA-10406
> -
>
> Key: CASSANDRA-10526
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10526
> Project: Cassandra
>  Issue Type: Sub-task
>Reporter: Yuki Morishita
>Assignee: Dikang Gu
>Priority: Minor
> Fix For: 2.1.x
>
>
> CASSANDRA-10406 adds new function to nodetool rebuild, so it needs to be 
> tested with cassandra-dtest.



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


[jira] [Updated] (CASSANDRA-10555) ReadCommandTest should truncate between test cases

2015-10-19 Thread Jeff Jirsa (JIRA)

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

Jeff Jirsa updated CASSANDRA-10555:
---
Component/s: Tests

> ReadCommandTest should truncate between test cases 
> ---
>
> Key: CASSANDRA-10555
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10555
> Project: Cassandra
>  Issue Type: Bug
>  Components: Tests
>Reporter: Jeff Jirsa
>Assignee: Jeff Jirsa
>Priority: Minor
>
> ReadCommandTest writes to the same CF in multiple unit tests, and then counts 
> the results in a partition. This can lead to tests failing in some 
> circumstances:
> {noformat}
> [junit] Testcase: 
> testSinglePartitionNamesAbort(org.apache.cassandra.db.ReadCommandTest): FAILED
> [junit] expected:<2> but was:<1>
> [junit] junit.framework.AssertionFailedError: expected:<2> but was:<1>
> [junit]   at 
> org.apache.cassandra.db.ReadCommandTest.testSinglePartitionNamesAbort(ReadCommandTest.java:140)
> [junit] 
> [junit] 
> [junit] Testcase: 
> testSinglePartitionSliceAbort(org.apache.cassandra.db.ReadCommandTest): FAILED
> [junit] expected:<2> but was:<3>
> [junit] junit.framework.AssertionFailedError: expected:<2> but was:<3>
> [junit]   at 
> org.apache.cassandra.db.ReadCommandTest.testSinglePartitionSliceAbort(ReadCommandTest.java:111)
> {noformat}
> This can be fixed trivially by truncating the CF at the beginning of 
> {{testSinglePartitionSliceAbort}} and {{testSinglePartitionNamesAbort}} 
> Also, once the truncate is in place, a potential typo is exposed in 
> {{testSinglePartitionNamesAbort}}, where the partition is written with 
> clustering column {{cc}} and {{cdd}}, but the read command reads {{cc}} and 
> {{dd}} 



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


[jira] [Assigned] (CASSANDRA-10555) ReadCommandTest should truncate between test cases

2015-10-19 Thread Jeff Jirsa (JIRA)

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

Jeff Jirsa reassigned CASSANDRA-10555:
--

Assignee: Jeff Jirsa

> ReadCommandTest should truncate between test cases 
> ---
>
> Key: CASSANDRA-10555
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10555
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Jeff Jirsa
>Assignee: Jeff Jirsa
>Priority: Minor
>
> ReadCommandTest writes to the same CF in multiple unit tests, and then counts 
> the results in a partition. This can lead to tests failing in some 
> circumstances:
> {noformat}
> [junit] Testcase: 
> testSinglePartitionNamesAbort(org.apache.cassandra.db.ReadCommandTest): FAILED
> [junit] expected:<2> but was:<1>
> [junit] junit.framework.AssertionFailedError: expected:<2> but was:<1>
> [junit]   at 
> org.apache.cassandra.db.ReadCommandTest.testSinglePartitionNamesAbort(ReadCommandTest.java:140)
> [junit] 
> [junit] 
> [junit] Testcase: 
> testSinglePartitionSliceAbort(org.apache.cassandra.db.ReadCommandTest): FAILED
> [junit] expected:<2> but was:<3>
> [junit] junit.framework.AssertionFailedError: expected:<2> but was:<3>
> [junit]   at 
> org.apache.cassandra.db.ReadCommandTest.testSinglePartitionSliceAbort(ReadCommandTest.java:111)
> {noformat}
> This can be fixed trivially by truncating the CF at the beginning of 
> {{testSinglePartitionSliceAbort}} and {{testSinglePartitionNamesAbort}} 
> Also, once the truncate is in place, a potential typo is exposed in 
> {{testSinglePartitionNamesAbort}}, where the partition is written with 
> clustering column {{cc}} and {{cdd}}, but the read command reads {{cc}} and 
> {{dd}} 



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


[jira] [Created] (CASSANDRA-10555) ReadCommandTest should truncate between test cases

2015-10-19 Thread Jeff Jirsa (JIRA)
Jeff Jirsa created CASSANDRA-10555:
--

 Summary: ReadCommandTest should truncate between test cases 
 Key: CASSANDRA-10555
 URL: https://issues.apache.org/jira/browse/CASSANDRA-10555
 Project: Cassandra
  Issue Type: Bug
Reporter: Jeff Jirsa
Priority: Minor


ReadCommandTest writes to the same CF in multiple unit tests, and then counts 
the results in a partition. This can lead to tests failing in some 
circumstances:

{noformat}
[junit] Testcase: 
testSinglePartitionNamesAbort(org.apache.cassandra.db.ReadCommandTest):   FAILED
[junit] expected:<2> but was:<1>
[junit] junit.framework.AssertionFailedError: expected:<2> but was:<1>
[junit] at 
org.apache.cassandra.db.ReadCommandTest.testSinglePartitionNamesAbort(ReadCommandTest.java:140)
[junit] 
[junit] 
[junit] Testcase: 
testSinglePartitionSliceAbort(org.apache.cassandra.db.ReadCommandTest):   FAILED
[junit] expected:<2> but was:<3>
[junit] junit.framework.AssertionFailedError: expected:<2> but was:<3>
[junit] at 
org.apache.cassandra.db.ReadCommandTest.testSinglePartitionSliceAbort(ReadCommandTest.java:111)
{noformat}

This can be fixed trivially by truncating the CF at the beginning of 
{{testSinglePartitionSliceAbort}} and {{testSinglePartitionNamesAbort}} 

Also, once the truncate is in place, a potential typo is exposed in 
{{testSinglePartitionNamesAbort}}, where the partition is written with 
clustering column {{cc}} and {{cdd}}, but the read command reads {{cc}} and 
{{dd}} 



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


[jira] [Commented] (CASSANDRA-10554) Auto Bootstraping a new node fails

2015-10-19 Thread Alan Boudreault (JIRA)

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

Alan Boudreault commented on CASSANDRA-10554:
-

No luck. Tried to use nodetool to resume somehow the bootstraping but got:

{code}
...
[2015-10-20 02:34:50,848] received file 
/mnt/data/cassandra/data/manual/artist_to_user-6a01f82076aa11e59305f5ca02614f5c/ma-6-big-Data.db
 (progress: 190%)
[2015-10-20 02:34:50,848] received file 
/mnt/data/cassandra/data/manual/artist_to_user-6a01f82076aa11e59305f5ca02614f5c/ma-6-big-Data.db
 (progress: 191%)
[2015-10-20 02:34:50,848] received file 
/mnt/data/cassandra/data/manual/artist_to_user-6a01f82076aa11e59305f5ca02614f5c/ma-6-big-Data.db
 (progress: 192%)
[2015-10-20 02:34:50,849] received file 
/mnt/data/cassandra/data/manual/artist_to_user-6a01f82076aa11e59305f5ca02614f5c/ma-6-big-Data.db
 (progress: 193%)
[2015-10-20 02:34:50,849] received file 
/mnt/data/cassandra/data/manual/artist_to_user-6a01f82076aa11e59305f5ca02614f5c/ma-6-big-Data.db
 (progress: 194%)
[2015-10-20 02:34:50,849] received file 
/mnt/data/cassandra/data/manual/artist_to_user-6a01f82076aa11e59305f5ca02614f5c/ma-6-big-Data.db
 (progress: 195%)
[2015-10-20 02:34:50,849] received file 
/mnt/data/cassandra/data/manual/artist_to_user-6a01f82076aa11e59305f5ca02614f5c/ma-6-big-Data.db
 (progress: 196%)
[2015-10-20 02:34:50,849] received file 
/mnt/data/cassandra/data/manual/artist_to_user-6a01f82076aa11e59305f5ca02614f5c/ma-6-big-Data.db
 (progress: 197%)
[2015-10-20 02:34:50,849] received file 
/mnt/data/cassandra/data/manual/artist_to_user-6a01f82076aa11e59305f5ca02614f5c/ma-6-big-Data.db
 (progress: 198%)
[2015-10-20 02:34:50,849] received file 
/mnt/data/cassandra/data/manual/artist_to_user-6a01f82076aa11e59305f5ca02614f5c/ma-6-big-Data.db
 (progress: 200%)
[2015-10-20 02:34:50,850] received file 
/mnt/data/cassandra/data/manual/artist_to_user-6a01f82076aa11e59305f5ca02614f5c/ma-6-big-Data.db
 (progress: 201%)
[2015-10-20 02:34:50,850] received file 
/mnt/data/cassandra/data/manual/artist_to_user-6a01f82076aa11e59305f5ca02614f5c/ma-6-big-Data.db
 (progress: 202%)
[2015-10-20 02:34:50,850] received file 
/mnt/data/cassandra/data/manual/artist_to_user-6a01f82076aa11e59305f5ca02614f5c/ma-6-big-Data.db
 (progress: 203%)
[2015-10-20 02:34:50,850] received file 
/mnt/data/cassandra/data/manual/artist_to_user-6a01f82076aa11e59305f5ca02614f5c/ma-6-big-Data.db
 (progress: 204%)
[2015-10-20 02:34:50,850] received file 
/mnt/data/cassandra/data/manual/artist_to_user-6a01f82076aa11e59305f5ca02614f5c/ma-6-big-Data.db
 (progress: 205%)
[2015-10-20 02:34:50,850] received file 
/mnt/data/cassandra/data/manual/artist_to_user-6a01f82076aa11e59305f5ca02614f5c/ma-6-big-Data.db
 (progress: 206%)
[2015-10-20 02:34:50,851] received file 
/mnt/data/cassandra/data/manual/artist_to_user-6a01f82076aa11e59305f5ca02614f5c/ma-6-big-Data.db
 (progress: 207%)
[2015-10-20 02:34:50,851] received file 
/mnt/data/cassandra/data/manual/artist_to_user-6a01f82076aa11e59305f5ca02614f5c/ma-6-big-Data.db
 (progress: 208%)
[2015-10-20 02:34:50,882] session with /54.210.184.198 complete (progress: 208%)
[2015-10-20 02:34:50,883] Stream failed

{code}

> Auto Bootstraping a new node fails
> --
>
> Key: CASSANDRA-10554
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10554
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Alan Boudreault
> Fix For: 3.0.0
>
>
> I've been trying to add a new node in my 3.0 cluster and it seems to fail. 
> All my nodes are using apache/cassandra-3.0.0 branch. At the beginning, I can 
> see the following error:
> {code}
> INFO  18:45:55 [Stream #9f95fa90-7691-11e5-931f-5b735851f84a ID#0] Prepare 
> completed. Receiving 42 files(1910066622 bytes), sending 0 files(0 bytes)
> WARN  18:45:55 [Stream #9f95fa90-7691-11e5-931f-5b735851f84a] Retrying for 
> following error
> java.lang.RuntimeException: Unknown column added_time during deserialization
> at 
> org.apache.cassandra.db.SerializationHeader$Component.toHeader(SerializationHeader.java:331)
>  ~[main/:na]
> at 
> org.apache.cassandra.streaming.StreamReader.createWriter(StreamReader.java:136)
>  ~[main/:na]
> at 
> org.apache.cassandra.streaming.compress.CompressedStreamReader.read(CompressedStreamReader.java:77)
>  ~[main/:na]
> at 
> org.apache.cassandra.streaming.messages.IncomingFileMessage$1.deserialize(IncomingFileMessage.java:50)
>  [main/:na]
> at 
> org.apache.cassandra.streaming.messages.IncomingFileMessage$1.deserialize(IncomingFileMessage.java:39)
>  [main/:na]
> at 
> org.apache.cassandra.streaming.messages.StreamMessage.deserialize(StreamMessage.java:59)
>  [main/:na]
> at 
> org.apache.cassandra.streaming.ConnectionHandler$IncomingMessageHandler.run(Connection

[jira] [Commented] (CASSANDRA-10538) Assertion failed in LogFile when disk is full

2015-10-19 Thread Stefania (JIRA)

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

Stefania commented on CASSANDRA-10538:
--

Thanks.

> Assertion failed in LogFile when disk is full
> -
>
> Key: CASSANDRA-10538
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10538
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Stefania
>Assignee: Stefania
> Fix For: 3.x
>
> Attachments: 
> ma_txn_compaction_67311da0-72b4-11e5-9eb9-b14fa4bbe709.log, 
> ma_txn_compaction_696059b0-72b4-11e5-9eb9-b14fa4bbe709.log, 
> ma_txn_compaction_8ac58b70-72b4-11e5-9eb9-b14fa4bbe709.log, 
> ma_txn_compaction_8be24610-72b4-11e5-9eb9-b14fa4bbe709.log, 
> ma_txn_compaction_95500fc0-72b4-11e5-9eb9-b14fa4bbe709.log, 
> ma_txn_compaction_a41caa90-72b4-11e5-9eb9-b14fa4bbe709.log
>
>
> [~carlyeks] was running a stress job which filled up the disk. At the end of 
> the system logs there are several assertion errors:
> {code}
> ERROR [CompactionExecutor:1] 2015-10-14 20:46:55,467 CassandraDaemon.java:195 
> - Exception in thread Thread[CompactionExecutor:1,1,main]
> java.lang.RuntimeException: Insufficient disk space to write 2097152 bytes
> at 
> org.apache.cassandra.db.compaction.writers.CompactionAwareWriter.getWriteDirectory(CompactionAwareWriter.java:156)
>  ~[main/:na]
> at 
> org.apache.cassandra.db.compaction.writers.MaxSSTableSizeWriter.realAppend(MaxSSTableSizeWriter.java:77)
>  ~[main/:na]
> at 
> org.apache.cassandra.db.compaction.writers.CompactionAwareWriter.append(CompactionAwareWriter.java:110)
>  ~[main/:na]
> at 
> org.apache.cassandra.db.compaction.CompactionTask.runMayThrow(CompactionTask.java:182)
>  ~[main/:na]
> at 
> org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) 
> ~[main/:na]
> at 
> org.apache.cassandra.db.compaction.CompactionTask.executeInternal(CompactionTask.java:78)
>  ~[main/:na]
> at 
> org.apache.cassandra.db.compaction.AbstractCompactionTask.execute(AbstractCompactionTask.java:61)
>  ~[main/:na]
> at 
> org.apache.cassandra.db.compaction.CompactionManager$BackgroundCompactionCandidate.run(CompactionManager.java:220)
>  ~[main/:na]
> at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
> ~[na:1.8.0_40]
> at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
> ~[na:1.8.0_40]
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  ~[na:1.8.0_40]
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  [na:1.8.0_40]
> at java.lang.Thread.run(Thread.java:745) [na:1.8.0_40]
> INFO  [IndexSummaryManager:1] 2015-10-14 21:10:40,099 
> IndexSummaryManager.java:257 - Redistributing index summaries
> ERROR [IndexSummaryManager:1] 2015-10-14 21:10:42,275 
> CassandraDaemon.java:195 - Exception in thread 
> Thread[IndexSummaryManager:1,1,main]
> java.lang.AssertionError: Already completed!
> at org.apache.cassandra.db.lifecycle.LogFile.abort(LogFile.java:221) 
> ~[main/:na]
> at 
> org.apache.cassandra.db.lifecycle.LogTransaction.doAbort(LogTransaction.java:376)
>  ~[main/:na]
> at 
> org.apache.cassandra.utils.concurrent.Transactional$AbstractTransactional.abort(Transactional.java:144)
>  ~[main/:na]
> at 
> org.apache.cassandra.db.lifecycle.LifecycleTransaction.doAbort(LifecycleTransaction.java:259)
>  ~[main/:na]
> at 
> org.apache.cassandra.utils.concurrent.Transactional$AbstractTransactional.abort(Transactional.java:144)
>  ~[main/:na]
> at 
> org.apache.cassandra.utils.concurrent.Transactional$AbstractTransactional.abort(Transactional.java:193)
>  ~[main/:na]
> at 
> org.apache.cassandra.utils.concurrent.Transactional$AbstractTransactional.close(Transactional.java:158)
>  ~[main/:na]
> at 
> org.apache.cassandra.io.sstable.IndexSummaryManager.redistributeSummaries(IndexSummaryManager.java:242)
>  ~[main/:na]
> at 
> org.apache.cassandra.io.sstable.IndexSummaryManager$1.runMayThrow(IndexSummaryManager.java:134)
>  ~[main/:na]
> at 
> org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) 
> ~[main/:na]
> at org.apache.cassandra.concurrent.DebuggableScheduledThreadPoolE
> {code}
> We should not have an assertion if it can happen when the disk is full, we 
> should rather have a runtime exception.
> I also would like to understand exactly what triggered the assertion. 
> {{LifecycleTransaction}} can throw at the beginning of the commit method if 
> it cannot write the record to disk, in which case all we have to do is ensure 
> we update the records in memory after writing to disk (currently we update 
> them befor

[jira] [Commented] (CASSANDRA-10421) Potential issue with LogTransaction as it only checks in a single directory for files

2015-10-19 Thread Stefania (JIRA)

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

Stefania commented on CASSANDRA-10421:
--

It could not be reproduced in the last build. I've scheduled one more build for 
unit tests and if that too is OK I will move this to ready for commit.

> Potential issue with LogTransaction as it only checks in a single directory 
> for files
> -
>
> Key: CASSANDRA-10421
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10421
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Marcus Eriksson
>Assignee: Stefania
>Priority: Blocker
> Fix For: 3.0.0
>
>
> When creating a new LogTransaction we try to create the new logfile in the 
> same directory as the one we are writing to, but as we use 
> {{[directories.getDirectoryForNewSSTables()|https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/db/lifecycle/LogTransaction.java#L125]}}
>  this might end up in "any" of the configured data directories. If it does, 
> we will not be able to clean up leftovers as we check for files in the same 
> directory as the logfile was created: 
> https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/db/lifecycle/LogRecord.java#L163
> cc [~Stefania]



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


[jira] [Commented] (CASSANDRA-10089) NullPointerException in Gossip handleStateNormal

2015-10-19 Thread Stefania (JIRA)

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

Stefania commented on CASSANDRA-10089:
--

We managed to reproduce the issue of missing tokens in status normal again with 
[this failed 
test|http://cassci.datastax.com/view/Dev/view/stef1927/job/stef1927-10089-2.2-dtest/lastCompletedBuild/testReport/consistency_test/TestConsistency/short_read_reversed_test/]
 and log information at TRACE level for Gossiper. I've replaced the files 
attached to this ticket with the log files for this latest test. The ERROR 
occurs in node 1 because it gets status NORMAL but no tokens for node 2 from 
node 2, at around 09:31:16,086.

The problem is the high scale lib {{NonBlockingHashMap}} in {{EndpointState}}. 
Even if we are careful to add the tokens before the status, sometimes the 
gossip thread gets status normal but no tokens. I've reproduced this several 
times on my machine with [this unit 
test|https://github.com/stef1927/cassandra/commit/275564fa568f47bb136c13e38ad918c4c4fcb944#diff-9c186d237f8b9eda310c20fc4a8c314bR41].

I'm not so sure if it's OK to replace {{NonBlockingHashMap}} with 
{{ConcurrentHashMap}} since this would have performance impacts. Alternatively 
we could see if there is a later version of {{NonBlockingHashMap}} or a 
different implementation of a hash map that is thread safe and that guarantees 
that if we see a value when iterating, then we see all values inserted or 
modified before this value. cc [~brandon.williams] for his knowledge on Gossip 
and [~benedict] for his knowledge on hash map implementations.

> NullPointerException in Gossip handleStateNormal
> 
>
> Key: CASSANDRA-10089
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10089
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Stefania
>Assignee: Stefania
> Fix For: 2.1.x, 2.2.x, 3.0.x
>
> Attachments: node1_debug.log, node2_debug.log, node3_debug.log
>
>
> Whilst comparing dtests for CASSANDRA-9970 I found [this failing 
> dtest|http://cassci.datastax.com/view/Dev/view/blerer/job/blerer-9970-dtest/lastCompletedBuild/testReport/consistency_test/TestConsistency/short_read_test/]
>  in 2.2:
> {code}
> Unexpected error in node1 node log: ['ERROR [GossipStage:1] 2015-08-14 
> 15:39:57,873 CassandraDaemon.java:183 - Exception in thread 
> Thread[GossipStage:1,5,main] java.lang.NullPointerException: null \tat 
> org.apache.cassandra.service.StorageService.getApplicationStateValue(StorageService.java:1731)
>  ~[main/:na] \tat 
> org.apache.cassandra.service.StorageService.getTokensFor(StorageService.java:1804)
>  ~[main/:na] \tat 
> org.apache.cassandra.service.StorageService.handleStateNormal(StorageService.java:1857)
>  ~[main/:na] \tat 
> org.apache.cassandra.service.StorageService.onChange(StorageService.java:1629)
>  ~[main/:na] \tat 
> org.apache.cassandra.service.StorageService.onJoin(StorageService.java:2312) 
> ~[main/:na] \tat 
> org.apache.cassandra.gms.Gossiper.handleMajorStateChange(Gossiper.java:1025) 
> ~[main/:na] \tat 
> org.apache.cassandra.gms.Gossiper.applyStateLocally(Gossiper.java:1106) 
> ~[main/:na] \tat 
> org.apache.cassandra.gms.GossipDigestAck2VerbHandler.doVerb(GossipDigestAck2VerbHandler.java:49)
>  ~[main/:na] \tat 
> org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:66) 
> ~[main/:na] \tat 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>  ~[na:1.7.0_80] \tat 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>  ~[na:1.7.0_80] \tat java.lang.Thread.run(Thread.java:745) ~[na:1.7.0_80]']
> {code}
> I wasn't able to find it on unpatched branches  but it is clearly not related 
> to CASSANDRA-9970, if anything it could have been a side effect of 
> CASSANDRA-9871.



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


[jira] [Updated] (CASSANDRA-10089) NullPointerException in Gossip handleStateNormal

2015-10-19 Thread Stefania (JIRA)

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

Stefania updated CASSANDRA-10089:
-
Attachment: node3_debug.log
node2_debug.log
node1_debug.log

> NullPointerException in Gossip handleStateNormal
> 
>
> Key: CASSANDRA-10089
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10089
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Stefania
>Assignee: Stefania
> Fix For: 2.1.x, 2.2.x, 3.0.x
>
> Attachments: node1_debug.log, node2_debug.log, node3_debug.log
>
>
> Whilst comparing dtests for CASSANDRA-9970 I found [this failing 
> dtest|http://cassci.datastax.com/view/Dev/view/blerer/job/blerer-9970-dtest/lastCompletedBuild/testReport/consistency_test/TestConsistency/short_read_test/]
>  in 2.2:
> {code}
> Unexpected error in node1 node log: ['ERROR [GossipStage:1] 2015-08-14 
> 15:39:57,873 CassandraDaemon.java:183 - Exception in thread 
> Thread[GossipStage:1,5,main] java.lang.NullPointerException: null \tat 
> org.apache.cassandra.service.StorageService.getApplicationStateValue(StorageService.java:1731)
>  ~[main/:na] \tat 
> org.apache.cassandra.service.StorageService.getTokensFor(StorageService.java:1804)
>  ~[main/:na] \tat 
> org.apache.cassandra.service.StorageService.handleStateNormal(StorageService.java:1857)
>  ~[main/:na] \tat 
> org.apache.cassandra.service.StorageService.onChange(StorageService.java:1629)
>  ~[main/:na] \tat 
> org.apache.cassandra.service.StorageService.onJoin(StorageService.java:2312) 
> ~[main/:na] \tat 
> org.apache.cassandra.gms.Gossiper.handleMajorStateChange(Gossiper.java:1025) 
> ~[main/:na] \tat 
> org.apache.cassandra.gms.Gossiper.applyStateLocally(Gossiper.java:1106) 
> ~[main/:na] \tat 
> org.apache.cassandra.gms.GossipDigestAck2VerbHandler.doVerb(GossipDigestAck2VerbHandler.java:49)
>  ~[main/:na] \tat 
> org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:66) 
> ~[main/:na] \tat 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>  ~[na:1.7.0_80] \tat 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>  ~[na:1.7.0_80] \tat java.lang.Thread.run(Thread.java:745) ~[na:1.7.0_80]']
> {code}
> I wasn't able to find it on unpatched branches  but it is clearly not related 
> to CASSANDRA-9970, if anything it could have been a side effect of 
> CASSANDRA-9871.



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


[jira] [Updated] (CASSANDRA-10089) NullPointerException in Gossip handleStateNormal

2015-10-19 Thread Stefania (JIRA)

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

Stefania updated CASSANDRA-10089:
-
Attachment: (was: node1_debug.log)

> NullPointerException in Gossip handleStateNormal
> 
>
> Key: CASSANDRA-10089
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10089
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Stefania
>Assignee: Stefania
> Fix For: 2.1.x, 2.2.x, 3.0.x
>
>
> Whilst comparing dtests for CASSANDRA-9970 I found [this failing 
> dtest|http://cassci.datastax.com/view/Dev/view/blerer/job/blerer-9970-dtest/lastCompletedBuild/testReport/consistency_test/TestConsistency/short_read_test/]
>  in 2.2:
> {code}
> Unexpected error in node1 node log: ['ERROR [GossipStage:1] 2015-08-14 
> 15:39:57,873 CassandraDaemon.java:183 - Exception in thread 
> Thread[GossipStage:1,5,main] java.lang.NullPointerException: null \tat 
> org.apache.cassandra.service.StorageService.getApplicationStateValue(StorageService.java:1731)
>  ~[main/:na] \tat 
> org.apache.cassandra.service.StorageService.getTokensFor(StorageService.java:1804)
>  ~[main/:na] \tat 
> org.apache.cassandra.service.StorageService.handleStateNormal(StorageService.java:1857)
>  ~[main/:na] \tat 
> org.apache.cassandra.service.StorageService.onChange(StorageService.java:1629)
>  ~[main/:na] \tat 
> org.apache.cassandra.service.StorageService.onJoin(StorageService.java:2312) 
> ~[main/:na] \tat 
> org.apache.cassandra.gms.Gossiper.handleMajorStateChange(Gossiper.java:1025) 
> ~[main/:na] \tat 
> org.apache.cassandra.gms.Gossiper.applyStateLocally(Gossiper.java:1106) 
> ~[main/:na] \tat 
> org.apache.cassandra.gms.GossipDigestAck2VerbHandler.doVerb(GossipDigestAck2VerbHandler.java:49)
>  ~[main/:na] \tat 
> org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:66) 
> ~[main/:na] \tat 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>  ~[na:1.7.0_80] \tat 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>  ~[na:1.7.0_80] \tat java.lang.Thread.run(Thread.java:745) ~[na:1.7.0_80]']
> {code}
> I wasn't able to find it on unpatched branches  but it is clearly not related 
> to CASSANDRA-9970, if anything it could have been a side effect of 
> CASSANDRA-9871.



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


[jira] [Updated] (CASSANDRA-10089) NullPointerException in Gossip handleStateNormal

2015-10-19 Thread Stefania (JIRA)

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

Stefania updated CASSANDRA-10089:
-
Attachment: (was: node3_debug.log)

> NullPointerException in Gossip handleStateNormal
> 
>
> Key: CASSANDRA-10089
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10089
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Stefania
>Assignee: Stefania
> Fix For: 2.1.x, 2.2.x, 3.0.x
>
>
> Whilst comparing dtests for CASSANDRA-9970 I found [this failing 
> dtest|http://cassci.datastax.com/view/Dev/view/blerer/job/blerer-9970-dtest/lastCompletedBuild/testReport/consistency_test/TestConsistency/short_read_test/]
>  in 2.2:
> {code}
> Unexpected error in node1 node log: ['ERROR [GossipStage:1] 2015-08-14 
> 15:39:57,873 CassandraDaemon.java:183 - Exception in thread 
> Thread[GossipStage:1,5,main] java.lang.NullPointerException: null \tat 
> org.apache.cassandra.service.StorageService.getApplicationStateValue(StorageService.java:1731)
>  ~[main/:na] \tat 
> org.apache.cassandra.service.StorageService.getTokensFor(StorageService.java:1804)
>  ~[main/:na] \tat 
> org.apache.cassandra.service.StorageService.handleStateNormal(StorageService.java:1857)
>  ~[main/:na] \tat 
> org.apache.cassandra.service.StorageService.onChange(StorageService.java:1629)
>  ~[main/:na] \tat 
> org.apache.cassandra.service.StorageService.onJoin(StorageService.java:2312) 
> ~[main/:na] \tat 
> org.apache.cassandra.gms.Gossiper.handleMajorStateChange(Gossiper.java:1025) 
> ~[main/:na] \tat 
> org.apache.cassandra.gms.Gossiper.applyStateLocally(Gossiper.java:1106) 
> ~[main/:na] \tat 
> org.apache.cassandra.gms.GossipDigestAck2VerbHandler.doVerb(GossipDigestAck2VerbHandler.java:49)
>  ~[main/:na] \tat 
> org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:66) 
> ~[main/:na] \tat 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>  ~[na:1.7.0_80] \tat 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>  ~[na:1.7.0_80] \tat java.lang.Thread.run(Thread.java:745) ~[na:1.7.0_80]']
> {code}
> I wasn't able to find it on unpatched branches  but it is clearly not related 
> to CASSANDRA-9970, if anything it could have been a side effect of 
> CASSANDRA-9871.



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


[jira] [Updated] (CASSANDRA-10089) NullPointerException in Gossip handleStateNormal

2015-10-19 Thread Stefania (JIRA)

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

Stefania updated CASSANDRA-10089:
-
Attachment: (was: node2_debug.log)

> NullPointerException in Gossip handleStateNormal
> 
>
> Key: CASSANDRA-10089
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10089
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Stefania
>Assignee: Stefania
> Fix For: 2.1.x, 2.2.x, 3.0.x
>
>
> Whilst comparing dtests for CASSANDRA-9970 I found [this failing 
> dtest|http://cassci.datastax.com/view/Dev/view/blerer/job/blerer-9970-dtest/lastCompletedBuild/testReport/consistency_test/TestConsistency/short_read_test/]
>  in 2.2:
> {code}
> Unexpected error in node1 node log: ['ERROR [GossipStage:1] 2015-08-14 
> 15:39:57,873 CassandraDaemon.java:183 - Exception in thread 
> Thread[GossipStage:1,5,main] java.lang.NullPointerException: null \tat 
> org.apache.cassandra.service.StorageService.getApplicationStateValue(StorageService.java:1731)
>  ~[main/:na] \tat 
> org.apache.cassandra.service.StorageService.getTokensFor(StorageService.java:1804)
>  ~[main/:na] \tat 
> org.apache.cassandra.service.StorageService.handleStateNormal(StorageService.java:1857)
>  ~[main/:na] \tat 
> org.apache.cassandra.service.StorageService.onChange(StorageService.java:1629)
>  ~[main/:na] \tat 
> org.apache.cassandra.service.StorageService.onJoin(StorageService.java:2312) 
> ~[main/:na] \tat 
> org.apache.cassandra.gms.Gossiper.handleMajorStateChange(Gossiper.java:1025) 
> ~[main/:na] \tat 
> org.apache.cassandra.gms.Gossiper.applyStateLocally(Gossiper.java:1106) 
> ~[main/:na] \tat 
> org.apache.cassandra.gms.GossipDigestAck2VerbHandler.doVerb(GossipDigestAck2VerbHandler.java:49)
>  ~[main/:na] \tat 
> org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:66) 
> ~[main/:na] \tat 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>  ~[na:1.7.0_80] \tat 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>  ~[na:1.7.0_80] \tat java.lang.Thread.run(Thread.java:745) ~[na:1.7.0_80]']
> {code}
> I wasn't able to find it on unpatched branches  but it is clearly not related 
> to CASSANDRA-9970, if anything it could have been a side effect of 
> CASSANDRA-9871.



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


[jira] [Comment Edited] (CASSANDRA-6412) Custom creation and merge functions for user-defined column types

2015-10-19 Thread Jeff Jirsa (JIRA)

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

Jeff Jirsa edited comment on CASSANDRA-6412 at 10/19/15 11:38 PM:
--

Implemented some of this just to see how 8099 works. When talking through the 
tombstone issue, I think I've stumbled upon a secondary problem in read repair 
that's tangential to, but not necessarily isolated from, tombstones. 

Assuming a read with CL > ONE, on digest mismatch, it's not sufficient to 
re-reconcile the winning cells from each replica - you'd need to read repair 
every single cell stored by each node, and then reconcile all of them again. 
For the three most obvious single-primitive resolvers (min/max/first), removing 
tombstones may allow you to simply reconcile the winning cells, and read-repair 
that winning cell back to the replicas, and things should be OK.  For more 
complex resolvers (those that may use tuples/UDTs - mean, HLL, etc), this 
becomes less likely to be true. 




was (Author: jjirsa):
Implemented some of this just to see how 8099 works. When talking through the 
tombstone issue, I think I've stumbled upon a secondary problem in read repair 
that's tangential to, but not necessarily isolated from, tombstones. 

Assuming a read with CL > ONE, on digest mismatch, it's not sufficient to 
re-reconcile the winning cells from each replica - you'd need to read repair 
every single cell stored by each node, and then reconcile all of them again. 
For the three most obvious single-primitive resolvers (min/max/first), removing 
tombstones may allow you to simply reconcile the winning cells, and read-repair 
that winning cell back to the replicas, and things should be OK.  For more 
complex resolvers (those that may use tuples/UDTs - mean, HLL, etc), this 
becomes less likely to be true. 

It seems to me that without a full vector-clock implementation, this may become 
very difficult (vector clocks would, at least, allow significantly faster read 
repair following a mismatch, as comparing the vectors would make identification 
of the missing components much easier). CASSANDRA-580 was killed years ago - 
and probably for good reason. Is there interest in reconsidering vector clocks? 

> Custom creation and merge functions for user-defined column types
> -
>
> Key: CASSANDRA-6412
> URL: https://issues.apache.org/jira/browse/CASSANDRA-6412
> Project: Cassandra
>  Issue Type: New Feature
>  Components: Core
>Reporter: Nicolas Favre-Felix
>
> This is a proposal for a new feature, mapping custom types to Cassandra 
> columns.
> These types would provide a creation function and a merge function, to be 
> implemented in Java by the user.
> This feature relates to the concept of CRDTs; the proposal is to replicate 
> "operations" on these types during write, to apply these operations 
> internally during merge (Column.reconcile), and to also merge their values on 
> read.
> The following operations are made possible without reading back any data:
> * MIN or MAX(value) for a column
> * First value for a column
> * Count Distinct
> * HyperLogLog
> * Count-Min
> And any composition of these too, e.g. a Candlestick type includes first, 
> last, min, and max.
> The merge operations exposed by these types need to be commutative; this is 
> the case for many functions used in analytics.
> This feature is incomplete without some integration with CASSANDRA-4775 
> (Counters 2.0) which provides a Read-Modify-Write implementation for 
> distributed counters. Integrating custom creation and merge functions with 
> new counters would let users implement complex CRDTs in Cassandra, including:
> * Averages & related (sum of squares, standard deviation)
> * Graphs
> * Sets
> * Custom registers (even with vector clocks)
> I have a working prototype with implementations for min, max, and Candlestick 
> at https://github.com/acunu/cassandra/tree/crdts - I'd appreciate any 
> feedback on the design and interfaces.



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


[jira] [Commented] (CASSANDRA-6412) Custom creation and merge functions for user-defined column types

2015-10-19 Thread Jeff Jirsa (JIRA)

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

Jeff Jirsa commented on CASSANDRA-6412:
---

Implemented some of this just to see how 8099 works. When talking through the 
tombstone issue, I think I've stumbled upon a secondary problem in read repair 
that's tangential to, but not necessarily isolated from, tombstones. 

Assuming a read with CL > ONE, on digest mismatch, it's not sufficient to 
re-reconcile the winning cells from each replica - you'd need to read repair 
every single cell stored by each node, and then reconcile all of them again. 
For the three most obvious single-primitive resolvers (min/max/first), removing 
tombstones may allow you to simply reconcile the winning cells, and read-repair 
that winning cell back to the replicas, and things should be OK.  For more 
complex resolvers (those that may use tuples/UDTs - mean, HLL, etc), this 
becomes less likely to be true. 

It seems to me that without a full vector-clock implementation, this may become 
very difficult (vector clocks would, at least, allow significantly faster read 
repair following a mismatch, as comparing the vectors would make identification 
of the missing components much easier). CASSANDRA-580 was killed years ago - 
and probably for good reason. Is there interest in reconsidering vector clocks? 

> Custom creation and merge functions for user-defined column types
> -
>
> Key: CASSANDRA-6412
> URL: https://issues.apache.org/jira/browse/CASSANDRA-6412
> Project: Cassandra
>  Issue Type: New Feature
>  Components: Core
>Reporter: Nicolas Favre-Felix
>
> This is a proposal for a new feature, mapping custom types to Cassandra 
> columns.
> These types would provide a creation function and a merge function, to be 
> implemented in Java by the user.
> This feature relates to the concept of CRDTs; the proposal is to replicate 
> "operations" on these types during write, to apply these operations 
> internally during merge (Column.reconcile), and to also merge their values on 
> read.
> The following operations are made possible without reading back any data:
> * MIN or MAX(value) for a column
> * First value for a column
> * Count Distinct
> * HyperLogLog
> * Count-Min
> And any composition of these too, e.g. a Candlestick type includes first, 
> last, min, and max.
> The merge operations exposed by these types need to be commutative; this is 
> the case for many functions used in analytics.
> This feature is incomplete without some integration with CASSANDRA-4775 
> (Counters 2.0) which provides a Read-Modify-Write implementation for 
> distributed counters. Integrating custom creation and merge functions with 
> new counters would let users implement complex CRDTs in Cassandra, including:
> * Averages & related (sum of squares, standard deviation)
> * Graphs
> * Sets
> * Custom registers (even with vector clocks)
> I have a working prototype with implementations for min, max, and Candlestick 
> at https://github.com/acunu/cassandra/tree/crdts - I'd appreciate any 
> feedback on the design and interfaces.



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


[jira] [Commented] (CASSANDRA-10448) "Unknown type 0" Stream failure on Repair

2015-10-19 Thread Yuki Morishita (JIRA)

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

Yuki Morishita commented on CASSANDRA-10448:


[~mroi] Do you still have debug.log when error happened? Not just Stream ones, 
but whole.
I'm trying to figure out what happened during error.

> "Unknown type 0" Stream failure on Repair
> -
>
> Key: CASSANDRA-10448
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10448
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
> Environment: Cassandra 2.2.2
> 5 Nodes in Google Compute Engine
> Java 1.8.0_60
>Reporter: Omri Iluz
>Assignee: Yuki Morishita
> Fix For: 2.2.x
>
> Attachments: casslogs.txt
>
>
> While running repair after upgrading to 2.2.2 I am getting many stream fail 
> errors:
> {noformat}
> [2015-10-05 23:52:30,353] Repair session 4c181051-6bbb-11e5-acdb-d9a8bbd39330 
> for range (59694553044959221,86389982480621619] failed with error [repair 
> #4c181051-6bbb-11e5-acdb-d9a8bbd39330 on px/acti
> vities, (59694553044959221,86389982480621619]] Sync failed between 
> /10.240.81.104 and /10.240.134.221 (progress: 4%)
> {noformat}
> Logs from both sides of the stream:
> Sides 1 -
> {noformat}
> INFO  [STREAM-INIT-/10.240.81.104:52722] 2015-10-05 23:52:30,063 
> StreamResultFuture.java:111 - [Stream #239d8e60-6bbc-11e5-93ac-31bdef2dc550 
> ID#0] Creating new streaming plan for Repair
> INFO  [STREAM-INIT-/10.240.81.104:52722] 2015-10-05 23:52:30,063 
> StreamResultFuture.java:118 - [Stream #239d8e60-6bbc-11e5-93ac-31bdef2dc550, 
> ID#0] Received streaming plan for Repair
> INFO  [STREAM-INIT-/10.240.81.104:52723] 2015-10-05 23:52:30,063 
> StreamResultFuture.java:118 - [Stream #239d8e60-6bbc-11e5-93ac-31bdef2dc550, 
> ID#0] Received streaming plan for Repair
> INFO  [STREAM-IN-/10.240.81.104] 2015-10-05 23:52:30,098 
> StreamResultFuture.java:168 - [Stream #239d8e60-6bbc-11e5-93ac-31bdef2dc550 
> ID#0] Prepare completed. Receiving 13 files(517391317 bytes), sending 10 
> files(469491729 bytes)
> ERROR [STREAM-IN-/10.240.81.104] 2015-10-05 23:52:30,234 
> StreamSession.java:524 - [Stream #239d8e60-6bbc-11e5-93ac-31bdef2dc550] 
> Streaming error occurred
> java.lang.IllegalArgumentException: Unknown type 0
>   at 
> org.apache.cassandra.streaming.messages.StreamMessage$Type.get(StreamMessage.java:96)
>  ~[apache-cassandra-2.2.2.jar:2.2.2]
>   at 
> org.apache.cassandra.streaming.messages.StreamMessage.deserialize(StreamMessage.java:57)
>  ~[apache-cassandra-2.2.2.jar:2.2.2]
>   at 
> org.apache.cassandra.streaming.ConnectionHandler$IncomingMessageHandler.run(ConnectionHandler.java:261)
>  ~[apache-cassandra-2.2.2.jar:2.2.2]
>   at java.lang.Thread.run(Thread.java:745) [na:1.8.0_60]
> INFO  [STREAM-IN-/10.240.81.104] 2015-10-05 23:52:30,302 
> StreamResultFuture.java:182 - [Stream #239d8e60-6bbc-11e5-93ac-31bdef2dc550] 
> Session with /10.240.81.104 is complete
> WARN  [STREAM-IN-/10.240.81.104] 2015-10-05 23:52:30,302 
> StreamResultFuture.java:209 - [Stream #239d8e60-6bbc-11e5-93ac-31bdef2dc550] 
> Stream failed
> {noformat}
> Side 2 -
> {noformat}
> INFO  [AntiEntropyStage:1] 2015-10-05 23:52:30,060 StreamResultFuture.java:86 
> - [Stream #239d8e60-6bbc-11e5-93ac-31bdef2dc550] Executing streaming plan for 
> Repair
> INFO  [StreamConnectionEstablisher:6] 2015-10-05 23:52:30,061 
> StreamSession.java:232 - [Stream #239d8e60-6bbc-11e5-93ac-31bdef2dc550] 
> Starting streaming to /10.240.134.221
> INFO  [StreamConnectionEstablisher:6] 2015-10-05 23:52:30,063 
> StreamCoordinator.java:213 - [Stream #239d8e60-6bbc-11e5-93ac-31bdef2dc550, 
> ID#0] Beginning stream session with /10.240.134.221
> INFO  [STREAM-IN-/10.240.134.221] 2015-10-05 23:52:30,098 
> StreamResultFuture.java:168 - [Stream #239d8e60-6bbc-11e5-93ac-31bdef2dc550 
> ID#0] Prepare completed. Receiving 10 files(469491729 bytes), sending 13 
> files(517391317 bytes)
> INFO  [STREAM-IN-/10.240.134.221] 2015-10-05 23:52:30,349 
> StreamResultFuture.java:182 - [Stream #239d8e60-6bbc-11e5-93ac-31bdef2dc550] 
> Session with /10.240.134.221 is complete
> ERROR [STREAM-OUT-/10.240.134.221] 2015-10-05 23:52:30,349 
> StreamSession.java:524 - [Stream #239d8e60-6bbc-11e5-93ac-31bdef2dc550] 
> Streaming error occurred
> org.apache.cassandra.io.FSReadError: java.io.IOException: Broken pipe
>   at 
> org.apache.cassandra.io.util.ChannelProxy.transferTo(ChannelProxy.java:144) 
> ~[apache-cassandra-2.2.2.jar:2.2.2]
>   at 
> org.apache.cassandra.streaming.compress.CompressedStreamWriter$1.apply(CompressedStreamWriter.java:79)
>  ~[apache-cassandra-2.2.2.jar:2.2.2]
>   at 
> org.apache.cassandra.streaming.compress.CompressedStreamWriter$1.apply(CompressedStreamWriter.java:76)
>  ~[apache-cassandra-2.2.2.j

[jira] [Commented] (CASSANDRA-10554) Auto Bootstraping a new node fails

2015-10-19 Thread Alan Boudreault (JIRA)

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

Alan Boudreault commented on CASSANDRA-10554:
-

FYI, I'm giving it a new try with a completely new cluster. Will let you know 
how it goes.

> Auto Bootstraping a new node fails
> --
>
> Key: CASSANDRA-10554
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10554
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Alan Boudreault
> Fix For: 3.0.0
>
>
> I've been trying to add a new node in my 3.0 cluster and it seems to fail. 
> All my nodes are using apache/cassandra-3.0.0 branch. At the beginning, I can 
> see the following error:
> {code}
> INFO  18:45:55 [Stream #9f95fa90-7691-11e5-931f-5b735851f84a ID#0] Prepare 
> completed. Receiving 42 files(1910066622 bytes), sending 0 files(0 bytes)
> WARN  18:45:55 [Stream #9f95fa90-7691-11e5-931f-5b735851f84a] Retrying for 
> following error
> java.lang.RuntimeException: Unknown column added_time during deserialization
> at 
> org.apache.cassandra.db.SerializationHeader$Component.toHeader(SerializationHeader.java:331)
>  ~[main/:na]
> at 
> org.apache.cassandra.streaming.StreamReader.createWriter(StreamReader.java:136)
>  ~[main/:na]
> at 
> org.apache.cassandra.streaming.compress.CompressedStreamReader.read(CompressedStreamReader.java:77)
>  ~[main/:na]
> at 
> org.apache.cassandra.streaming.messages.IncomingFileMessage$1.deserialize(IncomingFileMessage.java:50)
>  [main/:na]
> at 
> org.apache.cassandra.streaming.messages.IncomingFileMessage$1.deserialize(IncomingFileMessage.java:39)
>  [main/:na]
> at 
> org.apache.cassandra.streaming.messages.StreamMessage.deserialize(StreamMessage.java:59)
>  [main/:na]
> at 
> org.apache.cassandra.streaming.ConnectionHandler$IncomingMessageHandler.run(ConnectionHandler.java:261)
>  [main/:na]
> at java.lang.Thread.run(Thread.java:745) [na:1.8.0_45]
> ERROR 18:45:55 [Stream #9f95fa90-7691-11e5-931f-5b735851f84a] Streaming error 
> occurred
> java.lang.IllegalArgumentException: Unknown type 0
> at 
> org.apache.cassandra.streaming.messages.StreamMessage$Type.get(StreamMessage.java:97)
>  ~[main/:na]
> at 
> org.apache.cassandra.streaming.messages.StreamMessage.deserialize(StreamMessage.java:58)
>  ~[main/:na]
> at 
> org.apache.cassandra.streaming.ConnectionHandler$IncomingMessageHandler.run(ConnectionHandler.java:261)
>  ~[main/:na]
> at java.lang.Thread.run(Thread.java:745) [na:1.8.0_45]
> INFO  18:45:55 [Stream #9f95fa90-7691-11e5-931f-5b735851f84a] Session with 
> /54.210.187.114 is complete
> INFO  18:45:56 [Stream #9f95fa90-7691-11e5-931f-5b735851f84a ID#0] Prepare 
> completed. Receiving 38 files(2323537628 bytes), sending 0 files(0 bytes)
> WARN  18:45:56 [Stream #9f95fa90-7691-11e5-931f-5b735851f84a] Retrying for 
> following error
> java.lang.RuntimeException: Unknown column added_time during deserialization
> at 
> org.apache.cassandra.db.SerializationHeader$Component.toHeader(SerializationHeader.java:331)
>  ~[main/:na]
> at 
> org.apache.cassandra.streaming.StreamReader.createWriter(StreamReader.java:136)
>  ~[main/:na]
> at 
> org.apache.cassandra.streaming.compress.CompressedStreamReader.read(CompressedStreamReader.java:77)
>  ~[main/:na]
> at 
> org.apache.cassandra.streaming.messages.IncomingFileMessage$1.deserialize(IncomingFileMessage.java:50)
>  [main/:na]
> at 
> org.apache.cassandra.streaming.messages.IncomingFileMessage$1.deserialize(IncomingFileMessage.java:39)
>  [main/:na]
> at 
> org.apache.cassandra.streaming.messages.StreamMessage.deserialize(StreamMessage.java:59)
>  [main/:na]
> at 
> org.apache.cassandra.streaming.ConnectionHandler$IncomingMessageHandler.run(ConnectionHandler.java:261)
>  [main/:na]
> at java.lang.Thread.run(Thread.java:745) [na:1.8.0_45]
> ERROR 18:45:56 [Stream #9f95fa90-7691-11e5-931f-5b735851f84a] Streaming error 
> occurred
> java.lang.IllegalArgumentException: Unknown type 0
> at 
> org.apache.cassandra.streaming.messages.StreamMessage$Type.get(StreamMessage.java:97)
>  ~[main/:na]
> at 
> org.apache.cassandra.streaming.messages.StreamMessage.deserialize(StreamMessage.java:58)
>  ~[main/:na]
> at 
> org.apache.cassandra.streaming.ConnectionHandler$IncomingMessageHandler.run(ConnectionHandler.java:261)
>  ~[main/:na]
> at java.lang.Thread.run(Thread.java:745) [na:1.8.0_45]
> INFO  18:45:56 [Stream #9f95fa90-7691-11e5-931f-5b735851f84a] Session with 
> /54.210.184.198 is complete
> INFO  18:45:56 [Stream #9f95fa90-7691-11e5-931f-5b735851f84a ID#0] Prepare 
> completed. Receiving 35 files(2069893759 bytes), sending 0 files(0 bytes)
> WARN  18:45:57 [Stre

[jira] [Created] (CASSANDRA-10554) Auto Bootstraping a new node fails

2015-10-19 Thread Alan Boudreault (JIRA)
Alan Boudreault created CASSANDRA-10554:
---

 Summary: Auto Bootstraping a new node fails
 Key: CASSANDRA-10554
 URL: https://issues.apache.org/jira/browse/CASSANDRA-10554
 Project: Cassandra
  Issue Type: Bug
Reporter: Alan Boudreault
 Fix For: 3.0.0


I've been trying to add a new node in my 3.0 cluster and it seems to fail. All 
my nodes are using apache/cassandra-3.0.0 branch. At the beginning, I can see 
the following error:

{code}
INFO  18:45:55 [Stream #9f95fa90-7691-11e5-931f-5b735851f84a ID#0] Prepare 
completed. Receiving 42 files(1910066622 bytes), sending 0 files(0 bytes)
WARN  18:45:55 [Stream #9f95fa90-7691-11e5-931f-5b735851f84a] Retrying for 
following error
java.lang.RuntimeException: Unknown column added_time during deserialization
at 
org.apache.cassandra.db.SerializationHeader$Component.toHeader(SerializationHeader.java:331)
 ~[main/:na]
at 
org.apache.cassandra.streaming.StreamReader.createWriter(StreamReader.java:136) 
~[main/:na]
at 
org.apache.cassandra.streaming.compress.CompressedStreamReader.read(CompressedStreamReader.java:77)
 ~[main/:na]
at 
org.apache.cassandra.streaming.messages.IncomingFileMessage$1.deserialize(IncomingFileMessage.java:50)
 [main/:na]
at 
org.apache.cassandra.streaming.messages.IncomingFileMessage$1.deserialize(IncomingFileMessage.java:39)
 [main/:na]
at 
org.apache.cassandra.streaming.messages.StreamMessage.deserialize(StreamMessage.java:59)
 [main/:na]
at 
org.apache.cassandra.streaming.ConnectionHandler$IncomingMessageHandler.run(ConnectionHandler.java:261)
 [main/:na]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_45]
ERROR 18:45:55 [Stream #9f95fa90-7691-11e5-931f-5b735851f84a] Streaming error 
occurred
java.lang.IllegalArgumentException: Unknown type 0
at 
org.apache.cassandra.streaming.messages.StreamMessage$Type.get(StreamMessage.java:97)
 ~[main/:na]
at 
org.apache.cassandra.streaming.messages.StreamMessage.deserialize(StreamMessage.java:58)
 ~[main/:na]
at 
org.apache.cassandra.streaming.ConnectionHandler$IncomingMessageHandler.run(ConnectionHandler.java:261)
 ~[main/:na]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_45]
INFO  18:45:55 [Stream #9f95fa90-7691-11e5-931f-5b735851f84a] Session with 
/54.210.187.114 is complete
INFO  18:45:56 [Stream #9f95fa90-7691-11e5-931f-5b735851f84a ID#0] Prepare 
completed. Receiving 38 files(2323537628 bytes), sending 0 files(0 bytes)
WARN  18:45:56 [Stream #9f95fa90-7691-11e5-931f-5b735851f84a] Retrying for 
following error
java.lang.RuntimeException: Unknown column added_time during deserialization
at 
org.apache.cassandra.db.SerializationHeader$Component.toHeader(SerializationHeader.java:331)
 ~[main/:na]
at 
org.apache.cassandra.streaming.StreamReader.createWriter(StreamReader.java:136) 
~[main/:na]
at 
org.apache.cassandra.streaming.compress.CompressedStreamReader.read(CompressedStreamReader.java:77)
 ~[main/:na]
at 
org.apache.cassandra.streaming.messages.IncomingFileMessage$1.deserialize(IncomingFileMessage.java:50)
 [main/:na]
at 
org.apache.cassandra.streaming.messages.IncomingFileMessage$1.deserialize(IncomingFileMessage.java:39)
 [main/:na]
at 
org.apache.cassandra.streaming.messages.StreamMessage.deserialize(StreamMessage.java:59)
 [main/:na]
at 
org.apache.cassandra.streaming.ConnectionHandler$IncomingMessageHandler.run(ConnectionHandler.java:261)
 [main/:na]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_45]
ERROR 18:45:56 [Stream #9f95fa90-7691-11e5-931f-5b735851f84a] Streaming error 
occurred
java.lang.IllegalArgumentException: Unknown type 0
at 
org.apache.cassandra.streaming.messages.StreamMessage$Type.get(StreamMessage.java:97)
 ~[main/:na]
at 
org.apache.cassandra.streaming.messages.StreamMessage.deserialize(StreamMessage.java:58)
 ~[main/:na]
at 
org.apache.cassandra.streaming.ConnectionHandler$IncomingMessageHandler.run(ConnectionHandler.java:261)
 ~[main/:na]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_45]
INFO  18:45:56 [Stream #9f95fa90-7691-11e5-931f-5b735851f84a] Session with 
/54.210.184.198 is complete
INFO  18:45:56 [Stream #9f95fa90-7691-11e5-931f-5b735851f84a ID#0] Prepare 
completed. Receiving 35 files(2069893759 bytes), sending 0 files(0 bytes)
WARN  18:45:57 [Stream #9f95fa90-7691-11e5-931f-5b735851f84a] Retrying for 
following error
java.lang.AssertionError: null
at 
org.apache.cassandra.db.PartitionColumns$Builder.add(PartitionColumns.java:168) 
~[main/:na]
at 
org.apache.cassandra.db.SerializationHeader$Component.toHeader(SerializationHeader.java:333)
 ~[main/:na]
at 
org.apache.cassandra.streaming.StreamReader.createWriter(StreamReader.java:136) 
~[main/:na]
at 
org.apache.cassandra.streaming.compress.Compr

[jira] [Commented] (CASSANDRA-10140) Enable GC logging by default

2015-10-19 Thread Joshua McKenzie (JIRA)

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

Joshua McKenzie commented on CASSANDRA-10140:
-

In keeping with the spirit of CASSANDRA-7136, +1 to using $CASSANDRA_HOME

> Enable GC logging by default
> 
>
> Key: CASSANDRA-10140
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10140
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Config
>Reporter: Chris Lohfink
>Assignee: Chris Lohfink
>Priority: Minor
> Fix For: 2.2.x, 3.0.x
>
> Attachments: CASSANDRA-10140-2-2.txt, CASSANDRA-10140.txt, 
> cassandra-2.2-10140-v2.txt
>
>
> Overhead for the gc logging is very small (with cycling logs in 7+) and it 
> provides a ton of useful information. This will open up more for C* 
> diagnostic tools to provide feedback as well without requiring restarts.



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


[jira] [Commented] (CASSANDRA-10524) Add ability to skip TIME_WAIT sockets on port check on Windows startup

2015-10-19 Thread Joshua McKenzie (JIRA)

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

Joshua McKenzie commented on CASSANDRA-10524:
-

Committed as {{728f94e798662bf8e0e4ad0f4d236394868cb7d6}}

> Add ability to skip TIME_WAIT sockets on port check on Windows startup
> --
>
> Key: CASSANDRA-10524
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10524
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Joshua McKenzie
>Assignee: Joshua McKenzie
>Priority: Trivial
>  Labels: Windows
> Fix For: 3.0.0
>
> Attachments: 10524_v2.txt, win_aggressive_startup.txt
>
>
> C* sockets are often staying TIME_WAIT for up to 120 seconds (2x max segment 
> lifetime) for me in my dev environment on Windows. This is rather obnoxious 
> since it means I can't launch C* for up to 2 minutes after stopping it.
> Attaching a patch that adds a simple -a for aggressive startup to the launch 
> scripts to ignore duplicate port check from netstat if it's TIME_WAIT. Also 
> snuck in some more liberal interpretation of help strings in the .ps1.



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


[jira] [Commented] (CASSANDRA-10140) Enable GC logging by default

2015-10-19 Thread Chris Lohfink (JIRA)

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

Chris Lohfink commented on CASSANDRA-10140:
---

I guess it should really be {{$CASSANDRA_HOME/logs/gc.log}} as is in the 
powershell script, then maybe a debian patch to change to 
{{/var/log/cassandra}} like it does in {{bin/cassandra}} ?

> Enable GC logging by default
> 
>
> Key: CASSANDRA-10140
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10140
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Config
>Reporter: Chris Lohfink
>Assignee: Chris Lohfink
>Priority: Minor
> Fix For: 2.2.x, 3.0.x
>
> Attachments: CASSANDRA-10140-2-2.txt, CASSANDRA-10140.txt, 
> cassandra-2.2-10140-v2.txt
>
>
> Overhead for the gc logging is very small (with cycling logs in 7+) and it 
> provides a ton of useful information. This will open up more for C* 
> diagnostic tools to provide feedback as well without requiring restarts.



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


[jira] [Comment Edited] (CASSANDRA-10140) Enable GC logging by default

2015-10-19 Thread Ariel Weisberg (JIRA)

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

Ariel Weisberg edited comment on CASSANDRA-10140 at 10/19/15 8:48 PM:
--

[~cnlwsu] I was going to update the 3.0 patch, but then I noticed that the 
current gc logging directory is /var/log/cassandra, but in your patch you are 
using $env:CASSANDRA_HOME/logs in some cases, but not in others even in the 
same version of C*. Which is the correct path?

If it's a Windows vs Linux thing, well JVM options is now common to both in 3.0 
so maybe the log path needs to be specified in cassandra-env for each platform?


was (Author: aweisberg):
[~cnlwsu] I was going to update the 3.0 patch, but then I noticed that the 
current gc logging directory is /var/log/cassandra, but in your patch you are 
using $env:CASSANDRA_HOME/logs in some cases, but not in others even in the 
same version of C*. Which is the correct path?

> Enable GC logging by default
> 
>
> Key: CASSANDRA-10140
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10140
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Config
>Reporter: Chris Lohfink
>Assignee: Chris Lohfink
>Priority: Minor
> Fix For: 2.2.x, 3.0.x
>
> Attachments: CASSANDRA-10140-2-2.txt, CASSANDRA-10140.txt, 
> cassandra-2.2-10140-v2.txt
>
>
> Overhead for the gc logging is very small (with cycling logs in 7+) and it 
> provides a ton of useful information. This will open up more for C* 
> diagnostic tools to provide feedback as well without requiring restarts.



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


[jira] [Commented] (CASSANDRA-10140) Enable GC logging by default

2015-10-19 Thread Ariel Weisberg (JIRA)

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

Ariel Weisberg commented on CASSANDRA-10140:


[~cnlwsu] I was going to update the 3.0 patch, but then I noticed that the 
current gc logging directory is /var/log/cassandra, but in your patch you are 
using $env:CASSANDRA_HOME/logs in some cases, but not in others even in the 
same version of C*. Which is the correct path?

> Enable GC logging by default
> 
>
> Key: CASSANDRA-10140
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10140
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Config
>Reporter: Chris Lohfink
>Assignee: Chris Lohfink
>Priority: Minor
> Fix For: 2.2.x, 3.0.x
>
> Attachments: CASSANDRA-10140-2-2.txt, CASSANDRA-10140.txt, 
> cassandra-2.2-10140-v2.txt
>
>
> Overhead for the gc logging is very small (with cycling logs in 7+) and it 
> provides a ton of useful information. This will open up more for C* 
> diagnostic tools to provide feedback as well without requiring restarts.



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


[jira] [Commented] (CASSANDRA-10195) TWCS experiments and improvement proposals

2015-10-19 Thread Philip Thompson (JIRA)

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

Philip Thompson commented on CASSANDRA-10195:
-

[~krummas], I'll start loading some clusters up with 1TB of data in case you 
say no, but can we run this on cstar perf at a lower data density? The cloud 
costs for i2 nodes is extensive.

> TWCS experiments and improvement proposals
> --
>
> Key: CASSANDRA-10195
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10195
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Core
>Reporter: Antti Nissinen
> Fix For: 2.1.x, 2.2.x
>
> Attachments: 20150814_1027_compaction_hierarchy.txt, 
> node0_20150727_1250_time_graph.txt, node0_20150810_1017_time_graph.txt, 
> node0_20150812_1531_time_graph.txt, node0_20150813_0835_time_graph.txt, 
> node0_20150814_1054_time_graph.txt, node1_20150727_1250_time_graph.txt, 
> node1_20150810_1017_time_graph.txt, node1_20150812_1531_time_graph.txt, 
> node1_20150813_0835_time_graph.txt, node1_20150814_1054_time_graph.txt, 
> node2_20150727_1250_time_graph.txt, node2_20150810_1017_time_graph.txt, 
> node2_20150812_1531_time_graph.txt, node2_20150813_0835_time_graph.txt, 
> node2_20150814_1054_time_graph.txt, sstable_count_figure1.png, 
> sstable_count_figure2.png
>
>
> This JIRA item describes experiments with DateTieredCompactionStartegy (DTCS) 
> and TimeWindowCompactionStrategy (TWCS) and proposes modifications to the 
> TWCS. In a test system several crashes were caused intentionally (and 
> unintentionally) and repair operations were executed leading to flood of 
> small SSTables. Target was to be able compact those files are release disk 
> space reserved by duplicate data. Setup is following:
> - Three nodes
> - DateTieredCompactionStrategy, max_sstable_age_days = 5
> Cassandra 2.1.2
> The setup and data format has been documented in detailed here 
> https://issues.apache.org/jira/browse/CASSANDRA-9644.
> The test was started by dumping  few days worth of data to the database for 
> 100 000 signals. Time graphs of SStables from different nodes indicates that 
> the DTCS has been working as expected and SStables are nicely ordered in time 
> wise.
> See files:
> node0_20150727_1250_time_graph.txt
> node1_20150727_1250_time_graph.txt
> node2_20150727_1250_time_graph.txt
> Status=Up/Down
> |/ State=Normal/Leaving/Joining/Moving
> --  AddressLoad   Tokens  OwnsHost ID 
>   Rack
> UN  139.66.43.170  188.87 GB  256 ?   
> dfc29863-c935-4909-9d7f-c59a47eda03d  rack1
> UN  139.66.43.169  198.37 GB  256 ?   
> 12e7628b-7f05-48f6-b7e4-35a82010021a  rack1
> UN  139.66.43.168  191.88 GB  256 ?   
> 26088392-f803-4d59-9073-c75f857fb332  rack1
> All nodes crashed due to power failure (know beforehand) and repair 
> operations were started for each node one at the time. Below is the behavior 
> of SSTable count on different nodes. New data was dumped simultaneously with 
> repair operation.
> SEE FIGURE: sstable_count_figure1.png
> Vertical lines indicate following events.
> 1) Cluster was down due to power shutdown and was restarted. At the first 
> vertical line the repair operation (nodetool repair -pr) was started for the 
> first node
> 2) Repair for the second repair operation was started after the first node 
> was successfully repaired.
> 3) Repair for the third repair operation was started
> 4) Third repair operation was finished
> 5) One of the nodes crashed (unknown reason in OS level)
> 6) Repair operation (nodetool repair -pr) was started for the first node
> 7) Repair operation for the second node was started
> 8) Repair operation for the third node was started
> 9) Repair operations finished
> These repair operations are leading to huge amount of small SSTables covering 
> the whole time span of the data. The compaction horizon of DTCS was limited 
> to 5 days (max_sstable_age_days) due to the size of the SStables on the disc. 
> Therefore, small SStables won't be compacted. Below are the time graphs from 
> SSTables after the second round of repairs.
> Status=Up/Down
> |/ State=Normal/Leaving/Joining/Moving
> --  AddressLoad   Tokens  OwnsHost ID 
>   Rack
> UN  xx.xx.xx.170  663.61 GB  256 ?   
> dfc29863-c935-4909-9d7f-c59a47eda03d  rack1
> UN  xx.xx.xx.169  763.52 GB  256 ?   
> 12e7628b-7f05-48f6-b7e4-35a82010021a  rack1
> UN  xx.xx.xx.168  651.59 GB  256 ?   
> 26088392-f803-4d59-9073-c75f857fb332  rack1
> See files:
> node0_20150810_1017_time_graph.txt
> node1_20150810_1017_time_graph.txt
> node2_20150810_1017_time_graph.txt
> To get rid of the SStables the TimeWindowCompactionStrategy was taken into 
> use. Window si

[jira] [Updated] (CASSANDRA-10140) Enable GC logging by default

2015-10-19 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko updated CASSANDRA-10140:
--
Fix Version/s: 3.0.x
   2.2.x

> Enable GC logging by default
> 
>
> Key: CASSANDRA-10140
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10140
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Config
>Reporter: Chris Lohfink
>Assignee: Chris Lohfink
>Priority: Minor
> Fix For: 2.2.x, 3.0.x
>
> Attachments: CASSANDRA-10140-2-2.txt, CASSANDRA-10140.txt, 
> cassandra-2.2-10140-v2.txt
>
>
> Overhead for the gc logging is very small (with cycling logs in 7+) and it 
> provides a ton of useful information. This will open up more for C* 
> diagnostic tools to provide feedback as well without requiring restarts.



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


[jira] [Reopened] (CASSANDRA-9526) Provide a JMX hook to monitor phi values in the FailureDetector

2015-10-19 Thread Ariel Weisberg (JIRA)

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

Ariel Weisberg reopened CASSANDRA-9526:
---

The code I added for formatting the information in nodetool has a minor bug 
found by Coverity where it uses '\n" instead of "%n" so you don't get the 
platform specific line ending.

Will post an update.

> Provide a JMX hook to monitor phi values in the FailureDetector
> ---
>
> Key: CASSANDRA-9526
> URL: https://issues.apache.org/jira/browse/CASSANDRA-9526
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Core
>Reporter: Ron Kuris
>Assignee: Ron Kuris
>  Labels: docs-impacting
> Fix For: 2.2.4, 3.0.0
>
> Attachments: Monitor-Phi-JMX.patch, Phi-Log-Debug-When-Close.patch, 
> Tiny-Race-Condition.patch
>
>
> phi_convict_threshold can be tuned, but there's currently no way to monitor 
> the phi values to see if you're getting close.
> The attached patch adds the ability to get these values via JMX.



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


[jira] [Commented] (CASSANDRA-10140) Enable GC logging by default

2015-10-19 Thread Joshua McKenzie (JIRA)

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

Joshua McKenzie commented on CASSANDRA-10140:
-

After CASSANDRA-10403 this doesn't merge cleanly to 3.0. Could we get a rebased 
version for 3.0?

> Enable GC logging by default
> 
>
> Key: CASSANDRA-10140
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10140
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Config
>Reporter: Chris Lohfink
>Assignee: Chris Lohfink
>Priority: Minor
> Attachments: CASSANDRA-10140-2-2.txt, CASSANDRA-10140.txt, 
> cassandra-2.2-10140-v2.txt
>
>
> Overhead for the gc logging is very small (with cycling logs in 7+) and it 
> provides a ton of useful information. This will open up more for C* 
> diagnostic tools to provide feedback as well without requiring restarts.



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


svn commit: r1709472 - in /cassandra/site: publish/download/index.html src/settings.py

2015-10-19 Thread jake
Author: jake
Date: Mon Oct 19 19:49:46 2015
New Revision: 1709472

URL: http://svn.apache.org/viewvc?rev=1709472&view=rev
Log:
3.0.0-rc2

Modified:
cassandra/site/publish/download/index.html
cassandra/site/src/settings.py

Modified: cassandra/site/publish/download/index.html
URL: 
http://svn.apache.org/viewvc/cassandra/site/publish/download/index.html?rev=1709472&r1=1709471&r2=1709472&view=diff
==
--- cassandra/site/publish/download/index.html (original)
+++ cassandra/site/publish/download/index.html Mon Oct 19 19:49:46 2015
@@ -125,16 +125,16 @@
 
   Development Cassandra Server Releases (not production 
ready)
   
-  The latest development release is 3.0.0-rc1 (released on
-  2015-09-21).
+  The latest development release is 3.0.0-rc2 (released on
+  2015-10-19).
   
 
   
 
-http://www.apache.org/dyn/closer.lua/cassandra/3.0.0/apache-cassandra-3.0.0-rc1-bin.tar.gz";>apache-cassandra-3.0.0-rc1-bin.tar.gz
-[http://www.apache.org/dist/cassandra/3.0.0/apache-cassandra-3.0.0-rc1-bin.tar.gz.asc";>PGP]
-[http://www.apache.org/dist/cassandra/3.0.0/apache-cassandra-3.0.0-rc1-bin.tar.gz.md5";>MD5]
-[http://www.apache.org/dist/cassandra/3.0.0/apache-cassandra-3.0.0-rc1-bin.tar.gz.sha1";>SHA1]
+http://www.apache.org/dyn/closer.lua/cassandra/3.0.0/apache-cassandra-3.0.0-rc2-bin.tar.gz";>apache-cassandra-3.0.0-rc2-bin.tar.gz
+[http://www.apache.org/dist/cassandra/3.0.0/apache-cassandra-3.0.0-rc2-bin.tar.gz.asc";>PGP]
+[http://www.apache.org/dist/cassandra/3.0.0/apache-cassandra-3.0.0-rc2-bin.tar.gz.md5";>MD5]
+[http://www.apache.org/dist/cassandra/3.0.0/apache-cassandra-3.0.0-rc2-bin.tar.gz.sha1";>SHA1]
 
   
   
@@ -197,10 +197,10 @@
   
   
 
-http://www.apache.org/dyn/closer.lua/cassandra/3.0.0/apache-cassandra-3.0.0-rc1-src.tar.gz";>apache-cassandra-3.0.0-rc1-src.tar.gz
-[http://www.apache.org/dist/cassandra/3.0.0/apache-cassandra-3.0.0-rc1-src.tar.gz.asc";>PGP]
-[http://www.apache.org/dist/cassandra/3.0.0/apache-cassandra-3.0.0-rc1-src.tar.gz.md5";>MD5]
-[http://www.apache.org/dist/cassandra/3.0.0/apache-cassandra-3.0.0-rc1-src.tar.gz.sha1";>SHA1]
+http://www.apache.org/dyn/closer.lua/cassandra/3.0.0/apache-cassandra-3.0.0-rc2-src.tar.gz";>apache-cassandra-3.0.0-rc2-src.tar.gz
+[http://www.apache.org/dist/cassandra/3.0.0/apache-cassandra-3.0.0-rc2-src.tar.gz.asc";>PGP]
+[http://www.apache.org/dist/cassandra/3.0.0/apache-cassandra-3.0.0-rc2-src.tar.gz.md5";>MD5]
+[http://www.apache.org/dist/cassandra/3.0.0/apache-cassandra-3.0.0-rc2-src.tar.gz.sha1";>SHA1]
 
   


Modified: cassandra/site/src/settings.py
URL: 
http://svn.apache.org/viewvc/cassandra/site/src/settings.py?rev=1709472&r1=1709471&r2=1709472&view=diff
==
--- cassandra/site/src/settings.py (original)
+++ cassandra/site/src/settings.py Mon Oct 19 19:49:46 2015
@@ -101,8 +101,8 @@ class CassandraDef(object):
 veryoldstable_version = '2.0.17'
 veryoldstable_release_date = '2015-09-21'
 veryoldstable_exists = True
-devel_version = '3.0.0-rc1'
-devel_release_date = '2015-09-21'
+devel_version = '3.0.0-rc2'
+devel_release_date = '2015-10-19'
 devel_exists = True
 _apache_base_url = 'http://www.apache.org'
 _svn_base_url = 'https://svn.apache.org/repos/asf'




[jira] [Commented] (CASSANDRA-10381) NullPointerException in cqlsh paging through CF with static columns

2015-10-19 Thread Benjamin Lerer (JIRA)

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

Benjamin Lerer commented on CASSANDRA-10381:


The result for the DTests are 
[here|http://cassci.datastax.com/view/Dev/view/blerer/job/blerer-10381-3.0-dtest/6/]

> NullPointerException in cqlsh paging through CF with static columns
> ---
>
> Key: CASSANDRA-10381
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10381
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Reporter: Michael Keeney
>Assignee: Benjamin Lerer
>  Labels: cqlsh, nullpointerexception, range
> Fix For: 2.1.x, 2.2.x, 3.0.x
>
>
> When running select count( * ) from cqlsh with limit, the following NPE 
> occurs:
> select count( * ) from tbl1 limit 5 ; 
> {code}
> ERROR [SharedPool-Worker-4] 2015-09-16 14:49:43,480 QueryMessage.java:132 - 
> Unexpected error during query
> java.lang.NullPointerException: null
> at 
> org.apache.cassandra.service.pager.RangeSliceQueryPager.containsPreviousLast(RangeSliceQueryPager.java:99)
>  ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
> at 
> org.apache.cassandra.service.pager.AbstractQueryPager.fetchPage(AbstractQueryPager.java:119)
>  ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
> at 
> org.apache.cassandra.service.pager.RangeSliceQueryPager.fetchPage(RangeSliceQueryPager.java:37)
>  ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
> at 
> org.apache.cassandra.cql3.statements.SelectStatement.pageCountQuery(SelectStatement.java:286)
>  ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
> at 
> org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:230)
>  ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
> at 
> org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:67)
>  ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
> at 
> org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:238)
>  ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
> at 
> com.datastax.bdp.cassandra.cql3.DseQueryHandler$StatementExecution.execute(DseQueryHandler.java:291)
>  ~[dse-4.7.2.jar:4.7.2]
> at 
> com.datastax.bdp.cassandra.cql3.DseQueryHandler$Operation.executeWithTiming(DseQueryHandler.java:223)
>  ~[dse-4.7.2.jar:4.7.2]
> at 
> com.datastax.bdp.cassandra.cql3.DseQueryHandler$Operation.executeWithAuditLogging(DseQueryHandler.java:259)
>  ~[dse-4.7.2.jar:4.7.2]
> at 
> com.datastax.bdp.cassandra.cql3.DseQueryHandler.process(DseQueryHandler.java:94)
>  ~[dse-4.7.2.jar:4.7.2]
> at 
> org.apache.cassandra.transport.messages.QueryMessage.execute(QueryMessage.java:119)
>  ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
> at 
> org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:439)
>  [cassandra-all-2.1.8.621.jar:2.1.8.621]
> at 
> org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:335)
>  [cassandra-all-2.1.8.621.jar:2.1.8.621]
> at 
> io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
>  [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.access$700(AbstractChannelHandlerContext.java:32)
>  [netty-all-4.0.23.Final.jar:4.0.23.Final]
> at 
> io.netty.channel.AbstractChannelHandlerContext$8.run(AbstractChannelHandlerContext.java:324)
>  [netty-all-4.0.23.Final.jar:4.0.23.Final]
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
> [na:1.7.0_75]
> at 
> org.apache.cassandra.concurrent.AbstractTracingAwareExecutorService$FutureTask.run(AbstractTracingAwareExecutorService.java:164)
>  [cassandra-all-2.1.8.621.jar:2.1.8.621]
> at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:105) 
> [cassandra-all-2.1.8.621.jar:2.1.8.621]
> at java.lang.Thread.run(Thread.java:745) [na:1.7.0_75]
> {code}
> Table definition looks something like:
> {code}
> CREATE TABLE tbl1 (
> field1 bigint,
> field2 int,
> field3 timestamp,
> field4 map,
> field5 text static,
> field6 text static,
> field7 text static
> PRIMARY KEY (field1, field2, field3)
> ) WITH CLUSTERING ORDER BY (field2 ASC, field3 ASC)
> AND bloom_filter_fp_chance = 0.1
> AND caching = '{"keys":"ALL", "rows_per_partition":"NONE"}'
> AND comment = ''
> AND compaction = {'class': 
> 'org.apache.cassandra.db.compaction.LeveledCompactionStrategy'}
> AND compression = {'sstable_compression': 
> 'org.apache.cassandra.io.compress.LZ4Compressor'}
>...
> {code}
> Following appears in debug log leading up to the error:
> {code}
> DEBUG [SharedPool-Worker-1] 2015-09-17 15:32:06,484  
> Ab

[4/8] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0

2015-10-19 Thread jmckenzie
Merge branch 'cassandra-2.2' into cassandra-3.0


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

Branch: refs/heads/cassandra-3.0
Commit: f807b8c6ed1af297d29314399b9f250a966581f4
Parents: 7159a75 728f94e
Author: Joshua McKenzie 
Authored: Mon Oct 19 15:11:43 2015 -0400
Committer: Joshua McKenzie 
Committed: Mon Oct 19 15:11:43 2015 -0400

--
 bin/cassandra.ps1 | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)
--




[1/8] cassandra git commit: Make Windows -a startup skip VerifyPorts check entirely

2015-10-19 Thread jmckenzie
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.2 3cd750012 -> 728f94e79
  refs/heads/cassandra-3.0 7159a754a -> fa909cc42
  refs/heads/trunk c0c513b64 -> a9060f033


Make Windows -a startup skip VerifyPorts check entirely

Patch by jmckenzie; reviewed by pthompson for CASSANDRA-10524


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

Branch: refs/heads/cassandra-2.2
Commit: 728f94e798662bf8e0e4ad0f4d236394868cb7d6
Parents: 3cd7500
Author: Joshua McKenzie 
Authored: Mon Oct 19 15:11:07 2015 -0400
Committer: Joshua McKenzie 
Committed: Mon Oct 19 15:11:07 2015 -0400

--
 bin/cassandra.ps1 | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/728f94e7/bin/cassandra.ps1
--
diff --git a/bin/cassandra.ps1 b/bin/cassandra.ps1
index 8cdd433..44ba9a4 100644
--- a/bin/cassandra.ps1
+++ b/bin/cassandra.ps1
@@ -27,7 +27,7 @@ usage: cassandra.ps1 [-f] [-h] [-p pidfile] [-H dumpfile] [-D 
arg] [-E errorfile
 -E  change JVM ErrorFile
 -v  Print cassandra version and exit
 -s  Show detailed jvm environment information during launch
--a  Aggressive startup. Ignore ports that are TIME_WAIT for 
VerifyPorts check.
+-a  Aggressive startup. Skip VerifyPorts check. For use in dev 
environments.
 -help   print this message
 
 NOTE: installing cassandra as a service requires Commons Daemon Service 
Runner
@@ -281,6 +281,10 @@ WARNING! Failed to write pidfile to $pidfile.  
stop-server.bat and
 #-
 Function VerifyPortsAreAvailable
 {
+if ($a)
+{
+return
+}
 # Need to confirm 5 different ports are available or die if any are 
currently bound
 # From cassandra.yaml:
 #   storage_port
@@ -308,10 +312,6 @@ Function VerifyPortsAreAvailable
 {
 if ($line -match "TCP" -and $line -match $portRegex)
 {
-if ($a -and $line -match "TIME_WAIT")
-{
-   continue
-}
 Write-Error "Found a port already in use. Aborting startup"
 Write-Error $line
 Exit



[8/8] cassandra git commit: Merge branch 'cassandra-3.0' into trunk

2015-10-19 Thread jmckenzie
Merge branch 'cassandra-3.0' into trunk


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

Branch: refs/heads/trunk
Commit: a9060f0335b4a7e4dd38b6ea012ae9d2c6f3d2a7
Parents: c0c513b fa909cc
Author: Joshua McKenzie 
Authored: Mon Oct 19 15:12:57 2015 -0400
Committer: Joshua McKenzie 
Committed: Mon Oct 19 15:12:57 2015 -0400

--
 bin/cassandra.ps1  | 10 +-
 conf/cassandra-env.ps1 |  5 +
 2 files changed, 10 insertions(+), 5 deletions(-)
--




[6/8] cassandra git commit: Fix MAX_HEAP_SIZE check on Windows startup

2015-10-19 Thread jmckenzie
Fix MAX_HEAP_SIZE check on Windows startup

Patch by pmotta; reviewed by jmckenzie for CASSANDRA-10553


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

Branch: refs/heads/trunk
Commit: fa909cc420a349140d1a0b1b744350fad70f64b9
Parents: f807b8c
Author: Paulo Motta 
Authored: Mon Oct 19 15:12:19 2015 -0400
Committer: Joshua McKenzie 
Committed: Mon Oct 19 15:12:19 2015 -0400

--
 conf/cassandra-env.ps1 | 5 +
 1 file changed, 5 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/fa909cc4/conf/cassandra-env.ps1
--
diff --git a/conf/cassandra-env.ps1 b/conf/cassandra-env.ps1
index 3c9d815..a38429e 100644
--- a/conf/cassandra-env.ps1
+++ b/conf/cassandra-env.ps1
@@ -128,6 +128,11 @@ Function CalculateHeapSizes
 }
 
 # Validate that we need to run this function and that our config is good
+if ($env:MAX_HEAP_SIZE -and $env:HEAP_NEWSIZE)
+{
+return
+}
+
 if (($env:MAX_HEAP_SIZE -and !$env:HEAP_NEWSIZE) -or (!$env:MAX_HEAP_SIZE 
-and $env:HEAP_NEWSIZE))
 {
 echo "Please set or unset MAX_HEAP_SIZE and HEAP_NEWSIZE in pairs.  
Aborting startup."



[3/8] cassandra git commit: Make Windows -a startup skip VerifyPorts check entirely

2015-10-19 Thread jmckenzie
Make Windows -a startup skip VerifyPorts check entirely

Patch by jmckenzie; reviewed by pthompson for CASSANDRA-10524


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

Branch: refs/heads/trunk
Commit: 728f94e798662bf8e0e4ad0f4d236394868cb7d6
Parents: 3cd7500
Author: Joshua McKenzie 
Authored: Mon Oct 19 15:11:07 2015 -0400
Committer: Joshua McKenzie 
Committed: Mon Oct 19 15:11:07 2015 -0400

--
 bin/cassandra.ps1 | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/728f94e7/bin/cassandra.ps1
--
diff --git a/bin/cassandra.ps1 b/bin/cassandra.ps1
index 8cdd433..44ba9a4 100644
--- a/bin/cassandra.ps1
+++ b/bin/cassandra.ps1
@@ -27,7 +27,7 @@ usage: cassandra.ps1 [-f] [-h] [-p pidfile] [-H dumpfile] [-D 
arg] [-E errorfile
 -E  change JVM ErrorFile
 -v  Print cassandra version and exit
 -s  Show detailed jvm environment information during launch
--a  Aggressive startup. Ignore ports that are TIME_WAIT for 
VerifyPorts check.
+-a  Aggressive startup. Skip VerifyPorts check. For use in dev 
environments.
 -help   print this message
 
 NOTE: installing cassandra as a service requires Commons Daemon Service 
Runner
@@ -281,6 +281,10 @@ WARNING! Failed to write pidfile to $pidfile.  
stop-server.bat and
 #-
 Function VerifyPortsAreAvailable
 {
+if ($a)
+{
+return
+}
 # Need to confirm 5 different ports are available or die if any are 
currently bound
 # From cassandra.yaml:
 #   storage_port
@@ -308,10 +312,6 @@ Function VerifyPortsAreAvailable
 {
 if ($line -match "TCP" -and $line -match $portRegex)
 {
-if ($a -and $line -match "TIME_WAIT")
-{
-   continue
-}
 Write-Error "Found a port already in use. Aborting startup"
 Write-Error $line
 Exit



[7/8] cassandra git commit: Fix MAX_HEAP_SIZE check on Windows startup

2015-10-19 Thread jmckenzie
Fix MAX_HEAP_SIZE check on Windows startup

Patch by pmotta; reviewed by jmckenzie for CASSANDRA-10553


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

Branch: refs/heads/cassandra-3.0
Commit: fa909cc420a349140d1a0b1b744350fad70f64b9
Parents: f807b8c
Author: Paulo Motta 
Authored: Mon Oct 19 15:12:19 2015 -0400
Committer: Joshua McKenzie 
Committed: Mon Oct 19 15:12:19 2015 -0400

--
 conf/cassandra-env.ps1 | 5 +
 1 file changed, 5 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/fa909cc4/conf/cassandra-env.ps1
--
diff --git a/conf/cassandra-env.ps1 b/conf/cassandra-env.ps1
index 3c9d815..a38429e 100644
--- a/conf/cassandra-env.ps1
+++ b/conf/cassandra-env.ps1
@@ -128,6 +128,11 @@ Function CalculateHeapSizes
 }
 
 # Validate that we need to run this function and that our config is good
+if ($env:MAX_HEAP_SIZE -and $env:HEAP_NEWSIZE)
+{
+return
+}
+
 if (($env:MAX_HEAP_SIZE -and !$env:HEAP_NEWSIZE) -or (!$env:MAX_HEAP_SIZE 
-and $env:HEAP_NEWSIZE))
 {
 echo "Please set or unset MAX_HEAP_SIZE and HEAP_NEWSIZE in pairs.  
Aborting startup."



[5/8] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0

2015-10-19 Thread jmckenzie
Merge branch 'cassandra-2.2' into cassandra-3.0


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

Branch: refs/heads/trunk
Commit: f807b8c6ed1af297d29314399b9f250a966581f4
Parents: 7159a75 728f94e
Author: Joshua McKenzie 
Authored: Mon Oct 19 15:11:43 2015 -0400
Committer: Joshua McKenzie 
Committed: Mon Oct 19 15:11:43 2015 -0400

--
 bin/cassandra.ps1 | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)
--




[2/8] cassandra git commit: Make Windows -a startup skip VerifyPorts check entirely

2015-10-19 Thread jmckenzie
Make Windows -a startup skip VerifyPorts check entirely

Patch by jmckenzie; reviewed by pthompson for CASSANDRA-10524


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

Branch: refs/heads/cassandra-3.0
Commit: 728f94e798662bf8e0e4ad0f4d236394868cb7d6
Parents: 3cd7500
Author: Joshua McKenzie 
Authored: Mon Oct 19 15:11:07 2015 -0400
Committer: Joshua McKenzie 
Committed: Mon Oct 19 15:11:07 2015 -0400

--
 bin/cassandra.ps1 | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/728f94e7/bin/cassandra.ps1
--
diff --git a/bin/cassandra.ps1 b/bin/cassandra.ps1
index 8cdd433..44ba9a4 100644
--- a/bin/cassandra.ps1
+++ b/bin/cassandra.ps1
@@ -27,7 +27,7 @@ usage: cassandra.ps1 [-f] [-h] [-p pidfile] [-H dumpfile] [-D 
arg] [-E errorfile
 -E  change JVM ErrorFile
 -v  Print cassandra version and exit
 -s  Show detailed jvm environment information during launch
--a  Aggressive startup. Ignore ports that are TIME_WAIT for 
VerifyPorts check.
+-a  Aggressive startup. Skip VerifyPorts check. For use in dev 
environments.
 -help   print this message
 
 NOTE: installing cassandra as a service requires Commons Daemon Service 
Runner
@@ -281,6 +281,10 @@ WARNING! Failed to write pidfile to $pidfile.  
stop-server.bat and
 #-
 Function VerifyPortsAreAvailable
 {
+if ($a)
+{
+return
+}
 # Need to confirm 5 different ports are available or die if any are 
currently bound
 # From cassandra.yaml:
 #   storage_port
@@ -308,10 +312,6 @@ Function VerifyPortsAreAvailable
 {
 if ($line -match "TCP" -and $line -match $portRegex)
 {
-if ($a -and $line -match "TIME_WAIT")
-{
-   continue
-}
 Write-Error "Found a port already in use. Aborting startup"
 Write-Error $line
 Exit



[jira] [Updated] (CASSANDRA-10553) MAX_HEAP_SIZE environment variable ignored on Windows

2015-10-19 Thread Paulo Motta (JIRA)

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

Paulo Motta updated CASSANDRA-10553:

Reproduced In: 3.0.0 rc2
  Summary: MAX_HEAP_SIZE environment variable ignored on Windows  (was: 
Investigate likely Windows OOMs on CassCI)

> MAX_HEAP_SIZE environment variable ignored on Windows
> -
>
> Key: CASSANDRA-10553
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10553
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Jim Witschey
>Assignee: Paulo Motta
>  Labels: windows
>
> [~philipthompson] had a look at a few Windows timeouts on CassCI:
> https://cassci.datastax.com/view/cassandra-3.0/job/cassandra-3.0_dtest_win32/86/console
> https://cassci.datastax.com/view/cassandra-3.0/job/cassandra-3.0_dtest_win32/87/console
> https://cassci.datastax.com/view/cassandra-3.0/job/cassandra-3.0_dtest_win32/88/console
> The offending tests were 
> {{bootstrap_test.py:TestBootstrap.killed_wiped_node_cannot_join_test}} in two 
> runs and 
> {{consistency_test.py:TestAccuracy.test_network_topology_strategy_counters}} 
> in one. In the latter case, {{killed_wiped_node_cannot_join_test}} passed, so 
> this doesn't happen 100% of the time.
> Philip has reproduced this locally 
> ({{bootstrap_test.py:TestBootstrap.decommissioned_wiped_node_can_join_test}}),
>  so it's not purely a CassCI problem. The cause there seems to be an OOM -- 
> when running the tests, he sees 8GB "committed" in the process explorer, but 
> only 4 actually used.
> I'm opening this ticket to track work on configuring the Windows dtests so 
> this doesn't happen on CassCI anymore. Assigning [~JoshuaMcKenzie] for the 
> moment, but [~pauloricardomg] might be able to make short work of this.



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


[jira] [Updated] (CASSANDRA-10553) Investigate likely Windows OOMs on CassCI

2015-10-19 Thread Joshua McKenzie (JIRA)

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

Joshua McKenzie updated CASSANDRA-10553:

Assignee: Paulo Motta  (was: Joshua McKenzie)

> Investigate likely Windows OOMs on CassCI
> -
>
> Key: CASSANDRA-10553
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10553
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Jim Witschey
>Assignee: Paulo Motta
>  Labels: windows
>
> [~philipthompson] had a look at a few Windows timeouts on CassCI:
> https://cassci.datastax.com/view/cassandra-3.0/job/cassandra-3.0_dtest_win32/86/console
> https://cassci.datastax.com/view/cassandra-3.0/job/cassandra-3.0_dtest_win32/87/console
> https://cassci.datastax.com/view/cassandra-3.0/job/cassandra-3.0_dtest_win32/88/console
> The offending tests were 
> {{bootstrap_test.py:TestBootstrap.killed_wiped_node_cannot_join_test}} in two 
> runs and 
> {{consistency_test.py:TestAccuracy.test_network_topology_strategy_counters}} 
> in one. In the latter case, {{killed_wiped_node_cannot_join_test}} passed, so 
> this doesn't happen 100% of the time.
> Philip has reproduced this locally 
> ({{bootstrap_test.py:TestBootstrap.decommissioned_wiped_node_can_join_test}}),
>  so it's not purely a CassCI problem. The cause there seems to be an OOM -- 
> when running the tests, he sees 8GB "committed" in the process explorer, but 
> only 4 actually used.
> I'm opening this ticket to track work on configuring the Windows dtests so 
> this doesn't happen on CassCI anymore. Assigning [~JoshuaMcKenzie] for the 
> moment, but [~pauloricardomg] might be able to make short work of this.



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


[jira] [Commented] (CASSANDRA-10553) Investigate likely Windows OOMs on CassCI

2015-10-19 Thread Philip Thompson (JIRA)

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

Philip Thompson commented on CASSANDRA-10553:
-

Here is the output of starting C* with -s, which includes the JVM_OPTS used

{code}
Running cassandra with: [C:\Program Files\Java\jdk1.8.0_51\bin\java.exe 
-Dcassandra 
-Dlogback.configurationFile=/"d:\users\philip\appdata\local\temp\dtest-
sfhooc\test\node1\conf/logback.xml" 
-Dcassandra.config=file:"///d:\users\philip\appdata\local\temp\dtest-sfhooc\test\node1\conf/cassandra.yaml"
 -Dcassandra
.logdir="C:\Users\Philip\cstar\cassandra\logs" 
-Dcassandra.storagedir="C:\Users\Philip\cstar\cassandra\data" 
-Dcassandra-pidfile="d:\users\philip\appdata\l
ocal\temp\dtest-sfhooc\test\node1\cassandra.pid"  -XX:+UseParNewGC 
-XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:SurvivorRatio=8 
-XX:MaxTenurin
gThreshold=1 -XX:CMSInitiatingOccupancyFraction=75 
-XX:+UseCMSInitiatingOccupancyOnly -XX:CMSWaitDuration=1 
-XX:+CMSParallelInitialMarkEnabled -XX:+CMS
EdenChunksRecordAlways -XX:+CMSClassUnloadingEnabled -Xms2048M -Xmx2048M 
-Xmn400M -XX:+UseCondCardMark 
-Djava.library.path="C:\Users\Philip\cstar\cassandra
\lib\sigar-bin" -javaagent:"C:\Users\Philip\cstar\cassandra\lib\jamm-0.3.0.jar" 
-ea -XX:+UseThreadPriorities -XX:ThreadPriorityPolicy=42 -XX:+HeapDumpOnOut
OfMemoryError -Xss256k -XX:StringTableSize=103 -XX:-UseBiasedLocking 
-XX:+UseTLAB -XX:+ResizeTLAB -XX:+PerfDisableSharedMem 
-Djava.net.preferIPv4Stack=
true -Dcassandra.jmx.local.port=7100 -XX:+DisableExplicitGC   
-Dcassandra.join_ring=True 
-Dcassandra.logdir=d:\users\philip\appdata\local\temp\dtest-sfhooc
\test\node1\logs -Dcassandra.boot_without_jna=true -cp 
"d:\users\philip\appdata\local\temp\dtest-sfhooc\test\node1\conf";"C:/Users/Philip/cstar/cassandra/l
ib/airline-0.6.jar";"C:/Users/Philip/cstar/cassandra/lib/antlr-runtime-3.5.2.jar";"C:/Users/Philip/cstar/cassandra/lib/asm-5.0.4.jar";"C:/Users/Philip/csta
r/cassandra/lib/cassandra-driver-core-3.0.0-alpha3-093a692-SNAPSHOT-shaded.jar";"C:/Users/Philip/cstar/cassandra/lib/commons-cli-1.1.jar";"C:/Users/Philip/
cstar/cassandra/lib/commons-codec-1.2.jar";"C:/Users/Philip/cstar/cassandra/lib/commons-lang3-3.1.jar";"C:/Users/Philip/cstar/cassandra/lib/commons-math3-3
.2.jar";"C:/Users/Philip/cstar/cassandra/lib/compress-lzf-0.8.4.jar";"C:/Users/Philip/cstar/cassandra/lib/concurrentlinkedhashmap-lru-1.4.jar";"C:/Users/Ph
ilip/cstar/cassandra/lib/disruptor-3.0.1.jar";"C:/Users/Philip/cstar/cassandra/lib/ecj-4.4.2.jar";"C:/Users/Philip/cstar/cassandra/lib/guava-18.0.jar";"C:/
Users/Philip/cstar/cassandra/lib/high-scale-lib-1.0.6.jar";"C:/Users/Philip/cstar/cassandra/lib/jackson-core-asl-1.9.2.jar";"C:/Users/Philip/cstar/cassandr
a/lib/jackson-mapper-asl-1.9.2.jar";"C:/Users/Philip/cstar/cassandra/lib/jamm-0.3.0.jar";"C:/Users/Philip/cstar/cassandra/lib/javax.inject.jar";"C:/Users/P
hilip/cstar/cassandra/lib/jbcrypt-0.3m.jar";"C:/Users/Philip/cstar/cassandra/lib/jcl-over-slf4j-1.7.7.jar";"C:/Users/Philip/cstar/cassandra/lib/jna-4.0.0.j
ar";"C:/Users/Philip/cstar/cassandra/lib/joda-time-2.4.jar";"C:/Users/Philip/cstar/cassandra/lib/json-simple-1.1.jar";"C:/Users/Philip/cstar/cassandra/lib/
libthrift-0.9.2.jar";"C:/Users/Philip/cstar/cassandra/lib/log4j-over-slf4j-1.7.7.jar";"C:/Users/Philip/cstar/cassandra/lib/logback-classic-1.1.3.jar";"C:/U
sers/Philip/cstar/cassandra/lib/logback-core-1.1.3.jar";"C:/Users/Philip/cstar/cassandra/lib/lz4-1.3.0.jar";"C:/Users/Philip/cstar/cassandra/lib/metrics-co
re-3.1.0.jar";"C:/Users/Philip/cstar/cassandra/lib/metrics-logback-3.1.0.jar";"C:/Users/Philip/cstar/cassandra/lib/netty-all-4.0.23.Final.jar";"C:/Users/Ph
ilip/cstar/cassandra/lib/ohc-core-0.4.2.jar";"C:/Users/Philip/cstar/cassandra/lib/ohc-core-j8-0.4.2.jar";"C:/Users/Philip/cstar/cassandra/lib/reporter-conf
ig-base-3.0.0.jar";"C:/Users/Philip/cstar/cassandra/lib/reporter-config3-3.0.0.jar";"C:/Users/Philip/cstar/cassandra/lib/sigar-1.6.4.jar";"C:/Users/Philip/
cstar/cassandra/lib/slf4j-api-1.7.7.jar";"C:/Users/Philip/cstar/cassandra/lib/snakeyaml-1.11.jar";"C:/Users/Philip/cstar/cassandra/lib/snappy-java-1.1.1.7.
jar";"C:/Users/Philip/cstar/cassandra/lib/ST4-4.0.8.jar";"C:/Users/Philip/cstar/cassandra/lib/stream-2.5.2.jar";"C:/Users/Philip/cstar/cassandra/lib/thrift
-server-0.3.7.jar";"C:\Users\Philip\cstar\cassandra\build\classes\main";"C:\Users\Philip\cstar\cassandra\build\classes\thrift"
 "org.apache.cassandra.servic
e.CassandraDaemon"]
{code}

> Investigate likely Windows OOMs on CassCI
> -
>
> Key: CASSANDRA-10553
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10553
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Jim Witschey
>Assignee: Joshua McKenzie
>  Labels: windows
>
> [~phili

[jira] [Updated] (CASSANDRA-10553) Investigate likely Windows OOMs on CassCI

2015-10-19 Thread Joshua McKenzie (JIRA)

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

Joshua McKenzie updated CASSANDRA-10553:

Reviewer: Joshua McKenzie

> Investigate likely Windows OOMs on CassCI
> -
>
> Key: CASSANDRA-10553
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10553
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Jim Witschey
>Assignee: Paulo Motta
>  Labels: windows
>
> [~philipthompson] had a look at a few Windows timeouts on CassCI:
> https://cassci.datastax.com/view/cassandra-3.0/job/cassandra-3.0_dtest_win32/86/console
> https://cassci.datastax.com/view/cassandra-3.0/job/cassandra-3.0_dtest_win32/87/console
> https://cassci.datastax.com/view/cassandra-3.0/job/cassandra-3.0_dtest_win32/88/console
> The offending tests were 
> {{bootstrap_test.py:TestBootstrap.killed_wiped_node_cannot_join_test}} in two 
> runs and 
> {{consistency_test.py:TestAccuracy.test_network_topology_strategy_counters}} 
> in one. In the latter case, {{killed_wiped_node_cannot_join_test}} passed, so 
> this doesn't happen 100% of the time.
> Philip has reproduced this locally 
> ({{bootstrap_test.py:TestBootstrap.decommissioned_wiped_node_can_join_test}}),
>  so it's not purely a CassCI problem. The cause there seems to be an OOM -- 
> when running the tests, he sees 8GB "committed" in the process explorer, but 
> only 4 actually used.
> I'm opening this ticket to track work on configuring the Windows dtests so 
> this doesn't happen on CassCI anymore. Assigning [~JoshuaMcKenzie] for the 
> moment, but [~pauloricardomg] might be able to make short work of this.



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


[jira] [Updated] (CASSANDRA-10553) Investigate likely Windows OOMs on CassCI

2015-10-19 Thread Philip Thompson (JIRA)

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

Philip Thompson updated CASSANDRA-10553:

Labels: windows  (was: )

> Investigate likely Windows OOMs on CassCI
> -
>
> Key: CASSANDRA-10553
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10553
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Jim Witschey
>Assignee: Joshua McKenzie
>  Labels: windows
>
> [~philipthompson] had a look at a few Windows timeouts on CassCI:
> https://cassci.datastax.com/view/cassandra-3.0/job/cassandra-3.0_dtest_win32/86/console
> https://cassci.datastax.com/view/cassandra-3.0/job/cassandra-3.0_dtest_win32/87/console
> https://cassci.datastax.com/view/cassandra-3.0/job/cassandra-3.0_dtest_win32/88/console
> The offending tests were 
> {{bootstrap_test.py:TestBootstrap.killed_wiped_node_cannot_join_test}} in two 
> runs and 
> {{consistency_test.py:TestAccuracy.test_network_topology_strategy_counters}} 
> in one. In the latter case, {{killed_wiped_node_cannot_join_test}} passed, so 
> this doesn't happen 100% of the time.
> Philip has reproduced this locally 
> ({{bootstrap_test.py:TestBootstrap.decommissioned_wiped_node_can_join_test}}),
>  so it's not purely a CassCI problem. The cause there seems to be an OOM -- 
> when running the tests, he sees 8GB "committed" in the process explorer, but 
> only 4 actually used.
> I'm opening this ticket to track work on configuring the Windows dtests so 
> this doesn't happen on CassCI anymore. Assigning [~JoshuaMcKenzie] for the 
> moment, but [~pauloricardomg] might be able to make short work of this.



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


[jira] [Created] (CASSANDRA-10553) Investigate likely Windows OOMs on CassCI

2015-10-19 Thread Jim Witschey (JIRA)
Jim Witschey created CASSANDRA-10553:


 Summary: Investigate likely Windows OOMs on CassCI
 Key: CASSANDRA-10553
 URL: https://issues.apache.org/jira/browse/CASSANDRA-10553
 Project: Cassandra
  Issue Type: Bug
Reporter: Jim Witschey
Assignee: Joshua McKenzie


[~philipthompson] had a look at a few Windows timeouts on CassCI:

https://cassci.datastax.com/view/cassandra-3.0/job/cassandra-3.0_dtest_win32/86/console
https://cassci.datastax.com/view/cassandra-3.0/job/cassandra-3.0_dtest_win32/87/console
https://cassci.datastax.com/view/cassandra-3.0/job/cassandra-3.0_dtest_win32/88/console

The offending tests were 
{{bootstrap_test.py:TestBootstrap.killed_wiped_node_cannot_join_test}} in two 
runs and 
{{consistency_test.py:TestAccuracy.test_network_topology_strategy_counters}} in 
one. In the latter case, {{killed_wiped_node_cannot_join_test}} passed, so this 
doesn't happen 100% of the time.

Philip has reproduced this locally 
({{bootstrap_test.py:TestBootstrap.decommissioned_wiped_node_can_join_test}}), 
so it's not purely a CassCI problem. The cause there seems to be an OOM -- when 
running the tests, he sees 8GB "committed" in the process explorer, but only 4 
actually used.

I'm opening this ticket to track work on configuring the Windows dtests so this 
doesn't happen on CassCI anymore. Assigning [~JoshuaMcKenzie] for the moment, 
but [~pauloricardomg] might be able to make short work of this.



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


[jira] [Updated] (CASSANDRA-10552) Pluggable IResources

2015-10-19 Thread Anthony Cozzie (JIRA)

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

Anthony Cozzie updated CASSANDRA-10552:
---
Attachment: cassandra-3.0.0-10552.txt

> Pluggable IResources
> 
>
> Key: CASSANDRA-10552
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10552
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Core
>Reporter: Anthony Cozzie
>Assignee: Anthony Cozzie
> Fix For: 3.0.0
>
> Attachments: cassandra-3.0.0-10552.txt
>
>
> It is impossible to add new IResources because of the static method 
> Resources.fromName(), which creates IResources from the text values in the 
> authentication tables.  This patch replaces the static list of checks with a 
> hash table that can be extended.



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


[jira] [Created] (CASSANDRA-10552) Pluggable IResources

2015-10-19 Thread Anthony Cozzie (JIRA)
Anthony Cozzie created CASSANDRA-10552:
--

 Summary: Pluggable IResources
 Key: CASSANDRA-10552
 URL: https://issues.apache.org/jira/browse/CASSANDRA-10552
 Project: Cassandra
  Issue Type: Improvement
  Components: Core
Reporter: Anthony Cozzie
Assignee: Anthony Cozzie
 Fix For: 3.0.0


It is impossible to add new IResources because of the static method 
Resources.fromName(), which creates IResources from the text values in the 
authentication tables.  This patch replaces the static list of checks with a 
hash table that can be extended.



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


[jira] [Commented] (CASSANDRA-10091) Align JMX authentication with internal authentication

2015-10-19 Thread Sam Tunnicliffe (JIRA)

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

Sam Tunnicliffe commented on CASSANDRA-10091:
-

I've opened CASSANDRA-10551 to look into JMXMP/SASL, so we can focus on the 
authz side of things here.

I definitely take your point about the importance of wildcards, but I do 
question how much we actually need that level of flexibility and whether it's 
ultimately worth pursuing.
Let's clarify/simplify the use case a little (and please correct me if I make 
an incorrect assumptions). I suspect that in the majority of situations, what 
we need here in terms of granularity is a lot simpler than for other types of 
resources. For instance, do we actually need to enact fine grained control over 
nodetool at the keyspace or table level, such that a user with permissions on 
keyspace {{ks_a}} would be able to run {{nodetool status ks_a}}, but not to run 
{{nodetool status ks_b}}? I think that's overkill and not really needed by most 
admins. 

I think a simple hierarchy of {{ROOT/DOMAIN/TYPE}} should be sufficient for 
what we do need. The caveat is that {{type}} is not a mandatory key in an 
{{ObjectName}}, but it *is* a documented best practice (one followed by all of 
the beans exposed by C*):

bq.Every Object Name should contain a type= key property. This property should 
be different for every object type in a given domain 
([ref|http://www.oracle.com/technetwork/java/javase/tech/best-practices-jsp-136021.html?ssSourceSiteId=ocomen#mozTocId654884])

So for example, this would enable us to grant read access to all the 
ColumnFamily mbeans with {{GRANT SELECT ON ALL MBEANS IN 
'org.apache.cassandra.db:type=ColumnFamily'}}, e.g. for running {{nodetool 
cfstats}}. What it doesn't permit is restricting access to a particular subset 
of ColumnFamily beans. As I mentioned though, I'm not entirely convinced that 
we actually need that as I think the relevant distinction is between users who 
are allowed to access JMX and those who aren't. I think a multi-tenant system 
where users are only allowed to interact with beans relating to their own data 
resources is something that probably belongs outside Cassandra, in a management 
application layer. Also, we *could theoretically* decide to extend the 
hierarchy at a later date by adding another level at the bottom representing 
additional property pairs (I'm not sure exactly how we would implement those, 
but it would at least be possible).

As far as permissions go, I'm still not keen on adding a whole new set of 
permissions which only apply to one specific type of resource. I still think 
the mapping I mentioned in my previous comment could work ok. You said that

bq. in your remapping proposal. One would have to give SELECT, DESCRIBE and 
EXECUTE to be able to get all information out of nodetool info. Not something 
one would expect from such a command.

I may be missing something, but I don't think that your proposed mappings 
improve things much there. I would suggest that the counter-intuitive part in 
this particular case is having to grant {{EXECUTE}} in order to simply retrieve 
the info. But this is due to the fact that rack and dc info aren't exposed as 
attributes, but returned from invoked methods. So even with your custom 
permissions, you'd have to grant {{MBEXECUTE}} or {{MBINVOKE}} to run 
{{nodetool info}}. I don't really see a way around this as it's always going to 
be likely that we have some cases like this, where {{invoke}} is required, and 
we have no good way to distinguish between those methods with and without side 
effects. On the related points, I suspect that pretty much every non trivial 
usage of jmx is going to require {{DESCRIBE}} for {{queryNames}} and 
{{isInstanceOf}}, so I would think a fairly common pattern would be to create a 
basic jmx user role and grant {{DESCRIBE ON ALL MBEANS}} to it. That role would 
then be granted to others with more specific sets of permissions on particular 
beans or domains. Running jconsole or jmc is always going to require elevated 
privileges, so I would assume that administrators would create some jmx admin 
role for that purpose and {{GRANT ALL PERMISSIONS ON ALL MBEANS}}} to it. 

Also, I noticed one other thing regarding the {{MBeanServerForwarder}} 
implementation. We should create a new {{ClientState}} and log the 
{{AuthenticatedUser}} derived from the subject into it, which would have a 
couple of benefits. Firstly, the check that the user has the {{LOGIN}} 
privilege would be performed which isn't the case in the current patch. Second, 
the permissions check could include the full resource hierarchy using 
{{ensureHasPermission}}, rather than directly by calling the 
{{IAuthorizer::authorize}}.


> Align JMX authentication with internal authentication
> -
>
>   

[jira] [Created] (CASSANDRA-10551) Investigate JMX auth using JMXMP & SASL

2015-10-19 Thread Sam Tunnicliffe (JIRA)
Sam Tunnicliffe created CASSANDRA-10551:
---

 Summary: Investigate JMX auth using JMXMP & SASL
 Key: CASSANDRA-10551
 URL: https://issues.apache.org/jira/browse/CASSANDRA-10551
 Project: Cassandra
  Issue Type: Improvement
Reporter: Sam Tunnicliffe
 Fix For: 3.x


(broken out from CASSANDRA-10091)
We should look into whether using 
[JMXMP|https://meteatamel.wordpress.com/2012/02/13/jmx-rmi-vs-jmxmp/] would 
enable JMX authentication using SASL. If so, could we then define a custom 
SaslServer which wraps a SaslNegotiator instance provided by the configured 
IAuthenticator. 

An intial look at the 
[JMXMP|http://docs.oracle.com/cd/E19698-01/816-7609/6mdjrf873/] docs, 
particularly section *11.4.2 SASL Provider*, suggests this might be feasible.



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


[jira] [Commented] (CASSANDRA-10421) Potential issue with LogTransaction as it only checks in a single directory for files

2015-10-19 Thread Ariel Weisberg (JIRA)

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

Ariel Weisberg commented on CASSANDRA-10421:


LeveledCompactionStrategyTest.testCompactionProgress has been unreliable for a 
very long time.

If you can't reproduce MoveTest.BeforeFirstTest I would call it good.

+1



> Potential issue with LogTransaction as it only checks in a single directory 
> for files
> -
>
> Key: CASSANDRA-10421
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10421
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Marcus Eriksson
>Assignee: Stefania
>Priority: Blocker
> Fix For: 3.0.0
>
>
> When creating a new LogTransaction we try to create the new logfile in the 
> same directory as the one we are writing to, but as we use 
> {{[directories.getDirectoryForNewSSTables()|https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/db/lifecycle/LogTransaction.java#L125]}}
>  this might end up in "any" of the configured data directories. If it does, 
> we will not be able to clean up leftovers as we check for files in the same 
> directory as the logfile was created: 
> https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/db/lifecycle/LogRecord.java#L163
> cc [~Stefania]



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


[jira] [Commented] (CASSANDRA-10538) Assertion failed in LogFile when disk is full

2015-10-19 Thread Carl Yeksigian (JIRA)

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

Carl Yeksigian commented on CASSANDRA-10538:


Yeah, I destroyed the VM that generated the logs, but I'll run it again to see 
if I can reproduce these errors.

> Assertion failed in LogFile when disk is full
> -
>
> Key: CASSANDRA-10538
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10538
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Stefania
>Assignee: Stefania
> Fix For: 3.x
>
> Attachments: 
> ma_txn_compaction_67311da0-72b4-11e5-9eb9-b14fa4bbe709.log, 
> ma_txn_compaction_696059b0-72b4-11e5-9eb9-b14fa4bbe709.log, 
> ma_txn_compaction_8ac58b70-72b4-11e5-9eb9-b14fa4bbe709.log, 
> ma_txn_compaction_8be24610-72b4-11e5-9eb9-b14fa4bbe709.log, 
> ma_txn_compaction_95500fc0-72b4-11e5-9eb9-b14fa4bbe709.log, 
> ma_txn_compaction_a41caa90-72b4-11e5-9eb9-b14fa4bbe709.log
>
>
> [~carlyeks] was running a stress job which filled up the disk. At the end of 
> the system logs there are several assertion errors:
> {code}
> ERROR [CompactionExecutor:1] 2015-10-14 20:46:55,467 CassandraDaemon.java:195 
> - Exception in thread Thread[CompactionExecutor:1,1,main]
> java.lang.RuntimeException: Insufficient disk space to write 2097152 bytes
> at 
> org.apache.cassandra.db.compaction.writers.CompactionAwareWriter.getWriteDirectory(CompactionAwareWriter.java:156)
>  ~[main/:na]
> at 
> org.apache.cassandra.db.compaction.writers.MaxSSTableSizeWriter.realAppend(MaxSSTableSizeWriter.java:77)
>  ~[main/:na]
> at 
> org.apache.cassandra.db.compaction.writers.CompactionAwareWriter.append(CompactionAwareWriter.java:110)
>  ~[main/:na]
> at 
> org.apache.cassandra.db.compaction.CompactionTask.runMayThrow(CompactionTask.java:182)
>  ~[main/:na]
> at 
> org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) 
> ~[main/:na]
> at 
> org.apache.cassandra.db.compaction.CompactionTask.executeInternal(CompactionTask.java:78)
>  ~[main/:na]
> at 
> org.apache.cassandra.db.compaction.AbstractCompactionTask.execute(AbstractCompactionTask.java:61)
>  ~[main/:na]
> at 
> org.apache.cassandra.db.compaction.CompactionManager$BackgroundCompactionCandidate.run(CompactionManager.java:220)
>  ~[main/:na]
> at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
> ~[na:1.8.0_40]
> at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
> ~[na:1.8.0_40]
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  ~[na:1.8.0_40]
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  [na:1.8.0_40]
> at java.lang.Thread.run(Thread.java:745) [na:1.8.0_40]
> INFO  [IndexSummaryManager:1] 2015-10-14 21:10:40,099 
> IndexSummaryManager.java:257 - Redistributing index summaries
> ERROR [IndexSummaryManager:1] 2015-10-14 21:10:42,275 
> CassandraDaemon.java:195 - Exception in thread 
> Thread[IndexSummaryManager:1,1,main]
> java.lang.AssertionError: Already completed!
> at org.apache.cassandra.db.lifecycle.LogFile.abort(LogFile.java:221) 
> ~[main/:na]
> at 
> org.apache.cassandra.db.lifecycle.LogTransaction.doAbort(LogTransaction.java:376)
>  ~[main/:na]
> at 
> org.apache.cassandra.utils.concurrent.Transactional$AbstractTransactional.abort(Transactional.java:144)
>  ~[main/:na]
> at 
> org.apache.cassandra.db.lifecycle.LifecycleTransaction.doAbort(LifecycleTransaction.java:259)
>  ~[main/:na]
> at 
> org.apache.cassandra.utils.concurrent.Transactional$AbstractTransactional.abort(Transactional.java:144)
>  ~[main/:na]
> at 
> org.apache.cassandra.utils.concurrent.Transactional$AbstractTransactional.abort(Transactional.java:193)
>  ~[main/:na]
> at 
> org.apache.cassandra.utils.concurrent.Transactional$AbstractTransactional.close(Transactional.java:158)
>  ~[main/:na]
> at 
> org.apache.cassandra.io.sstable.IndexSummaryManager.redistributeSummaries(IndexSummaryManager.java:242)
>  ~[main/:na]
> at 
> org.apache.cassandra.io.sstable.IndexSummaryManager$1.runMayThrow(IndexSummaryManager.java:134)
>  ~[main/:na]
> at 
> org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) 
> ~[main/:na]
> at org.apache.cassandra.concurrent.DebuggableScheduledThreadPoolE
> {code}
> We should not have an assertion if it can happen when the disk is full, we 
> should rather have a runtime exception.
> I also would like to understand exactly what triggered the assertion. 
> {{LifecycleTransaction}} can throw at the beginning of the commit method if 
> it cannot write the record to disk, in which case al

[jira] [Updated] (CASSANDRA-10550) NPE on null 'highestSelectivityIndex()'

2015-10-19 Thread Berenguer Blasi (JIRA)

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

Berenguer Blasi updated CASSANDRA-10550:

Attachment: cassandra-2.1-10550.txt

> NPE on null 'highestSelectivityIndex()'
> ---
>
> Key: CASSANDRA-10550
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10550
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Reporter: Berenguer Blasi
>Assignee: Berenguer Blasi
> Fix For: 2.1.x
>
> Attachments: cassandra-2.1-10550.txt
>
>
> {{org.apache.cassandra.db.index.SecondaryIndexSearcher.highestSelectivityIndex()}}
>  might return 'null' which makes 
> {{org.apache.cassandra.service.StorageProxy.estimateResultRowsPerRange()}} 
> NPE on some custom index implementations.



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


[jira] [Created] (CASSANDRA-10550) NPE on null 'highestSelectivityIndex()'

2015-10-19 Thread Berenguer Blasi (JIRA)
Berenguer Blasi created CASSANDRA-10550:
---

 Summary: NPE on null 'highestSelectivityIndex()'
 Key: CASSANDRA-10550
 URL: https://issues.apache.org/jira/browse/CASSANDRA-10550
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Berenguer Blasi
Assignee: Berenguer Blasi
 Fix For: 2.1.x


{{org.apache.cassandra.db.index.SecondaryIndexSearcher.highestSelectivityIndex()}}
 might return 'null' which makes 
{{org.apache.cassandra.service.StorageProxy.estimateResultRowsPerRange()}} NPE 
on some custom index implementations.



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


[jira] [Commented] (CASSANDRA-9526) Provide a JMX hook to monitor phi values in the FailureDetector

2015-10-19 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko commented on CASSANDRA-9526:
--

Committed as 
[3cd750012e0cf3b55442c036627fb032c29c16bc|https://github.com/apache/cassandra/commit/3cd750012e0cf3b55442c036627fb032c29c16bc]
 to 2.2 and merged upwards, thank you.

Next time, though, would be good to have CI results for 3.0 (this time made an 
exception for 3.0, but wouldn't have done it for 2.1->2.2 merge).

> Provide a JMX hook to monitor phi values in the FailureDetector
> ---
>
> Key: CASSANDRA-9526
> URL: https://issues.apache.org/jira/browse/CASSANDRA-9526
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Core
>Reporter: Ron Kuris
>Assignee: Ron Kuris
>  Labels: docs-impacting
> Fix For: 2.2.4, 3.0.0
>
> Attachments: Monitor-Phi-JMX.patch, Phi-Log-Debug-When-Close.patch, 
> Tiny-Race-Condition.patch
>
>
> phi_convict_threshold can be tuned, but there's currently no way to monitor 
> the phi values to see if you're getting close.
> The attached patch adds the ability to get these values via JMX.



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


[1/3] cassandra git commit: Expose phi values from failure detector via JMX

2015-10-19 Thread aleksey
Repository: cassandra
Updated Branches:
  refs/heads/trunk 21b04cf31 -> c0c513b64


Expose phi values from failure detector via JMX

patch by Ron Kuris and Ariel Weisberg; reviewed by Ariel Weisberg and
Brandon Williams for CASSANDRA-9526


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

Branch: refs/heads/trunk
Commit: 3cd750012e0cf3b55442c036627fb032c29c16bc
Parents: 0bfa26d
Author: Ron Kuris 
Authored: Mon Oct 19 15:50:58 2015 +0100
Committer: Aleksey Yeschenko 
Committed: Mon Oct 19 15:50:58 2015 +0100

--
 CHANGES.txt |  2 +
 .../apache/cassandra/gms/FailureDetector.java   | 82 +++-
 .../cassandra/gms/FailureDetectorMBean.java |  5 ++
 .../org/apache/cassandra/tools/NodeProbe.java   | 15 +++-
 .../org/apache/cassandra/tools/NodeTool.java|  3 +-
 .../tools/nodetool/FailureDetectorInfo.java | 46 +++
 6 files changed, 132 insertions(+), 21 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/3cd75001/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 0904559..3eff22c 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,6 @@
 2.2.4
+ * Expose phi values from failure detector via JMX and tweak debug
+   and trace logging (CASSANDRA-9526)
  * Fix RangeNamesQueryPager (CASSANDRA-10509)
  * Deprecate Pig support (CASSANDRA-10542)
  * Reduce contention getting instances of CompositeType (CASSANDRA-10433)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/3cd75001/src/java/org/apache/cassandra/gms/FailureDetector.java
--
diff --git a/src/java/org/apache/cassandra/gms/FailureDetector.java 
b/src/java/org/apache/cassandra/gms/FailureDetector.java
index 861a853..c563872 100644
--- a/src/java/org/apache/cassandra/gms/FailureDetector.java
+++ b/src/java/org/apache/cassandra/gms/FailureDetector.java
@@ -22,10 +22,13 @@ import java.lang.management.ManagementFactory;
 import java.net.InetAddress;
 import java.net.UnknownHostException;
 import java.util.*;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.CopyOnWriteArrayList;
 import java.util.concurrent.TimeUnit;
 import javax.management.MBeanServer;
 import javax.management.ObjectName;
+import javax.management.openmbean.CompositeData;
+import javax.management.openmbean.*;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -46,6 +49,7 @@ public class FailureDetector implements IFailureDetector, 
FailureDetectorMBean
 public static final String MBEAN_NAME = 
"org.apache.cassandra.net:type=FailureDetector";
 private static final int SAMPLE_SIZE = 1000;
 protected static final long INITIAL_VALUE_NANOS = 
TimeUnit.NANOSECONDS.convert(getInitialValue(), TimeUnit.MILLISECONDS);
+private static final int DEBUG_PERCENTAGE = 80; // if the phi is larger 
than this percentage of the max, log a debug message
 private static final long DEFAULT_MAX_PAUSE = 5000L * 100L; // 5 
seconds
 private static final long MAX_LOCAL_PAUSE_IN_NANOS = getMaxLocalPause();
 private long lastInterpret = System.nanoTime();
@@ -71,8 +75,8 @@ public class FailureDetector implements IFailureDetector, 
FailureDetectorMBean
 // change.
 private final double PHI_FACTOR = 1.0 / Math.log(10.0); // 0.434...
 
-private final Map arrivalSamples = new 
Hashtable();
-private final List fdEvntListeners = new 
CopyOnWriteArrayList();
+private final ConcurrentHashMap arrivalSamples 
= new ConcurrentHashMap<>();
+private final List fdEvntListeners = new 
CopyOnWriteArrayList<>();
 
 public FailureDetector()
 {
@@ -148,6 +152,34 @@ public class FailureDetector implements IFailureDetector, 
FailureDetectorMBean
 return count;
 }
 
+@Override
+public TabularData getPhiValues() throws OpenDataException
+{
+final CompositeType ct = new CompositeType("Node", "Node",
+new String[]{"Endpoint", "PHI"},
+new String[]{"IP of the endpoint", "PHI value"},
+new OpenType[]{SimpleType.STRING, SimpleType.DOUBLE});
+final TabularDataSupport results = new TabularDataSupport(new 
TabularType("PhiList", "PhiList", ct, new String[]{"Endpoint"}));
+
+for (final Map.Entry entry : 
arrivalSamples.entrySet())
+{
+final ArrivalWindow window = entry.getValue();
+if (window.mean() > 0)
+{
+final double phi = window.getLastReportedPhi();
+if (phi != Double.MIN_VALUE)
+   

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

2015-10-19 Thread aleksey
Merge branch 'cassandra-3.0' into trunk


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

Branch: refs/heads/trunk
Commit: c0c513b6447f729460d05913adcbd1fede950dd2
Parents: 21b04cf 7159a75
Author: Aleksey Yeschenko 
Authored: Mon Oct 19 15:57:27 2015 +0100
Committer: Aleksey Yeschenko 
Committed: Mon Oct 19 15:57:27 2015 +0100

--
 CHANGES.txt |  3 +
 .../apache/cassandra/gms/FailureDetector.java   | 82 +++-
 .../cassandra/gms/FailureDetectorMBean.java |  5 ++
 .../org/apache/cassandra/tools/NodeProbe.java   | 14 +++-
 .../org/apache/cassandra/tools/NodeTool.java|  3 +-
 .../tools/nodetool/FailureDetectorInfo.java | 46 +++
 6 files changed, 133 insertions(+), 20 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/c0c513b6/CHANGES.txt
--
diff --cc CHANGES.txt
index 67df8c2,5a118ca..6e3d95c
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,9 -1,7 +1,12 @@@
 +3.2
 + * Abort in-progress queries that time out (CASSANDRA-7392)
 + * Add transparent data encryption core classes (CASSANDRA-9945)
 +
 +
  3.0
+ Merged from 2.2:
+  * Expose phi values from failure detector via JMX and tweak debug
+and trace logging (CASSANDRA-9526)
  Merged from 2.1:
   * AssertionError: attempted to delete non-existing file CommitLog 
(CASSANDRA-10377)
  



[2/3] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0

2015-10-19 Thread aleksey
Merge branch 'cassandra-2.2' into cassandra-3.0


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

Branch: refs/heads/trunk
Commit: 7159a754a5fcaa1b78a53089267ea7506e32e81d
Parents: cf0c61b 3cd7500
Author: Aleksey Yeschenko 
Authored: Mon Oct 19 15:57:04 2015 +0100
Committer: Aleksey Yeschenko 
Committed: Mon Oct 19 15:57:04 2015 +0100

--
 CHANGES.txt |  3 +
 .../apache/cassandra/gms/FailureDetector.java   | 82 +++-
 .../cassandra/gms/FailureDetectorMBean.java |  5 ++
 .../org/apache/cassandra/tools/NodeProbe.java   | 14 +++-
 .../org/apache/cassandra/tools/NodeTool.java|  3 +-
 .../tools/nodetool/FailureDetectorInfo.java | 46 +++
 6 files changed, 133 insertions(+), 20 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/7159a754/CHANGES.txt
--
diff --cc CHANGES.txt
index 9b86ebd,3eff22c..5a118ca
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,31 -1,18 +1,34 @@@
 -2.2.4
 +3.0
++Merged from 2.2:
+  * Expose phi values from failure detector via JMX and tweak debug
+and trace logging (CASSANDRA-9526)
 - * Fix RangeNamesQueryPager (CASSANDRA-10509)
 - * Deprecate Pig support (CASSANDRA-10542)
 - * Reduce contention getting instances of CompositeType (CASSANDRA-10433)
  Merged from 2.1:
   * AssertionError: attempted to delete non-existing file CommitLog 
(CASSANDRA-10377)
 - * (cqlsh) Distinguish negative and positive infinity in output 
(CASSANDRA-10523)
 - * (cqlsh) allow custom time_format for COPY TO (CASSANDRA-8970)
 - * Don't allow startup if the node's rack has changed (CASSANDRA-10242)
 - * (cqlsh) show partial trace if incomplete after max_trace_wait 
(CASSANDRA-7645)
  
  
 -2.2.3
 +3.0-rc2
 + * Fix SELECT DISTINCT queries between 2.2.2 nodes and 3.0 nodes 
(CASSANDRA-10473)
 + * Remove circular references in SegmentedFile (CASSANDRA-10543)
 + * Ensure validation of indexed values only occurs once per-partition 
(CASSANDRA-10536)
 + * Fix handling of static columns for range tombstones in thrift 
(CASSANDRA-10174)
 + * Support empty ColumnFilter for backward compatility on empty IN 
(CASSANDRA-10471)
 + * Remove Pig support (CASSANDRA-10542)
 + * Fix LogFile throws Exception when assertion is disabled (CASSANDRA-10522)
 + * Revert CASSANDRA-7486, make CMS default GC, move GC config to
 +   conf/jvm.options (CASSANDRA-10403)
 + * Fix TeeingAppender causing some logs to be truncated/empty 
(CASSANDRA-10447)
 + * Allow EACH_QUORUM for reads (CASSANDRA-9602)
 + * Fix potential ClassCastException while upgrading (CASSANDRA-10468)
 + * Fix NPE in MVs on update (CASSANDRA-10503)
 + * Only include modified cell data in indexing deltas (CASSANDRA-10438)
 + * Do not load keyspace when creating sstable writer (CASSANDRA-10443)
 + * If node is not yet gossiping write all MV updates to batchlog only 
(CASSANDRA-10413)
 + * Re-populate token metadata after commit log recovery (CASSANDRA-10293)
 + * Provide additional metrics for materialized views (CASSANDRA-10323)
 + * Flush system schema tables after local schema changes (CASSANDRA-10429)
 +Merged from 2.2:
 + * Reduce contention getting instances of CompositeType (CASSANDRA-10433)
 + * Fix the regression when using LIMIT with aggregates (CASSANDRA-10487)
   * Avoid NoClassDefFoundError during DataDescriptor initialization on windows 
(CASSANDRA-10412)
   * Preserve case of quoted Role & User names (CASSANDRA-10394)
   * cqlsh pg-style-strings broken (CASSANDRA-10484)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/7159a754/src/java/org/apache/cassandra/tools/NodeProbe.java
--
diff --cc src/java/org/apache/cassandra/tools/NodeProbe.java
index d07a54c,62795b5..b4821f5
--- a/src/java/org/apache/cassandra/tools/NodeProbe.java
+++ b/src/java/org/apache/cassandra/tools/NodeProbe.java
@@@ -527,18 -521,18 +527,18 @@@ public class NodeProbe implements AutoC
  
  /**
   * Take a snapshot of all column family from different keyspaces.
-  * 
+  *
   * @param snapshotName
   *the name of the snapshot.
 - * @param columnFamilyList
 + * @param tableList
   *list of columnfamily from different keyspace in the form of 
ks1.cf1 ks2.cf2
   */
 -public void takeMultipleColumnFamilySnapshot(String snapshotName, 
String... columnFamilyList)
 +public void takeMultipleTableSnapshot(String snapshotName, String... 
tableList)
  throws IOException
  {
 -if (null != columnFamilyList && columnFamilyList.length

[1/2] cassandra git commit: Expose phi values from failure detector via JMX

2015-10-19 Thread aleksey
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-3.0 cf0c61b8e -> 7159a754a


Expose phi values from failure detector via JMX

patch by Ron Kuris and Ariel Weisberg; reviewed by Ariel Weisberg and
Brandon Williams for CASSANDRA-9526


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

Branch: refs/heads/cassandra-3.0
Commit: 3cd750012e0cf3b55442c036627fb032c29c16bc
Parents: 0bfa26d
Author: Ron Kuris 
Authored: Mon Oct 19 15:50:58 2015 +0100
Committer: Aleksey Yeschenko 
Committed: Mon Oct 19 15:50:58 2015 +0100

--
 CHANGES.txt |  2 +
 .../apache/cassandra/gms/FailureDetector.java   | 82 +++-
 .../cassandra/gms/FailureDetectorMBean.java |  5 ++
 .../org/apache/cassandra/tools/NodeProbe.java   | 15 +++-
 .../org/apache/cassandra/tools/NodeTool.java|  3 +-
 .../tools/nodetool/FailureDetectorInfo.java | 46 +++
 6 files changed, 132 insertions(+), 21 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/3cd75001/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 0904559..3eff22c 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,6 @@
 2.2.4
+ * Expose phi values from failure detector via JMX and tweak debug
+   and trace logging (CASSANDRA-9526)
  * Fix RangeNamesQueryPager (CASSANDRA-10509)
  * Deprecate Pig support (CASSANDRA-10542)
  * Reduce contention getting instances of CompositeType (CASSANDRA-10433)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/3cd75001/src/java/org/apache/cassandra/gms/FailureDetector.java
--
diff --git a/src/java/org/apache/cassandra/gms/FailureDetector.java 
b/src/java/org/apache/cassandra/gms/FailureDetector.java
index 861a853..c563872 100644
--- a/src/java/org/apache/cassandra/gms/FailureDetector.java
+++ b/src/java/org/apache/cassandra/gms/FailureDetector.java
@@ -22,10 +22,13 @@ import java.lang.management.ManagementFactory;
 import java.net.InetAddress;
 import java.net.UnknownHostException;
 import java.util.*;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.CopyOnWriteArrayList;
 import java.util.concurrent.TimeUnit;
 import javax.management.MBeanServer;
 import javax.management.ObjectName;
+import javax.management.openmbean.CompositeData;
+import javax.management.openmbean.*;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -46,6 +49,7 @@ public class FailureDetector implements IFailureDetector, 
FailureDetectorMBean
 public static final String MBEAN_NAME = 
"org.apache.cassandra.net:type=FailureDetector";
 private static final int SAMPLE_SIZE = 1000;
 protected static final long INITIAL_VALUE_NANOS = 
TimeUnit.NANOSECONDS.convert(getInitialValue(), TimeUnit.MILLISECONDS);
+private static final int DEBUG_PERCENTAGE = 80; // if the phi is larger 
than this percentage of the max, log a debug message
 private static final long DEFAULT_MAX_PAUSE = 5000L * 100L; // 5 
seconds
 private static final long MAX_LOCAL_PAUSE_IN_NANOS = getMaxLocalPause();
 private long lastInterpret = System.nanoTime();
@@ -71,8 +75,8 @@ public class FailureDetector implements IFailureDetector, 
FailureDetectorMBean
 // change.
 private final double PHI_FACTOR = 1.0 / Math.log(10.0); // 0.434...
 
-private final Map arrivalSamples = new 
Hashtable();
-private final List fdEvntListeners = new 
CopyOnWriteArrayList();
+private final ConcurrentHashMap arrivalSamples 
= new ConcurrentHashMap<>();
+private final List fdEvntListeners = new 
CopyOnWriteArrayList<>();
 
 public FailureDetector()
 {
@@ -148,6 +152,34 @@ public class FailureDetector implements IFailureDetector, 
FailureDetectorMBean
 return count;
 }
 
+@Override
+public TabularData getPhiValues() throws OpenDataException
+{
+final CompositeType ct = new CompositeType("Node", "Node",
+new String[]{"Endpoint", "PHI"},
+new String[]{"IP of the endpoint", "PHI value"},
+new OpenType[]{SimpleType.STRING, SimpleType.DOUBLE});
+final TabularDataSupport results = new TabularDataSupport(new 
TabularType("PhiList", "PhiList", ct, new String[]{"Endpoint"}));
+
+for (final Map.Entry entry : 
arrivalSamples.entrySet())
+{
+final ArrivalWindow window = entry.getValue();
+if (window.mean() > 0)
+{
+final double phi = window.getLastReportedPhi();
+if (phi != Double.MIN_VALUE)

[2/2] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0

2015-10-19 Thread aleksey
Merge branch 'cassandra-2.2' into cassandra-3.0


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

Branch: refs/heads/cassandra-3.0
Commit: 7159a754a5fcaa1b78a53089267ea7506e32e81d
Parents: cf0c61b 3cd7500
Author: Aleksey Yeschenko 
Authored: Mon Oct 19 15:57:04 2015 +0100
Committer: Aleksey Yeschenko 
Committed: Mon Oct 19 15:57:04 2015 +0100

--
 CHANGES.txt |  3 +
 .../apache/cassandra/gms/FailureDetector.java   | 82 +++-
 .../cassandra/gms/FailureDetectorMBean.java |  5 ++
 .../org/apache/cassandra/tools/NodeProbe.java   | 14 +++-
 .../org/apache/cassandra/tools/NodeTool.java|  3 +-
 .../tools/nodetool/FailureDetectorInfo.java | 46 +++
 6 files changed, 133 insertions(+), 20 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/7159a754/CHANGES.txt
--
diff --cc CHANGES.txt
index 9b86ebd,3eff22c..5a118ca
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,31 -1,18 +1,34 @@@
 -2.2.4
 +3.0
++Merged from 2.2:
+  * Expose phi values from failure detector via JMX and tweak debug
+and trace logging (CASSANDRA-9526)
 - * Fix RangeNamesQueryPager (CASSANDRA-10509)
 - * Deprecate Pig support (CASSANDRA-10542)
 - * Reduce contention getting instances of CompositeType (CASSANDRA-10433)
  Merged from 2.1:
   * AssertionError: attempted to delete non-existing file CommitLog 
(CASSANDRA-10377)
 - * (cqlsh) Distinguish negative and positive infinity in output 
(CASSANDRA-10523)
 - * (cqlsh) allow custom time_format for COPY TO (CASSANDRA-8970)
 - * Don't allow startup if the node's rack has changed (CASSANDRA-10242)
 - * (cqlsh) show partial trace if incomplete after max_trace_wait 
(CASSANDRA-7645)
  
  
 -2.2.3
 +3.0-rc2
 + * Fix SELECT DISTINCT queries between 2.2.2 nodes and 3.0 nodes 
(CASSANDRA-10473)
 + * Remove circular references in SegmentedFile (CASSANDRA-10543)
 + * Ensure validation of indexed values only occurs once per-partition 
(CASSANDRA-10536)
 + * Fix handling of static columns for range tombstones in thrift 
(CASSANDRA-10174)
 + * Support empty ColumnFilter for backward compatility on empty IN 
(CASSANDRA-10471)
 + * Remove Pig support (CASSANDRA-10542)
 + * Fix LogFile throws Exception when assertion is disabled (CASSANDRA-10522)
 + * Revert CASSANDRA-7486, make CMS default GC, move GC config to
 +   conf/jvm.options (CASSANDRA-10403)
 + * Fix TeeingAppender causing some logs to be truncated/empty 
(CASSANDRA-10447)
 + * Allow EACH_QUORUM for reads (CASSANDRA-9602)
 + * Fix potential ClassCastException while upgrading (CASSANDRA-10468)
 + * Fix NPE in MVs on update (CASSANDRA-10503)
 + * Only include modified cell data in indexing deltas (CASSANDRA-10438)
 + * Do not load keyspace when creating sstable writer (CASSANDRA-10443)
 + * If node is not yet gossiping write all MV updates to batchlog only 
(CASSANDRA-10413)
 + * Re-populate token metadata after commit log recovery (CASSANDRA-10293)
 + * Provide additional metrics for materialized views (CASSANDRA-10323)
 + * Flush system schema tables after local schema changes (CASSANDRA-10429)
 +Merged from 2.2:
 + * Reduce contention getting instances of CompositeType (CASSANDRA-10433)
 + * Fix the regression when using LIMIT with aggregates (CASSANDRA-10487)
   * Avoid NoClassDefFoundError during DataDescriptor initialization on windows 
(CASSANDRA-10412)
   * Preserve case of quoted Role & User names (CASSANDRA-10394)
   * cqlsh pg-style-strings broken (CASSANDRA-10484)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/7159a754/src/java/org/apache/cassandra/tools/NodeProbe.java
--
diff --cc src/java/org/apache/cassandra/tools/NodeProbe.java
index d07a54c,62795b5..b4821f5
--- a/src/java/org/apache/cassandra/tools/NodeProbe.java
+++ b/src/java/org/apache/cassandra/tools/NodeProbe.java
@@@ -527,18 -521,18 +527,18 @@@ public class NodeProbe implements AutoC
  
  /**
   * Take a snapshot of all column family from different keyspaces.
-  * 
+  *
   * @param snapshotName
   *the name of the snapshot.
 - * @param columnFamilyList
 + * @param tableList
   *list of columnfamily from different keyspace in the form of 
ks1.cf1 ks2.cf2
   */
 -public void takeMultipleColumnFamilySnapshot(String snapshotName, 
String... columnFamilyList)
 +public void takeMultipleTableSnapshot(String snapshotName, String... 
tableList)
  throws IOException
  {
 -if (null != columnFamilyList && columnFamilyLis

cassandra git commit: Expose phi values from failure detector via JMX

2015-10-19 Thread aleksey
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.2 0bfa26d60 -> 3cd750012


Expose phi values from failure detector via JMX

patch by Ron Kuris and Ariel Weisberg; reviewed by Ariel Weisberg and
Brandon Williams for CASSANDRA-9526


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

Branch: refs/heads/cassandra-2.2
Commit: 3cd750012e0cf3b55442c036627fb032c29c16bc
Parents: 0bfa26d
Author: Ron Kuris 
Authored: Mon Oct 19 15:50:58 2015 +0100
Committer: Aleksey Yeschenko 
Committed: Mon Oct 19 15:50:58 2015 +0100

--
 CHANGES.txt |  2 +
 .../apache/cassandra/gms/FailureDetector.java   | 82 +++-
 .../cassandra/gms/FailureDetectorMBean.java |  5 ++
 .../org/apache/cassandra/tools/NodeProbe.java   | 15 +++-
 .../org/apache/cassandra/tools/NodeTool.java|  3 +-
 .../tools/nodetool/FailureDetectorInfo.java | 46 +++
 6 files changed, 132 insertions(+), 21 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/3cd75001/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 0904559..3eff22c 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,6 @@
 2.2.4
+ * Expose phi values from failure detector via JMX and tweak debug
+   and trace logging (CASSANDRA-9526)
  * Fix RangeNamesQueryPager (CASSANDRA-10509)
  * Deprecate Pig support (CASSANDRA-10542)
  * Reduce contention getting instances of CompositeType (CASSANDRA-10433)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/3cd75001/src/java/org/apache/cassandra/gms/FailureDetector.java
--
diff --git a/src/java/org/apache/cassandra/gms/FailureDetector.java 
b/src/java/org/apache/cassandra/gms/FailureDetector.java
index 861a853..c563872 100644
--- a/src/java/org/apache/cassandra/gms/FailureDetector.java
+++ b/src/java/org/apache/cassandra/gms/FailureDetector.java
@@ -22,10 +22,13 @@ import java.lang.management.ManagementFactory;
 import java.net.InetAddress;
 import java.net.UnknownHostException;
 import java.util.*;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.CopyOnWriteArrayList;
 import java.util.concurrent.TimeUnit;
 import javax.management.MBeanServer;
 import javax.management.ObjectName;
+import javax.management.openmbean.CompositeData;
+import javax.management.openmbean.*;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -46,6 +49,7 @@ public class FailureDetector implements IFailureDetector, 
FailureDetectorMBean
 public static final String MBEAN_NAME = 
"org.apache.cassandra.net:type=FailureDetector";
 private static final int SAMPLE_SIZE = 1000;
 protected static final long INITIAL_VALUE_NANOS = 
TimeUnit.NANOSECONDS.convert(getInitialValue(), TimeUnit.MILLISECONDS);
+private static final int DEBUG_PERCENTAGE = 80; // if the phi is larger 
than this percentage of the max, log a debug message
 private static final long DEFAULT_MAX_PAUSE = 5000L * 100L; // 5 
seconds
 private static final long MAX_LOCAL_PAUSE_IN_NANOS = getMaxLocalPause();
 private long lastInterpret = System.nanoTime();
@@ -71,8 +75,8 @@ public class FailureDetector implements IFailureDetector, 
FailureDetectorMBean
 // change.
 private final double PHI_FACTOR = 1.0 / Math.log(10.0); // 0.434...
 
-private final Map arrivalSamples = new 
Hashtable();
-private final List fdEvntListeners = new 
CopyOnWriteArrayList();
+private final ConcurrentHashMap arrivalSamples 
= new ConcurrentHashMap<>();
+private final List fdEvntListeners = new 
CopyOnWriteArrayList<>();
 
 public FailureDetector()
 {
@@ -148,6 +152,34 @@ public class FailureDetector implements IFailureDetector, 
FailureDetectorMBean
 return count;
 }
 
+@Override
+public TabularData getPhiValues() throws OpenDataException
+{
+final CompositeType ct = new CompositeType("Node", "Node",
+new String[]{"Endpoint", "PHI"},
+new String[]{"IP of the endpoint", "PHI value"},
+new OpenType[]{SimpleType.STRING, SimpleType.DOUBLE});
+final TabularDataSupport results = new TabularDataSupport(new 
TabularType("PhiList", "PhiList", ct, new String[]{"Endpoint"}));
+
+for (final Map.Entry entry : 
arrivalSamples.entrySet())
+{
+final ArrivalWindow window = entry.getValue();
+if (window.mean() > 0)
+{
+final double phi = window.getLastReportedPhi();
+if (phi != Double.MIN_VALUE)

[jira] [Updated] (CASSANDRA-9526) Provide a JMX hook to monitor phi values in the FailureDetector

2015-10-19 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko updated CASSANDRA-9526:
-
Labels: docs-impacting  (was: )

> Provide a JMX hook to monitor phi values in the FailureDetector
> ---
>
> Key: CASSANDRA-9526
> URL: https://issues.apache.org/jira/browse/CASSANDRA-9526
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Core
>Reporter: Ron Kuris
>Assignee: Ron Kuris
>  Labels: docs-impacting
> Fix For: 2.2.x
>
> Attachments: Monitor-Phi-JMX.patch, Phi-Log-Debug-When-Close.patch, 
> Tiny-Race-Condition.patch
>
>
> phi_convict_threshold can be tuned, but there's currently no way to monitor 
> the phi values to see if you're getting close.
> The attached patch adds the ability to get these values via JMX.



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


[jira] [Commented] (CASSANDRA-10381) NullPointerException in cqlsh paging through CF with static columns

2015-10-19 Thread Benjamin Lerer (JIRA)

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

Benjamin Lerer commented on CASSANDRA-10381:


The issue with the previous patch was that checking if the partition was 
exhausted by using {{hasNext}} was not reliable. {{hasNext}} returns false when 
the page size has been reached.
I pushed a new patch 
[here|https://github.com/apache/cassandra/compare/trunk...blerer:10381-3.0]. 
The patch checks, in {{close}}, if the last row returned was only containing 
static column data. If it is the case the partition is marked as exhausted.

The unit tests results are 
[here|http://cassci.datastax.com/view/Dev/view/blerer/job/blerer-10381-3.0-testall/5/]
 and the dtests results are 
[here|http://cassci.datastax.com/view/Dev/view/blerer/job/blerer-10381-3.0-dtest/5/].
  

Unfortunatly, a lot of the upgrade tests failed with an HTTP:404  for 
cassandra-2.2. I will be waiting for another run.

> NullPointerException in cqlsh paging through CF with static columns
> ---
>
> Key: CASSANDRA-10381
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10381
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Reporter: Michael Keeney
>Assignee: Benjamin Lerer
>  Labels: cqlsh, nullpointerexception, range
> Fix For: 2.1.x, 2.2.x, 3.0.x
>
>
> When running select count( * ) from cqlsh with limit, the following NPE 
> occurs:
> select count( * ) from tbl1 limit 5 ; 
> {code}
> ERROR [SharedPool-Worker-4] 2015-09-16 14:49:43,480 QueryMessage.java:132 - 
> Unexpected error during query
> java.lang.NullPointerException: null
> at 
> org.apache.cassandra.service.pager.RangeSliceQueryPager.containsPreviousLast(RangeSliceQueryPager.java:99)
>  ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
> at 
> org.apache.cassandra.service.pager.AbstractQueryPager.fetchPage(AbstractQueryPager.java:119)
>  ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
> at 
> org.apache.cassandra.service.pager.RangeSliceQueryPager.fetchPage(RangeSliceQueryPager.java:37)
>  ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
> at 
> org.apache.cassandra.cql3.statements.SelectStatement.pageCountQuery(SelectStatement.java:286)
>  ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
> at 
> org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:230)
>  ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
> at 
> org.apache.cassandra.cql3.statements.SelectStatement.execute(SelectStatement.java:67)
>  ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
> at 
> org.apache.cassandra.cql3.QueryProcessor.processStatement(QueryProcessor.java:238)
>  ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
> at 
> com.datastax.bdp.cassandra.cql3.DseQueryHandler$StatementExecution.execute(DseQueryHandler.java:291)
>  ~[dse-4.7.2.jar:4.7.2]
> at 
> com.datastax.bdp.cassandra.cql3.DseQueryHandler$Operation.executeWithTiming(DseQueryHandler.java:223)
>  ~[dse-4.7.2.jar:4.7.2]
> at 
> com.datastax.bdp.cassandra.cql3.DseQueryHandler$Operation.executeWithAuditLogging(DseQueryHandler.java:259)
>  ~[dse-4.7.2.jar:4.7.2]
> at 
> com.datastax.bdp.cassandra.cql3.DseQueryHandler.process(DseQueryHandler.java:94)
>  ~[dse-4.7.2.jar:4.7.2]
> at 
> org.apache.cassandra.transport.messages.QueryMessage.execute(QueryMessage.java:119)
>  ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
> at 
> org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:439)
>  [cassandra-all-2.1.8.621.jar:2.1.8.621]
> at 
> org.apache.cassandra.transport.Message$Dispatcher.channelRead0(Message.java:335)
>  [cassandra-all-2.1.8.621.jar:2.1.8.621]
> at 
> io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)
>  [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.access$700(AbstractChannelHandlerContext.java:32)
>  [netty-all-4.0.23.Final.jar:4.0.23.Final]
> at 
> io.netty.channel.AbstractChannelHandlerContext$8.run(AbstractChannelHandlerContext.java:324)
>  [netty-all-4.0.23.Final.jar:4.0.23.Final]
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
> [na:1.7.0_75]
> at 
> org.apache.cassandra.concurrent.AbstractTracingAwareExecutorService$FutureTask.run(AbstractTracingAwareExecutorService.java:164)
>  [cassandra-all-2.1.8.621.jar:2.1.8.621]
> at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:105) 
> [cassandra-all-2.1.8.621.jar:2.1.8.621]
> at java.lang.Thread.run(Thread.java:745) [na:1.7.0_75]
> {code}
> Table definition looks something like:
> {code}
> CREATE TABLE tbl1 (
> field1 bigint,
> field2 int,
> fie

[jira] [Updated] (CASSANDRA-10549) Clearsnapshot Error "The process cannot access the file because it is is being used by another process"

2015-10-19 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko updated CASSANDRA-10549:
--
Fix Version/s: (was: 2.0.17)

> Clearsnapshot Error "The process cannot access the file because it is is 
> being used by another process"
> ---
>
> Key: CASSANDRA-10549
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10549
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
> Environment: Windows 2012 Server, 64 Bits. 
>Reporter: Raul
>  Labels: backup, clear, snapshot
>
> Hi,
> i want to manage backups or my cassandra node, and i need to copy snapshots 
> to a remote path, and then, clean these snapshots.
> Trying to delete folders manually, or using the nodetool clearsnapshot, i am 
> having errors because i have files in use so i can't clean them.
> Of course if i stop the Cassandra node, i can do it, but it is something i 
> want to avoid. 
> Clearsnapshot error say me that these files are blocked in the following 
> path: "data\system\compaction_history\"
> Why are these files locked?
> Regards,
> Raul



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


[jira] [Resolved] (CASSANDRA-10549) Clearsnapshot Error "The process cannot access the file because it is is being used by another process"

2015-10-19 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko resolved CASSANDRA-10549.
---
Resolution: Invalid

> Clearsnapshot Error "The process cannot access the file because it is is 
> being used by another process"
> ---
>
> Key: CASSANDRA-10549
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10549
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
> Environment: Windows 2012 Server, 64 Bits. 
>Reporter: Raul
>  Labels: backup, clear, snapshot
>
> Hi,
> i want to manage backups or my cassandra node, and i need to copy snapshots 
> to a remote path, and then, clean these snapshots.
> Trying to delete folders manually, or using the nodetool clearsnapshot, i am 
> having errors because i have files in use so i can't clean them.
> Of course if i stop the Cassandra node, i can do it, but it is something i 
> want to avoid. 
> Clearsnapshot error say me that these files are blocked in the following 
> path: "data\system\compaction_history\"
> Why are these files locked?
> Regards,
> Raul



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


[jira] [Commented] (CASSANDRA-10549) Clearsnapshot Error "The process cannot access the file because it is is being used by another process"

2015-10-19 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko commented on CASSANDRA-10549:
---

Hi Raul,

The 2.0 branch has officially reach End Of Life. Other than that, this feels 
like it's a better question for Cassandra users mailing list (see 
[here|http://www.planetcassandra.org/apache-cassandra-mailing-lists/]).

If it ends up being a legitimate 2.1+ bug, feel free to open a new JIRA issue.

> Clearsnapshot Error "The process cannot access the file because it is is 
> being used by another process"
> ---
>
> Key: CASSANDRA-10549
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10549
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
> Environment: Windows 2012 Server, 64 Bits. 
>Reporter: Raul
>  Labels: backup, clear, snapshot
>
> Hi,
> i want to manage backups or my cassandra node, and i need to copy snapshots 
> to a remote path, and then, clean these snapshots.
> Trying to delete folders manually, or using the nodetool clearsnapshot, i am 
> having errors because i have files in use so i can't clean them.
> Of course if i stop the Cassandra node, i can do it, but it is something i 
> want to avoid. 
> Clearsnapshot error say me that these files are blocked in the following 
> path: "data\system\compaction_history\"
> Why are these files locked?
> Regards,
> Raul



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


svn commit: r10864 - in /release/cassandra: 2.1.10/ 2.2.2/ 3.0.0/ debian/dists/30x/ debian/dists/30x/main/binary-amd64/ debian/dists/30x/main/binary-i386/ debian/dists/30x/main/source/ debian/pool/mai

2015-10-19 Thread jake
Author: jake
Date: Mon Oct 19 13:24:57 2015
New Revision: 10864

Log:
3.0 rc2 and cleanup

Added:
release/cassandra/3.0.0/apache-cassandra-3.0.0-rc2-bin.tar.gz   (with props)
release/cassandra/3.0.0/apache-cassandra-3.0.0-rc2-bin.tar.gz.asc
release/cassandra/3.0.0/apache-cassandra-3.0.0-rc2-bin.tar.gz.asc.md5
release/cassandra/3.0.0/apache-cassandra-3.0.0-rc2-bin.tar.gz.asc.sha1
release/cassandra/3.0.0/apache-cassandra-3.0.0-rc2-bin.tar.gz.md5
release/cassandra/3.0.0/apache-cassandra-3.0.0-rc2-bin.tar.gz.sha1
release/cassandra/3.0.0/apache-cassandra-3.0.0-rc2-src.tar.gz   (with props)
release/cassandra/3.0.0/apache-cassandra-3.0.0-rc2-src.tar.gz.asc
release/cassandra/3.0.0/apache-cassandra-3.0.0-rc2-src.tar.gz.asc.md5
release/cassandra/3.0.0/apache-cassandra-3.0.0-rc2-src.tar.gz.asc.sha1
release/cassandra/3.0.0/apache-cassandra-3.0.0-rc2-src.tar.gz.md5
release/cassandra/3.0.0/apache-cassandra-3.0.0-rc2-src.tar.gz.sha1

release/cassandra/debian/pool/main/c/cassandra/cassandra-tools_3.0.0~rc2_all.deb
   (with props)
release/cassandra/debian/pool/main/c/cassandra/cassandra_3.0.0~rc2.diff.gz  
 (with props)
release/cassandra/debian/pool/main/c/cassandra/cassandra_3.0.0~rc2.dsc

release/cassandra/debian/pool/main/c/cassandra/cassandra_3.0.0~rc2.orig.tar.gz  
 (with props)

release/cassandra/debian/pool/main/c/cassandra/cassandra_3.0.0~rc2.orig.tar.gz.asc
release/cassandra/debian/pool/main/c/cassandra/cassandra_3.0.0~rc2_all.deb  
 (with props)
Removed:
release/cassandra/2.1.10/
release/cassandra/2.2.2/
release/cassandra/3.0.0/apache-cassandra-3.0.0-beta2-bin.tar.gz
release/cassandra/3.0.0/apache-cassandra-3.0.0-beta2-bin.tar.gz.asc
release/cassandra/3.0.0/apache-cassandra-3.0.0-beta2-bin.tar.gz.asc.md5
release/cassandra/3.0.0/apache-cassandra-3.0.0-beta2-bin.tar.gz.asc.sha1
release/cassandra/3.0.0/apache-cassandra-3.0.0-beta2-bin.tar.gz.md5
release/cassandra/3.0.0/apache-cassandra-3.0.0-beta2-bin.tar.gz.sha1
release/cassandra/3.0.0/apache-cassandra-3.0.0-beta2-src.tar.gz
release/cassandra/3.0.0/apache-cassandra-3.0.0-beta2-src.tar.gz.asc
release/cassandra/3.0.0/apache-cassandra-3.0.0-beta2-src.tar.gz.asc.md5
release/cassandra/3.0.0/apache-cassandra-3.0.0-beta2-src.tar.gz.asc.sha1
release/cassandra/3.0.0/apache-cassandra-3.0.0-beta2-src.tar.gz.md5
release/cassandra/3.0.0/apache-cassandra-3.0.0-beta2-src.tar.gz.sha1

release/cassandra/debian/pool/main/c/cassandra/cassandra-tools_3.0.0~beta1_all.deb
release/cassandra/debian/pool/main/c/cassandra/cassandra_3.0.0~beta1.diff.gz
release/cassandra/debian/pool/main/c/cassandra/cassandra_3.0.0~beta1.dsc

release/cassandra/debian/pool/main/c/cassandra/cassandra_3.0.0~beta1.orig.tar.gz

release/cassandra/debian/pool/main/c/cassandra/cassandra_3.0.0~beta1.orig.tar.gz.asc
release/cassandra/debian/pool/main/c/cassandra/cassandra_3.0.0~beta1_all.deb
Modified:
release/cassandra/debian/dists/30x/InRelease
release/cassandra/debian/dists/30x/Release
release/cassandra/debian/dists/30x/Release.gpg
release/cassandra/debian/dists/30x/main/binary-amd64/Packages
release/cassandra/debian/dists/30x/main/binary-amd64/Packages.gz
release/cassandra/debian/dists/30x/main/binary-i386/Packages
release/cassandra/debian/dists/30x/main/binary-i386/Packages.gz
release/cassandra/debian/dists/30x/main/source/Sources.gz

Added: release/cassandra/3.0.0/apache-cassandra-3.0.0-rc2-bin.tar.gz
==
Binary file - no diff available.

Propchange: release/cassandra/3.0.0/apache-cassandra-3.0.0-rc2-bin.tar.gz
--
svn:mime-type = application/octet-stream

Added: release/cassandra/3.0.0/apache-cassandra-3.0.0-rc2-bin.tar.gz.asc
==
--- release/cassandra/3.0.0/apache-cassandra-3.0.0-rc2-bin.tar.gz.asc (added)
+++ release/cassandra/3.0.0/apache-cassandra-3.0.0-rc2-bin.tar.gz.asc Mon Oct 
19 13:24:57 2015
@@ -0,0 +1,17 @@
+-BEGIN PGP SIGNATURE-
+Version: GnuPG v1
+
+iQIcBAABAgAGBQJWIVt9AAoJEHSdbuwDU7EsAdQP/1zFwZLZPUXDZ2KjXi+Q2FlI
+8yiBEwdTBSqrehOolvPbF/wq+5sNlSinNJwwBox1yxibzIPcu2uSaMn4TCqYVwLR
+euoTfZLMutJ19ZkNxNIWhf36S3kO7Q1sjrmEzSim/VZcU/Jz8GA/ZpECMlgrSIZr
+HZO1N/RMZ/Jgbu/5eVIMaVuh+p7+t5wo9Lgt8t/dC3KXySmQGLnELyLibeKC6Yx7
+2ucKqFCvdNb4gGagQ8CMHkAap3WaDzynzN4OdN/6cPGqkj56TsgUwxB4+Kcdys1T
+ONRZrgr+6mZQ12MDhMRUusb9BlmjQjY8xbt72jJvTFsHSg/XNr98DVw7XZpQBqYD
+hiW3lxHyEKsWwUDFf7ElvJlIRdiYSJm+FbPvY7uNB8Qz8d7GZ64/g0zndKLi4cfG
+pDN8d5+/HWzDc7cgw+YSeFG7q0WTTlIXHtnFlAsJNg9QSE8pALxoJ8D1FTVGV1+H
+iCQPc4iBrrFrMyvx8I/QwwFSgg0UD3g5HiZC64z9c8JRAOGj9vf6eqSc0zeRqOi0
+tYaFyxrf9YgQCZvX/xkYDfJxZu1Weju6WcYaMwmBNXOvMIpbNOjMbMDk0/hVA40E
+sANYU9i4Rh+L07riaLIdiulXxjW0mEWQSlYuLRpQFs6Yw8z/Y8xKAX62hd+uTdX4
+NL41s0OuuNbapfXjdzE7
+=VnT

Git Push Summary

2015-10-19 Thread jake
Repository: cassandra
Updated Tags:  refs/tags/3.0.0-rc2-tentative [deleted] 56a06d78f


Git Push Summary

2015-10-19 Thread jake
Repository: cassandra
Updated Tags:  refs/tags/cassandra-3.0.0-rc2 [created] 11a81903d


[jira] [Updated] (CASSANDRA-9549) Memory leak in Ref.GlobalState due to pathological ConcurrentLinkedQueue.remove behaviour

2015-10-19 Thread Benedict (JIRA)

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

Benedict updated CASSANDRA-9549:

Summary: Memory leak in Ref.GlobalState due to pathological 
ConcurrentLinkedQueue.remove behaviour  (was: Memory leak )

> Memory leak in Ref.GlobalState due to pathological 
> ConcurrentLinkedQueue.remove behaviour
> -
>
> Key: CASSANDRA-9549
> URL: https://issues.apache.org/jira/browse/CASSANDRA-9549
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
> Environment: Cassandra 2.1.5. 9 node cluster in EC2 (m1.large nodes, 
> 2 cores 7.5G memory, 800G platter for cassandra data, root partition and 
> commit log are on SSD EBS with sufficient IOPS), 3 nodes/availablity zone, 1 
> replica/zone
> JVM: /usr/java/jdk1.8.0_40/jre/bin/java 
> JVM Flags besides CP: -ea -javaagent:/usr/share/cassandra/lib/jamm-0.3.0.jar 
> -XX:+CMSClassUnloadingEnabled -XX:+UseThreadPriorities 
> -XX:ThreadPriorityPolicy=42 -Xms2G -Xmx2G -Xmn200M 
> -XX:+HeapDumpOnOutOfMemoryError -Xss256k -XX:StringTableSize=103 
> -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled 
> -XX:SurvivorRatio=8 -XX:MaxTenuringThreshold=1 
> -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly 
> -XX:+UseTLAB -XX:CompileCommandFile=/etc/cassandra/conf/hotspot_compiler 
> -XX:CMSWaitDuration=1 -XX:+CMSParallelInitialMarkEnabled 
> -XX:+CMSEdenChunksRecordAlways -XX:CMSWaitDuration=1 -XX:+UseCondCardMark 
> -Djava.net.preferIPv4Stack=true -Dcom.sun.management.jmxremote.port=7199 
> -Dcom.sun.management.jmxremote.rmi.port=7199 
> -Dcom.sun.management.jmxremote.ssl=false 
> -Dcom.sun.management.jmxremote.authenticate=false 
> -Dlogback.configurationFile=logback.xml -Dcassandra.logdir=/var/log/cassandra 
> -Dcassandra.storagedir= -Dcassandra-pidfile=/var/run/cassandra/cassandra.pid 
> Kernel: Linux 2.6.32-504.16.2.el6.x86_64 #1 SMP x86_64 x86_64 x86_64 GNU/Linux
>Reporter: Ivar Thorson
>Assignee: Benedict
>Priority: Critical
> Fix For: 2.1.7
>
> Attachments: c4_system.log, c7fromboot.zip, cassandra.yaml, 
> cpu-load.png, memoryuse.png, ref-java-errors.jpeg, suspect.png, two-loads.png
>
>
> We have been experiencing a severe memory leak with Cassandra 2.1.5 that, 
> over the period of a couple of days, eventually consumes all of the available 
> JVM heap space, putting the JVM into GC hell where it keeps trying CMS 
> collection but can't free up any heap space. This pattern happens for every 
> node in our cluster and is requiring rolling cassandra restarts just to keep 
> the cluster running. We have upgraded the cluster per Datastax docs from the 
> 2.0 branch a couple of months ago and have been using the data from this 
> cluster for more than a year without problem.
> As the heap fills up with non-GC-able objects, the CPU/OS load average grows 
> along with it. Heap dumps reveal an increasing number of 
> java.util.concurrent.ConcurrentLinkedQueue$Node objects. We took heap dumps 
> over a 2 day period, and watched the number of Node objects go from 4M, to 
> 19M, to 36M, and eventually about 65M objects before the node stops 
> responding. The screen capture of our heap dump is from the 19M measurement.
> Load on the cluster is minimal. We can see this effect even with only a 
> handful of writes per second. (See attachments for Opscenter snapshots during 
> very light loads and heavier loads). Even with only 5 reads a sec we see this 
> behavior.
> Log files show repeated errors in Ref.java:181 and Ref.java:279 and "LEAK 
> detected" messages:
> {code}
> ERROR [CompactionExecutor:557] 2015-06-01 18:27:36,978 Ref.java:279 - Error 
> when closing class 
> org.apache.cassandra.io.sstable.SSTableReader$InstanceTidier@1302301946:/data1/data/ourtablegoeshere-ka-1150
> java.util.concurrent.RejectedExecutionException: Task 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask@32680b31 
> rejected from 
> org.apache.cassandra.concurrent.DebuggableScheduledThreadPoolExecutor@573464d6[Terminated,
>  pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 1644]
> {code}
> {code}
> ERROR [Reference-Reaper:1] 2015-06-01 18:27:37,083 Ref.java:181 - LEAK 
> DETECTED: a reference 
> (org.apache.cassandra.utils.concurrent.Ref$State@74b5df92) to class 
> org.apache.cassandra.io.sstable.SSTableReader$DescriptorTypeTidy@2054303604:/data2/data/ourtablegoeshere-ka-1151
>  was not released before the reference was garbage collected
> {code}
> This might be related to [CASSANDRA-8723]?



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


[jira] [Resolved] (CASSANDRA-10548) OOM in Ref#GlobalState

2015-10-19 Thread Benedict (JIRA)

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

Benedict resolved CASSANDRA-10548.
--
Resolution: Duplicate

This was fixed in 2.1.7, see the linked ticket

> OOM in Ref#GlobalState
> --
>
> Key: CASSANDRA-10548
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10548
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Maxim Podkolzine
> Attachments: Screenshot.png
>
>
> Cassandra eats up all memory (at one time 24Gb) and crashes with OOM.
> I was able to analyze one instance of hprof and concluded that ~3Gb were 
> referenced by GlobalState instances, mostly ConcurrentLinkedQueues (see the 
> details in screenshot attached). I can provide the hprof if necessary.
> I noticed that in 2.2 the source code changed in this place. Can you confirm 
> it's better in 2.2 in terms of memory management?



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


[jira] [Updated] (CASSANDRA-10545) JDK bug from CASSANDRA-8220 makes drain die early also

2015-10-19 Thread Robert Stupp (JIRA)

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

Robert Stupp updated CASSANDRA-10545:
-
Fix Version/s: (was: 3.0.x)
   (was: 2.2.x)
   (was: 2.1.x)
   3.0.0
   2.1.12
   2.2.4

> JDK bug from CASSANDRA-8220 makes drain die early also
> --
>
> Key: CASSANDRA-10545
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10545
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Jeremiah Jordan
>Assignee: Jeremiah Jordan
>Priority: Trivial
> Fix For: 2.2.4, 2.1.12, 3.0.0
>
>
> The JDK bug from CASSANDRA-8220 makes drain die early also.



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


[4/6] cassandra git commit: Merge branch 'cassandra-2.1' into cassandra-2.2

2015-10-19 Thread snazy
Merge branch 'cassandra-2.1' into cassandra-2.2


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

Branch: refs/heads/trunk
Commit: 0bfa26d6011b6e1c79c164a1acc29884d8157ade
Parents: 289b7b7 b84ed11
Author: Robert Stupp 
Authored: Mon Oct 19 14:56:41 2015 +0200
Committer: Robert Stupp 
Committed: Mon Oct 19 14:56:41 2015 +0200

--
 .../apache/cassandra/net/MessagingService.java  | 24 +++-
 1 file changed, 18 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/0bfa26d6/src/java/org/apache/cassandra/net/MessagingService.java
--
diff --cc src/java/org/apache/cassandra/net/MessagingService.java
index 2a63553,724518c..4aafdd1
--- a/src/java/org/apache/cassandra/net/MessagingService.java
+++ b/src/java/org/apache/cassandra/net/MessagingService.java
@@@ -1024,14 -1028,10 +1032,10 @@@ public final class MessagingService imp
  }
  catch (IOException e)
  {
- // dirty hack for clean shutdown on OSX w/ Java >= 1.8.0_20
  // see https://issues.apache.org/jira/browse/CASSANDRA-8220
- // see https://bugs.openjdk.java.net/browse/JDK-8050499
- if (!"Unknown error: 316".equals(e.getMessage()) || !"Mac OS 
X".equals(System.getProperty("os.name")))
- throw e;
+ handleIOException(e);
  }
- 
 -for (Closeable connection : connections) 
 +for (Closeable connection : connections)
  {
  connection.close();
  }
@@@ -1043,11 -1043,19 +1047,19 @@@
  }
  }
  
+ private static void handleIOException(IOException e) throws IOException
+ {
+ // dirty hack for clean shutdown on OSX w/ Java >= 1.8.0_20
+ // see https://bugs.openjdk.java.net/browse/JDK-8050499
+ if (!"Unknown error: 316".equals(e.getMessage()) || !"Mac OS 
X".equals(System.getProperty("os.name")))
+ throw e;
+ }
+ 
 -public Map getCommandPendingTasks()
 +public Map getLargeMessagePendingTasks()
  {
 -Map pendingTasks = new HashMap();
 +Map pendingTasks = new HashMap(connectionManagers.size());
  for (Map.Entry entry : 
connectionManagers.entrySet())
 -pendingTasks.put(entry.getKey().getHostAddress(), 
entry.getValue().cmdCon.getPendingMessages());
 +pendingTasks.put(entry.getKey().getHostAddress(), 
entry.getValue().largeMessages.getPendingMessages());
  return pendingTasks;
  }
  



[2/6] cassandra git commit: Merge branch cassandra-2.2 into cassandra-3.0

2015-10-19 Thread snazy
Merge branch cassandra-2.2 into cassandra-3.0


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

Branch: refs/heads/trunk
Commit: 6977521ada5b07670085523c63a3b27455be9368
Parents: 10c65d4 289b7b7
Author: blerer 
Authored: Mon Oct 19 14:10:54 2015 +0200
Committer: blerer 
Committed: Mon Oct 19 14:11:05 2015 +0200

--

--




[5/6] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0

2015-10-19 Thread snazy
Merge branch 'cassandra-2.2' into cassandra-3.0


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

Branch: refs/heads/trunk
Commit: cf0c61b8eb162651c6f6120cd528348550b3f258
Parents: 6977521 0bfa26d
Author: Robert Stupp 
Authored: Mon Oct 19 14:56:59 2015 +0200
Committer: Robert Stupp 
Committed: Mon Oct 19 14:56:59 2015 +0200

--
 .../apache/cassandra/net/MessagingService.java  | 24 +++-
 1 file changed, 18 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/cf0c61b8/src/java/org/apache/cassandra/net/MessagingService.java
--



[6/6] cassandra git commit: Merge branch 'cassandra-3.0' into trunk

2015-10-19 Thread snazy
Merge branch 'cassandra-3.0' into trunk


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

Branch: refs/heads/trunk
Commit: 21b04cf31a3802ebcfdd5fcaee0819b50a461944
Parents: 5dd2247 cf0c61b
Author: Robert Stupp 
Authored: Mon Oct 19 14:57:09 2015 +0200
Committer: Robert Stupp 
Committed: Mon Oct 19 14:57:09 2015 +0200

--
 .../apache/cassandra/net/MessagingService.java  | 24 +++-
 1 file changed, 18 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/21b04cf3/src/java/org/apache/cassandra/net/MessagingService.java
--



[3/6] cassandra git commit: JDK bug from CASSANDRA-8220 makes drain die early also

2015-10-19 Thread snazy
JDK bug from CASSANDRA-8220 makes drain die early also

patch by Jeremiah Jordan; reviewed by Robert Stupp for CASSANDRA-10545


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

Branch: refs/heads/trunk
Commit: b84ed1176c015552550f30629e240c320a1b
Parents: 27c8011
Author: Jeremiah Jordan 
Authored: Mon Oct 19 14:56:02 2015 +0200
Committer: Robert Stupp 
Committed: Mon Oct 19 14:56:02 2015 +0200

--
 .../apache/cassandra/net/MessagingService.java  | 30 ++--
 1 file changed, 27 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/b84ed117/src/java/org/apache/cassandra/net/MessagingService.java
--
diff --git a/src/java/org/apache/cassandra/net/MessagingService.java 
b/src/java/org/apache/cassandra/net/MessagingService.java
index d7825d4..724518c 100644
--- a/src/java/org/apache/cassandra/net/MessagingService.java
+++ b/src/java/org/apache/cassandra/net/MessagingService.java
@@ -743,7 +743,15 @@ public final class MessagingService implements 
MessagingServiceMBean
 try
 {
 for (SocketThread th : socketThreads)
-th.close();
+try
+{
+th.close();
+}
+catch (IOException e)
+{
+// see 
https://issues.apache.org/jira/browse/CASSANDRA-10545
+handleIOException(e);
+}
 }
 catch (IOException e)
 {
@@ -1013,8 +1021,16 @@ public final class MessagingService implements 
MessagingServiceMBean
 
 void close() throws IOException
 {
-logger.debug("Closing accept() thread");
-server.close();
+logger.trace("Closing accept() thread");
+try
+{
+server.close();
+}
+catch (IOException e)
+{
+// see https://issues.apache.org/jira/browse/CASSANDRA-8220
+handleIOException(e);
+}
 for (Closeable connection : connections) 
 {
 connection.close();
@@ -1027,6 +1043,14 @@ public final class MessagingService implements 
MessagingServiceMBean
 }
 }
 
+private static void handleIOException(IOException e) throws IOException
+{
+// dirty hack for clean shutdown on OSX w/ Java >= 1.8.0_20
+// see https://bugs.openjdk.java.net/browse/JDK-8050499
+if (!"Unknown error: 316".equals(e.getMessage()) || !"Mac OS 
X".equals(System.getProperty("os.name")))
+throw e;
+}
+
 public Map getCommandPendingTasks()
 {
 Map pendingTasks = new HashMap();



[1/6] cassandra git commit: Fix RangeNamesQueryPager (CASSANDRA-10509)

2015-10-19 Thread snazy
Repository: cassandra
Updated Branches:
  refs/heads/trunk 5dd2247dd -> 21b04cf31


Fix RangeNamesQueryPager (CASSANDRA-10509)

patch by Stefania Alborghetti; reviewed by Benjamin Lerer for CASSANDRA-10509


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

Branch: refs/heads/trunk
Commit: 289b7b7cefd7ee5e1c41f7527a41fa40141ee7f7
Parents: 20ce2cf
Author: Stefania Alborghetti 
Authored: Mon Oct 19 14:04:36 2015 +0200
Committer: blerer 
Committed: Mon Oct 19 14:07:44 2015 +0200

--
 CHANGES.txt  | 1 +
 .../apache/cassandra/service/pager/RangeNamesQueryPager.java | 8 +---
 2 files changed, 6 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/289b7b7c/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 889438f..0904559 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.2.4
+ * Fix RangeNamesQueryPager (CASSANDRA-10509)
  * Deprecate Pig support (CASSANDRA-10542)
  * Reduce contention getting instances of CompositeType (CASSANDRA-10433)
 Merged from 2.1:

http://git-wip-us.apache.org/repos/asf/cassandra/blob/289b7b7c/src/java/org/apache/cassandra/service/pager/RangeNamesQueryPager.java
--
diff --git 
a/src/java/org/apache/cassandra/service/pager/RangeNamesQueryPager.java 
b/src/java/org/apache/cassandra/service/pager/RangeNamesQueryPager.java
index 50d1280..6b36a25 100644
--- a/src/java/org/apache/cassandra/service/pager/RangeNamesQueryPager.java
+++ b/src/java/org/apache/cassandra/service/pager/RangeNamesQueryPager.java
@@ -81,7 +81,9 @@ public class RangeNamesQueryPager extends AbstractQueryPager
 protected boolean containsPreviousLast(Row first)
 {
 // When querying the next page, we create a bound that exclude the 
lastReturnedKey
-return false;
+// but unfortunately ExcludingBounds is serialized as Bounds, which 
includes both endpoints,
+// so we may still get a live row with the same key as 
lastReturnedKey, see CASSANDRA-10509
+return lastReturnedKey != null && lastReturnedKey.equals(first.key);
 }
 
 protected boolean recordLast(Row last)
@@ -103,11 +105,11 @@ public class RangeNamesQueryPager extends 
AbstractQueryPager
 AbstractBounds bounds = command.keyRange;
 if (bounds instanceof Range || bounds instanceof Bounds)
 {
-return new Range(lastReturnedKey, bounds.right);
+return new Range<>(lastReturnedKey, bounds.right);
 }
 else
 {
-return new ExcludingBounds(lastReturnedKey, 
bounds.right);
+return new ExcludingBounds<>(lastReturnedKey, bounds.right);
 }
 }
 }



[1/3] cassandra git commit: JDK bug from CASSANDRA-8220 makes drain die early also

2015-10-19 Thread snazy
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-3.0 6977521ad -> cf0c61b8e


JDK bug from CASSANDRA-8220 makes drain die early also

patch by Jeremiah Jordan; reviewed by Robert Stupp for CASSANDRA-10545


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

Branch: refs/heads/cassandra-3.0
Commit: b84ed1176c015552550f30629e240c320a1b
Parents: 27c8011
Author: Jeremiah Jordan 
Authored: Mon Oct 19 14:56:02 2015 +0200
Committer: Robert Stupp 
Committed: Mon Oct 19 14:56:02 2015 +0200

--
 .../apache/cassandra/net/MessagingService.java  | 30 ++--
 1 file changed, 27 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/b84ed117/src/java/org/apache/cassandra/net/MessagingService.java
--
diff --git a/src/java/org/apache/cassandra/net/MessagingService.java 
b/src/java/org/apache/cassandra/net/MessagingService.java
index d7825d4..724518c 100644
--- a/src/java/org/apache/cassandra/net/MessagingService.java
+++ b/src/java/org/apache/cassandra/net/MessagingService.java
@@ -743,7 +743,15 @@ public final class MessagingService implements 
MessagingServiceMBean
 try
 {
 for (SocketThread th : socketThreads)
-th.close();
+try
+{
+th.close();
+}
+catch (IOException e)
+{
+// see 
https://issues.apache.org/jira/browse/CASSANDRA-10545
+handleIOException(e);
+}
 }
 catch (IOException e)
 {
@@ -1013,8 +1021,16 @@ public final class MessagingService implements 
MessagingServiceMBean
 
 void close() throws IOException
 {
-logger.debug("Closing accept() thread");
-server.close();
+logger.trace("Closing accept() thread");
+try
+{
+server.close();
+}
+catch (IOException e)
+{
+// see https://issues.apache.org/jira/browse/CASSANDRA-8220
+handleIOException(e);
+}
 for (Closeable connection : connections) 
 {
 connection.close();
@@ -1027,6 +1043,14 @@ public final class MessagingService implements 
MessagingServiceMBean
 }
 }
 
+private static void handleIOException(IOException e) throws IOException
+{
+// dirty hack for clean shutdown on OSX w/ Java >= 1.8.0_20
+// see https://bugs.openjdk.java.net/browse/JDK-8050499
+if (!"Unknown error: 316".equals(e.getMessage()) || !"Mac OS 
X".equals(System.getProperty("os.name")))
+throw e;
+}
+
 public Map getCommandPendingTasks()
 {
 Map pendingTasks = new HashMap();



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

2015-10-19 Thread snazy
Merge branch 'cassandra-2.1' into cassandra-2.2


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

Branch: refs/heads/cassandra-2.2
Commit: 0bfa26d6011b6e1c79c164a1acc29884d8157ade
Parents: 289b7b7 b84ed11
Author: Robert Stupp 
Authored: Mon Oct 19 14:56:41 2015 +0200
Committer: Robert Stupp 
Committed: Mon Oct 19 14:56:41 2015 +0200

--
 .../apache/cassandra/net/MessagingService.java  | 24 +++-
 1 file changed, 18 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/0bfa26d6/src/java/org/apache/cassandra/net/MessagingService.java
--
diff --cc src/java/org/apache/cassandra/net/MessagingService.java
index 2a63553,724518c..4aafdd1
--- a/src/java/org/apache/cassandra/net/MessagingService.java
+++ b/src/java/org/apache/cassandra/net/MessagingService.java
@@@ -1024,14 -1028,10 +1032,10 @@@ public final class MessagingService imp
  }
  catch (IOException e)
  {
- // dirty hack for clean shutdown on OSX w/ Java >= 1.8.0_20
  // see https://issues.apache.org/jira/browse/CASSANDRA-8220
- // see https://bugs.openjdk.java.net/browse/JDK-8050499
- if (!"Unknown error: 316".equals(e.getMessage()) || !"Mac OS 
X".equals(System.getProperty("os.name")))
- throw e;
+ handleIOException(e);
  }
- 
 -for (Closeable connection : connections) 
 +for (Closeable connection : connections)
  {
  connection.close();
  }
@@@ -1043,11 -1043,19 +1047,19 @@@
  }
  }
  
+ private static void handleIOException(IOException e) throws IOException
+ {
+ // dirty hack for clean shutdown on OSX w/ Java >= 1.8.0_20
+ // see https://bugs.openjdk.java.net/browse/JDK-8050499
+ if (!"Unknown error: 316".equals(e.getMessage()) || !"Mac OS 
X".equals(System.getProperty("os.name")))
+ throw e;
+ }
+ 
 -public Map getCommandPendingTasks()
 +public Map getLargeMessagePendingTasks()
  {
 -Map pendingTasks = new HashMap();
 +Map pendingTasks = new HashMap(connectionManagers.size());
  for (Map.Entry entry : 
connectionManagers.entrySet())
 -pendingTasks.put(entry.getKey().getHostAddress(), 
entry.getValue().cmdCon.getPendingMessages());
 +pendingTasks.put(entry.getKey().getHostAddress(), 
entry.getValue().largeMessages.getPendingMessages());
  return pendingTasks;
  }
  



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

2015-10-19 Thread snazy
Merge branch 'cassandra-2.1' into cassandra-2.2


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

Branch: refs/heads/cassandra-3.0
Commit: 0bfa26d6011b6e1c79c164a1acc29884d8157ade
Parents: 289b7b7 b84ed11
Author: Robert Stupp 
Authored: Mon Oct 19 14:56:41 2015 +0200
Committer: Robert Stupp 
Committed: Mon Oct 19 14:56:41 2015 +0200

--
 .../apache/cassandra/net/MessagingService.java  | 24 +++-
 1 file changed, 18 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/0bfa26d6/src/java/org/apache/cassandra/net/MessagingService.java
--
diff --cc src/java/org/apache/cassandra/net/MessagingService.java
index 2a63553,724518c..4aafdd1
--- a/src/java/org/apache/cassandra/net/MessagingService.java
+++ b/src/java/org/apache/cassandra/net/MessagingService.java
@@@ -1024,14 -1028,10 +1032,10 @@@ public final class MessagingService imp
  }
  catch (IOException e)
  {
- // dirty hack for clean shutdown on OSX w/ Java >= 1.8.0_20
  // see https://issues.apache.org/jira/browse/CASSANDRA-8220
- // see https://bugs.openjdk.java.net/browse/JDK-8050499
- if (!"Unknown error: 316".equals(e.getMessage()) || !"Mac OS 
X".equals(System.getProperty("os.name")))
- throw e;
+ handleIOException(e);
  }
- 
 -for (Closeable connection : connections) 
 +for (Closeable connection : connections)
  {
  connection.close();
  }
@@@ -1043,11 -1043,19 +1047,19 @@@
  }
  }
  
+ private static void handleIOException(IOException e) throws IOException
+ {
+ // dirty hack for clean shutdown on OSX w/ Java >= 1.8.0_20
+ // see https://bugs.openjdk.java.net/browse/JDK-8050499
+ if (!"Unknown error: 316".equals(e.getMessage()) || !"Mac OS 
X".equals(System.getProperty("os.name")))
+ throw e;
+ }
+ 
 -public Map getCommandPendingTasks()
 +public Map getLargeMessagePendingTasks()
  {
 -Map pendingTasks = new HashMap();
 +Map pendingTasks = new HashMap(connectionManagers.size());
  for (Map.Entry entry : 
connectionManagers.entrySet())
 -pendingTasks.put(entry.getKey().getHostAddress(), 
entry.getValue().cmdCon.getPendingMessages());
 +pendingTasks.put(entry.getKey().getHostAddress(), 
entry.getValue().largeMessages.getPendingMessages());
  return pendingTasks;
  }
  



[3/3] cassandra git commit: Merge branch 'cassandra-2.2' into cassandra-3.0

2015-10-19 Thread snazy
Merge branch 'cassandra-2.2' into cassandra-3.0


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

Branch: refs/heads/cassandra-3.0
Commit: cf0c61b8eb162651c6f6120cd528348550b3f258
Parents: 6977521 0bfa26d
Author: Robert Stupp 
Authored: Mon Oct 19 14:56:59 2015 +0200
Committer: Robert Stupp 
Committed: Mon Oct 19 14:56:59 2015 +0200

--
 .../apache/cassandra/net/MessagingService.java  | 24 +++-
 1 file changed, 18 insertions(+), 6 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/cf0c61b8/src/java/org/apache/cassandra/net/MessagingService.java
--



[1/2] cassandra git commit: JDK bug from CASSANDRA-8220 makes drain die early also

2015-10-19 Thread snazy
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.2 289b7b7ce -> 0bfa26d60


JDK bug from CASSANDRA-8220 makes drain die early also

patch by Jeremiah Jordan; reviewed by Robert Stupp for CASSANDRA-10545


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

Branch: refs/heads/cassandra-2.2
Commit: b84ed1176c015552550f30629e240c320a1b
Parents: 27c8011
Author: Jeremiah Jordan 
Authored: Mon Oct 19 14:56:02 2015 +0200
Committer: Robert Stupp 
Committed: Mon Oct 19 14:56:02 2015 +0200

--
 .../apache/cassandra/net/MessagingService.java  | 30 ++--
 1 file changed, 27 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/b84ed117/src/java/org/apache/cassandra/net/MessagingService.java
--
diff --git a/src/java/org/apache/cassandra/net/MessagingService.java 
b/src/java/org/apache/cassandra/net/MessagingService.java
index d7825d4..724518c 100644
--- a/src/java/org/apache/cassandra/net/MessagingService.java
+++ b/src/java/org/apache/cassandra/net/MessagingService.java
@@ -743,7 +743,15 @@ public final class MessagingService implements 
MessagingServiceMBean
 try
 {
 for (SocketThread th : socketThreads)
-th.close();
+try
+{
+th.close();
+}
+catch (IOException e)
+{
+// see 
https://issues.apache.org/jira/browse/CASSANDRA-10545
+handleIOException(e);
+}
 }
 catch (IOException e)
 {
@@ -1013,8 +1021,16 @@ public final class MessagingService implements 
MessagingServiceMBean
 
 void close() throws IOException
 {
-logger.debug("Closing accept() thread");
-server.close();
+logger.trace("Closing accept() thread");
+try
+{
+server.close();
+}
+catch (IOException e)
+{
+// see https://issues.apache.org/jira/browse/CASSANDRA-8220
+handleIOException(e);
+}
 for (Closeable connection : connections) 
 {
 connection.close();
@@ -1027,6 +1043,14 @@ public final class MessagingService implements 
MessagingServiceMBean
 }
 }
 
+private static void handleIOException(IOException e) throws IOException
+{
+// dirty hack for clean shutdown on OSX w/ Java >= 1.8.0_20
+// see https://bugs.openjdk.java.net/browse/JDK-8050499
+if (!"Unknown error: 316".equals(e.getMessage()) || !"Mac OS 
X".equals(System.getProperty("os.name")))
+throw e;
+}
+
 public Map getCommandPendingTasks()
 {
 Map pendingTasks = new HashMap();



cassandra git commit: JDK bug from CASSANDRA-8220 makes drain die early also

2015-10-19 Thread snazy
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.1 27c80117d -> b84ed1176


JDK bug from CASSANDRA-8220 makes drain die early also

patch by Jeremiah Jordan; reviewed by Robert Stupp for CASSANDRA-10545


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

Branch: refs/heads/cassandra-2.1
Commit: b84ed1176c015552550f30629e240c320a1b
Parents: 27c8011
Author: Jeremiah Jordan 
Authored: Mon Oct 19 14:56:02 2015 +0200
Committer: Robert Stupp 
Committed: Mon Oct 19 14:56:02 2015 +0200

--
 .../apache/cassandra/net/MessagingService.java  | 30 ++--
 1 file changed, 27 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/b84ed117/src/java/org/apache/cassandra/net/MessagingService.java
--
diff --git a/src/java/org/apache/cassandra/net/MessagingService.java 
b/src/java/org/apache/cassandra/net/MessagingService.java
index d7825d4..724518c 100644
--- a/src/java/org/apache/cassandra/net/MessagingService.java
+++ b/src/java/org/apache/cassandra/net/MessagingService.java
@@ -743,7 +743,15 @@ public final class MessagingService implements 
MessagingServiceMBean
 try
 {
 for (SocketThread th : socketThreads)
-th.close();
+try
+{
+th.close();
+}
+catch (IOException e)
+{
+// see 
https://issues.apache.org/jira/browse/CASSANDRA-10545
+handleIOException(e);
+}
 }
 catch (IOException e)
 {
@@ -1013,8 +1021,16 @@ public final class MessagingService implements 
MessagingServiceMBean
 
 void close() throws IOException
 {
-logger.debug("Closing accept() thread");
-server.close();
+logger.trace("Closing accept() thread");
+try
+{
+server.close();
+}
+catch (IOException e)
+{
+// see https://issues.apache.org/jira/browse/CASSANDRA-8220
+handleIOException(e);
+}
 for (Closeable connection : connections) 
 {
 connection.close();
@@ -1027,6 +1043,14 @@ public final class MessagingService implements 
MessagingServiceMBean
 }
 }
 
+private static void handleIOException(IOException e) throws IOException
+{
+// dirty hack for clean shutdown on OSX w/ Java >= 1.8.0_20
+// see https://bugs.openjdk.java.net/browse/JDK-8050499
+if (!"Unknown error: 316".equals(e.getMessage()) || !"Mac OS 
X".equals(System.getProperty("os.name")))
+throw e;
+}
+
 public Map getCommandPendingTasks()
 {
 Map pendingTasks = new HashMap();



[jira] [Commented] (CASSANDRA-10258) Counter table written with CQLSSTableWriter generates exceptions and become corrupted at first use

2015-10-19 Thread Bezruchko Vadim (JIRA)

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

Bezruchko Vadim commented on CASSANDRA-10258:
-

We have the same behavior on  counter's table in cassandra 2.1.8. In the case 
of inserting data only through sstable the data was successfully inserts and 
reads. In the case of mixed inserts (java-driver CQL and jmx-sstableloader) in  
same column-family we had read timeout and warning in cassandra.log (below):

java.lang.AssertionError: Wrong class type: class 
org.apache.cassandra.db.BufferCounterUpdateCell
at 
org.apache.cassandra.db.AbstractCell.reconcileCounter(AbstractCell.java:211) 
~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.db.BufferCounterCell.reconcile(BufferCounterCell.java:118) 
~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.db.filter.QueryFilter$1.reduce(QueryFilter.java:122) 
~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.db.filter.QueryFilter$1.reduce(QueryFilter.java:116) 
~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.utils.MergeIterator$ManyToOne.consume(MergeIterator.java:114)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.utils.MergeIterator$ManyToOne.computeNext(MergeIterator.java:100)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
 ~[guava-16.0.1.jar:na]
at 
com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) 
~[guava-16.0.1.jar:na]
at 
org.apache.cassandra.db.filter.SliceQueryFilter.collectReducedColumns(SliceQueryFilter.java:264)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.db.filter.QueryFilter.collateColumns(QueryFilter.java:108) 
~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.db.filter.QueryFilter.collateOnDiskAtom(QueryFilter.java:82)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.db.RowIteratorFactory$2.getReduced(RowIteratorFactory.java:99)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.db.RowIteratorFactory$2.getReduced(RowIteratorFactory.java:71)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.utils.MergeIterator$ManyToOne.consume(MergeIterator.java:117)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.utils.MergeIterator$ManyToOne.computeNext(MergeIterator.java:100)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
 ~[guava-16.0.1.jar:na]
at 
com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) 
~[guava-16.0.1.jar:na]
at 
org.apache.cassandra.db.ColumnFamilyStore$8.computeNext(ColumnFamilyStore.java:2048)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.db.ColumnFamilyStore$8.computeNext(ColumnFamilyStore.java:2044)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
 ~[guava-16.0.1.jar:na]
at 
com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) 
~[guava-16.0.1.jar:na]


> Counter table written with CQLSSTableWriter generates exceptions and become 
> corrupted at first use
> --
>
> Key: CASSANDRA-10258
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10258
> Project: Cassandra
>  Issue Type: Bug
>  Components: API
> Environment: Linux Debian Wheezie 7.8 / Oracle Java 1.7.0_67
> Ubuntu 14.04.3 LTS / Oracle Java 1.7.0_75
> Cassandra 2.0.12 2.1.5 2.1.8
>Reporter: Guillaume VIEL
>Assignee: Paulo Motta
> Fix For: 2.1.x
>
>
> We use CQLSStableWriter to produce testing datasets.
> Here are the steps to reproduce this issue :
> 1) definition of a table with counter
> {code}
> CREATE TABLE my_counter (
>   my_id text,
>   my_counter counter,
>   PRIMARY KEY (my_id)
> )
> {code}
> 2) with CQLSSTableWriter initialize this table (about 2millions entries) with 
> this insert order (one insert / key only)
> {{UPDATE myks.my_counter SET my_counter = my_counter + ? WHERE my_id = ?}}
> 3) load the files written by CQLSSTableWriter with sstableloader in your 
> cassandra cluster (tested on a single node and a 3 nodes cluster)
> 4) start a process that updates the counters (we used 3millions entries 
> distributed on the key my_id)
> 5) after a while try to query a key in the my_counter table
> {{cqlsh:myks> select * from my_counter where my_id='001';}}
> Request did not complete within rpc_timeout.

[jira] [Updated] (CASSANDRA-10509) Fix dtest cqlsh_tests.cqlsh_copy_tests.CqlshCopyTest.test_bulk_round_trip

2015-10-19 Thread Benjamin Lerer (JIRA)

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

Benjamin Lerer updated CASSANDRA-10509:
---
Fix Version/s: (was: 2.2.x)
   2.2.4

> Fix dtest cqlsh_tests.cqlsh_copy_tests.CqlshCopyTest.test_bulk_round_trip
> -
>
> Key: CASSANDRA-10509
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10509
> Project: Cassandra
>  Issue Type: Sub-task
>Reporter: Paulo Motta
>Assignee: Stefania
> Fix For: 2.2.4
>
>
> Test failing on 2.2 after fixing CASSANDRA-10507:
> http://cassci.datastax.com/view/Dev/view/stef1927/job/stef1927-10507-2.2-dtest/lastCompletedBuild/testReport/cqlsh_tests.cqlsh_copy_tests/CqlshCopyTest/test_bulk_round_trip/



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


[jira] [Commented] (CASSANDRA-10509) Fix dtest cqlsh_tests.cqlsh_copy_tests.CqlshCopyTest.test_bulk_round_trip

2015-10-19 Thread Benjamin Lerer (JIRA)

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

Benjamin Lerer commented on CASSANDRA-10509:


Committed in 2.2 as 289b7b7cefd7ee5e1c41f7527a41fa40141ee7f7.

> Fix dtest cqlsh_tests.cqlsh_copy_tests.CqlshCopyTest.test_bulk_round_trip
> -
>
> Key: CASSANDRA-10509
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10509
> Project: Cassandra
>  Issue Type: Sub-task
>Reporter: Paulo Motta
>Assignee: Stefania
> Fix For: 2.2.4
>
>
> Test failing on 2.2 after fixing CASSANDRA-10507:
> http://cassci.datastax.com/view/Dev/view/stef1927/job/stef1927-10507-2.2-dtest/lastCompletedBuild/testReport/cqlsh_tests.cqlsh_copy_tests/CqlshCopyTest/test_bulk_round_trip/



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


cassandra git commit: Fix RangeNamesQueryPager (CASSANDRA-10509)

2015-10-19 Thread blerer
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.2 20ce2cf35 -> 289b7b7ce


Fix RangeNamesQueryPager (CASSANDRA-10509)

patch by Stefania Alborghetti; reviewed by Benjamin Lerer for CASSANDRA-10509


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

Branch: refs/heads/cassandra-2.2
Commit: 289b7b7cefd7ee5e1c41f7527a41fa40141ee7f7
Parents: 20ce2cf
Author: Stefania Alborghetti 
Authored: Mon Oct 19 14:04:36 2015 +0200
Committer: blerer 
Committed: Mon Oct 19 14:07:44 2015 +0200

--
 CHANGES.txt  | 1 +
 .../apache/cassandra/service/pager/RangeNamesQueryPager.java | 8 +---
 2 files changed, 6 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/289b7b7c/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 889438f..0904559 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.2.4
+ * Fix RangeNamesQueryPager (CASSANDRA-10509)
  * Deprecate Pig support (CASSANDRA-10542)
  * Reduce contention getting instances of CompositeType (CASSANDRA-10433)
 Merged from 2.1:

http://git-wip-us.apache.org/repos/asf/cassandra/blob/289b7b7c/src/java/org/apache/cassandra/service/pager/RangeNamesQueryPager.java
--
diff --git 
a/src/java/org/apache/cassandra/service/pager/RangeNamesQueryPager.java 
b/src/java/org/apache/cassandra/service/pager/RangeNamesQueryPager.java
index 50d1280..6b36a25 100644
--- a/src/java/org/apache/cassandra/service/pager/RangeNamesQueryPager.java
+++ b/src/java/org/apache/cassandra/service/pager/RangeNamesQueryPager.java
@@ -81,7 +81,9 @@ public class RangeNamesQueryPager extends AbstractQueryPager
 protected boolean containsPreviousLast(Row first)
 {
 // When querying the next page, we create a bound that exclude the 
lastReturnedKey
-return false;
+// but unfortunately ExcludingBounds is serialized as Bounds, which 
includes both endpoints,
+// so we may still get a live row with the same key as 
lastReturnedKey, see CASSANDRA-10509
+return lastReturnedKey != null && lastReturnedKey.equals(first.key);
 }
 
 protected boolean recordLast(Row last)
@@ -103,11 +105,11 @@ public class RangeNamesQueryPager extends 
AbstractQueryPager
 AbstractBounds bounds = command.keyRange;
 if (bounds instanceof Range || bounds instanceof Bounds)
 {
-return new Range(lastReturnedKey, bounds.right);
+return new Range<>(lastReturnedKey, bounds.right);
 }
 else
 {
-return new ExcludingBounds(lastReturnedKey, 
bounds.right);
+return new ExcludingBounds<>(lastReturnedKey, bounds.right);
 }
 }
 }



[jira] [Updated] (CASSANDRA-10092) Generalize PerRowSecondaryIndex validation

2015-10-19 Thread Sam Tunnicliffe (JIRA)

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

Sam Tunnicliffe updated CASSANDRA-10092:

Assignee: Andrés de la Peña

> Generalize PerRowSecondaryIndex validation
> --
>
> Key: CASSANDRA-10092
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10092
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Core
>Reporter: Andrés de la Peña
>Assignee: Andrés de la Peña
>Priority: Minor
>  Labels: 2i, secondary_index, validation
> Fix For: 2.1.x, 2.2.x
>
> Attachments: improve_2i_validation.patch
>
>
> Index validation is currently done in a per-cell basis. However, per-row 
> secondary index developers can be interested in validating all the written 
> columns at once, because some implementations need to check the validity of a 
> row write by comparing some column values against others. For example, a per 
> row 2i implementation indexing time ranges (composed by a start date column 
> and an end date column) should check that the start date is before the stop 
> date.
> I'm attaching a patch adding a new method to {{PerRowSecondaryIndex}}:
> {code:java}
> public void validate(ByteBuffer key, ColumnFamily cf) throws 
> InvalidRequestException {}
> {code}
> and a new method to {{SecondaryIndexManager}}:
> {code:java}
> public void validateRowLevelIndexes(ByteBuffer key, ColumnFamily cf) throws 
> InvalidRequestException
>   {
>   for (SecondaryIndex index : rowLevelIndexMap.values())
>   {
>   ((PerRowSecondaryIndex) index).validate(key, cf);
>   }
>   }
> {code}
> This method is invoked in CQL {{UpdateStatement#validateIndexedColumns}}. 
> This way, {{PerRowSecondaryIndex}} could perform complex write validation.
> I have tried to do the patch in the least invasive way possible. Maybe the 
> current method {{SecondaryIndex#validate(ByteBuffer, Cell)}} should be moved 
> to {{PerColumnSecondaryIndex}}, and the {{InvalidRequestException}} that 
> informs about the particular 64k limitation should be thrown by 
> {{AbstractSimplePerColumnSecondaryIndex}}. However, given the incoming  
> [CASSANDRA-9459|https://issues.apache.org/jira/browse/CASSANDRA-9459], I 
> think that the proposed patch is more than enough to provide rich validation 
> features to 2i implementations based on 2.1.x and 2.2.x.



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


[2/2] cassandra git commit: Merge branch cassandra-2.2 into cassandra-3.0

2015-10-19 Thread blerer
Merge branch cassandra-2.2 into cassandra-3.0


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

Branch: refs/heads/cassandra-3.0
Commit: 6977521ada5b07670085523c63a3b27455be9368
Parents: 10c65d4 289b7b7
Author: blerer 
Authored: Mon Oct 19 14:10:54 2015 +0200
Committer: blerer 
Committed: Mon Oct 19 14:11:05 2015 +0200

--

--




[1/2] cassandra git commit: Fix RangeNamesQueryPager (CASSANDRA-10509)

2015-10-19 Thread blerer
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-3.0 10c65d434 -> 6977521ad


Fix RangeNamesQueryPager (CASSANDRA-10509)

patch by Stefania Alborghetti; reviewed by Benjamin Lerer for CASSANDRA-10509


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

Branch: refs/heads/cassandra-3.0
Commit: 289b7b7cefd7ee5e1c41f7527a41fa40141ee7f7
Parents: 20ce2cf
Author: Stefania Alborghetti 
Authored: Mon Oct 19 14:04:36 2015 +0200
Committer: blerer 
Committed: Mon Oct 19 14:07:44 2015 +0200

--
 CHANGES.txt  | 1 +
 .../apache/cassandra/service/pager/RangeNamesQueryPager.java | 8 +---
 2 files changed, 6 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/289b7b7c/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 889438f..0904559 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.2.4
+ * Fix RangeNamesQueryPager (CASSANDRA-10509)
  * Deprecate Pig support (CASSANDRA-10542)
  * Reduce contention getting instances of CompositeType (CASSANDRA-10433)
 Merged from 2.1:

http://git-wip-us.apache.org/repos/asf/cassandra/blob/289b7b7c/src/java/org/apache/cassandra/service/pager/RangeNamesQueryPager.java
--
diff --git 
a/src/java/org/apache/cassandra/service/pager/RangeNamesQueryPager.java 
b/src/java/org/apache/cassandra/service/pager/RangeNamesQueryPager.java
index 50d1280..6b36a25 100644
--- a/src/java/org/apache/cassandra/service/pager/RangeNamesQueryPager.java
+++ b/src/java/org/apache/cassandra/service/pager/RangeNamesQueryPager.java
@@ -81,7 +81,9 @@ public class RangeNamesQueryPager extends AbstractQueryPager
 protected boolean containsPreviousLast(Row first)
 {
 // When querying the next page, we create a bound that exclude the 
lastReturnedKey
-return false;
+// but unfortunately ExcludingBounds is serialized as Bounds, which 
includes both endpoints,
+// so we may still get a live row with the same key as 
lastReturnedKey, see CASSANDRA-10509
+return lastReturnedKey != null && lastReturnedKey.equals(first.key);
 }
 
 protected boolean recordLast(Row last)
@@ -103,11 +105,11 @@ public class RangeNamesQueryPager extends 
AbstractQueryPager
 AbstractBounds bounds = command.keyRange;
 if (bounds instanceof Range || bounds instanceof Bounds)
 {
-return new Range(lastReturnedKey, bounds.right);
+return new Range<>(lastReturnedKey, bounds.right);
 }
 else
 {
-return new ExcludingBounds(lastReturnedKey, 
bounds.right);
+return new ExcludingBounds<>(lastReturnedKey, bounds.right);
 }
 }
 }



[jira] [Commented] (CASSANDRA-10509) Fix dtest cqlsh_tests.cqlsh_copy_tests.CqlshCopyTest.test_bulk_round_trip

2015-10-19 Thread Benjamin Lerer (JIRA)

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

Benjamin Lerer commented on CASSANDRA-10509:


+1

> Fix dtest cqlsh_tests.cqlsh_copy_tests.CqlshCopyTest.test_bulk_round_trip
> -
>
> Key: CASSANDRA-10509
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10509
> Project: Cassandra
>  Issue Type: Sub-task
>Reporter: Paulo Motta
>Assignee: Stefania
> Fix For: 2.2.x
>
>
> Test failing on 2.2 after fixing CASSANDRA-10507:
> http://cassci.datastax.com/view/Dev/view/stef1927/job/stef1927-10507-2.2-dtest/lastCompletedBuild/testReport/cqlsh_tests.cqlsh_copy_tests/CqlshCopyTest/test_bulk_round_trip/



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


[jira] [Created] (CASSANDRA-10549) Clearsnapshot Error "The process cannot access the file because it is is being used by another process"

2015-10-19 Thread Raul (JIRA)
Raul created CASSANDRA-10549:


 Summary: Clearsnapshot Error "The process cannot access the file 
because it is is being used by another process"
 Key: CASSANDRA-10549
 URL: https://issues.apache.org/jira/browse/CASSANDRA-10549
 Project: Cassandra
  Issue Type: Bug
  Components: Core
 Environment: Windows 2012 Server, 64 Bits. 
Reporter: Raul
 Fix For: 2.0.17


Hi,
i want to manage backups or my cassandra node, and i need to copy snapshots to 
a remote path, and then, clean these snapshots.
Trying to delete folders manually, or using the nodetool clearsnapshot, i am 
having errors because i have files in use so i can't clean them.
Of course if i stop the Cassandra node, i can do it, but it is something i want 
to avoid. 
Clearsnapshot error say me that these files are blocked in the following path: 
"data\system\compaction_history\"
Why are these files locked?
Regards,
Raul



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


[jira] [Created] (CASSANDRA-10548) OOM in Ref#GlobalState

2015-10-19 Thread Maxim Podkolzine (JIRA)
Maxim Podkolzine created CASSANDRA-10548:


 Summary: OOM in Ref#GlobalState
 Key: CASSANDRA-10548
 URL: https://issues.apache.org/jira/browse/CASSANDRA-10548
 Project: Cassandra
  Issue Type: Bug
Reporter: Maxim Podkolzine
 Attachments: Screenshot.png

Cassandra eats up all memory (at one time 24Gb) and crashes with OOM.
I was able to analyze one instance of hprof and concluded that ~3Gb were 
referenced by GlobalState instances, mostly ConcurrentLinkedQueues (see the 
details in screenshot attached). I can provide the hprof if necessary.

I noticed that in 2.2 the source code changed in this place. Can you confirm 
it's better in 2.2 in terms of memory management?



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


[jira] [Commented] (CASSANDRA-7953) RangeTombstones not merging during compaction

2015-10-19 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne commented on CASSANDRA-7953:
-

That ticket doesn't affect C* 3.0 at all, so I can confirm that you're fine.

> RangeTombstones not merging during compaction
> -
>
> Key: CASSANDRA-7953
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7953
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
> Environment: Cassandra 2.1
>Reporter: Marcus Olsson
>Assignee: Branimir Lambov
>Priority: Minor
>  Labels: compaction, deletes, tombstone
> Fix For: 2.2.4, 2.1.12
>
> Attachments: 0001-7953-v2.patch, CASSANDRA-7953-1.patch, 
> CASSANDRA-7953.patch
>
>
> When performing a compaction on two sstables that contain the same 
> RangeTombstone with different timestamps, the tombstones are not merged in 
> the new sstable.
> This has been tested using cassandra 2.1 with the following table:
> {code}
> CREATE TABLE test(
>   key text,
>   column text,
>   data text,
>   PRIMARY KEY(key, column)
> );
> {code}
> And then doing the following:
> {code}
> INSERT INTO test (key, column, data) VALUES ("1", "1", "1"); // If the 
> sstable only contains tombstones during compaction it seems that the sstable 
> either gets removed or isn't created (but that could probably be a separate 
> JIRA issue).
> INSERT INTO test (key, column, data) VALUES ("1", "2", "2"); // The inserts 
> are not actually needed, since the deletes create tombstones either way.
> DELETE FROM test WHERE key="1" AND column="2";
> nodetool flush
> INSERT INTO test (key, column, data) VALUES ("1", "2", "2");
> DELETE FROM test WHERE key="1" AND column="2";
> nodetool flush
> nodetool compact
> {code}
> When checking with the SSTableExport tool two tombstones exists in the 
> compacted sstable. This can be repeated, resulting in more and more 
> tombstones.



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


[jira] [Commented] (CASSANDRA-7953) RangeTombstones not merging during compaction

2015-10-19 Thread Stefano Ortolani (JIRA)

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

Stefano Ortolani commented on CASSANDRA-7953:
-

I am thinking of a scenario where queries such as "DELETE WHERE primary_key = X 
and cluster_key < Y" are heavily used (only possible with C* 3). If such 
queries generate 1 RT, accumulating in memory should not be an issue. Can you 
confirm me this is the case?

> RangeTombstones not merging during compaction
> -
>
> Key: CASSANDRA-7953
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7953
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
> Environment: Cassandra 2.1
>Reporter: Marcus Olsson
>Assignee: Branimir Lambov
>Priority: Minor
>  Labels: compaction, deletes, tombstone
> Fix For: 2.2.4, 2.1.12
>
> Attachments: 0001-7953-v2.patch, CASSANDRA-7953-1.patch, 
> CASSANDRA-7953.patch
>
>
> When performing a compaction on two sstables that contain the same 
> RangeTombstone with different timestamps, the tombstones are not merged in 
> the new sstable.
> This has been tested using cassandra 2.1 with the following table:
> {code}
> CREATE TABLE test(
>   key text,
>   column text,
>   data text,
>   PRIMARY KEY(key, column)
> );
> {code}
> And then doing the following:
> {code}
> INSERT INTO test (key, column, data) VALUES ("1", "1", "1"); // If the 
> sstable only contains tombstones during compaction it seems that the sstable 
> either gets removed or isn't created (but that could probably be a separate 
> JIRA issue).
> INSERT INTO test (key, column, data) VALUES ("1", "2", "2"); // The inserts 
> are not actually needed, since the deletes create tombstones either way.
> DELETE FROM test WHERE key="1" AND column="2";
> nodetool flush
> INSERT INTO test (key, column, data) VALUES ("1", "2", "2");
> DELETE FROM test WHERE key="1" AND column="2";
> nodetool flush
> nodetool compact
> {code}
> When checking with the SSTableExport tool two tombstones exists in the 
> compacted sstable. This can be repeated, resulting in more and more 
> tombstones.



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


[jira] [Commented] (CASSANDRA-7953) RangeTombstones not merging during compaction

2015-10-19 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne commented on CASSANDRA-7953:
-

Depends what you mean by "all these concerns". The ticket itself does affect 
CQL, but the concern about the patch to fix accumulating too much RTs in memory 
shouldn't indeed be a problem for deletions done through CQL.

> RangeTombstones not merging during compaction
> -
>
> Key: CASSANDRA-7953
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7953
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
> Environment: Cassandra 2.1
>Reporter: Marcus Olsson
>Assignee: Branimir Lambov
>Priority: Minor
>  Labels: compaction, deletes, tombstone
> Fix For: 2.2.4, 2.1.12
>
> Attachments: 0001-7953-v2.patch, CASSANDRA-7953-1.patch, 
> CASSANDRA-7953.patch
>
>
> When performing a compaction on two sstables that contain the same 
> RangeTombstone with different timestamps, the tombstones are not merged in 
> the new sstable.
> This has been tested using cassandra 2.1 with the following table:
> {code}
> CREATE TABLE test(
>   key text,
>   column text,
>   data text,
>   PRIMARY KEY(key, column)
> );
> {code}
> And then doing the following:
> {code}
> INSERT INTO test (key, column, data) VALUES ("1", "1", "1"); // If the 
> sstable only contains tombstones during compaction it seems that the sstable 
> either gets removed or isn't created (but that could probably be a separate 
> JIRA issue).
> INSERT INTO test (key, column, data) VALUES ("1", "2", "2"); // The inserts 
> are not actually needed, since the deletes create tombstones either way.
> DELETE FROM test WHERE key="1" AND column="2";
> nodetool flush
> INSERT INTO test (key, column, data) VALUES ("1", "2", "2");
> DELETE FROM test WHERE key="1" AND column="2";
> nodetool flush
> nodetool compact
> {code}
> When checking with the SSTableExport tool two tombstones exists in the 
> compacted sstable. This can be repeated, resulting in more and more 
> tombstones.



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


[jira] [Commented] (CASSANDRA-9451) Startup message response for unsupported protocol versions is incorrect

2015-10-19 Thread Stefania (JIRA)

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

Stefania commented on CASSANDRA-9451:
-

cqlsh version 5.0.1 hasn't changed for some time and it is the same from 2.1.4+ 
till 2.2 HEAD so it doesn't help much. The way I understood it is that the 
examples use either 2.1.9 or 2.2.1 cqlsh to connect to another host running 
cassandra 2.1.4. I'm quite sure this is the case at least in the example that 
works since in {{\[cqlsh 5.0.1 | Cassandra 2.1.4 | CQL spec 3.2.0 | Native 
protocol v3\]}} the version after Cassandra is the {{release_version}} from 
{{system.local}}.

Regardless, I verified that cqlsh 2.1 HEAD and 2.2 HEAD can connect to a 2.1 
HEAD server using the following command:

{code}
SSL_VALIDATE=false SSL_CERTFILE=/home/stefania/git/cstar/cassandra/conf/ca.cert 
./bin/cqlsh --cqlversion=3.2.1 --ssl
{code}

> Startup message response for unsupported protocol versions is incorrect
> ---
>
> Key: CASSANDRA-9451
> URL: https://issues.apache.org/jira/browse/CASSANDRA-9451
> Project: Cassandra
>  Issue Type: Bug
> Environment: OS X 10.9
> Cassandra 2.1.5 
>Reporter: Jorge Bay
>Assignee: Stefania
>  Labels: client-impacting
> Fix For: 2.1.6, 2.2.0 rc1
>
> Attachments: 9451.txt
>
>
> The response to a STARTUP request with protocol v4 on a C* 2.1 host is an 
> error with an incorrect error code (0). 
> Instead of the error code being "Protocol error" ({{0x000A}}) it has error 
> code 0 and message (wrapped by netty): 
> {{"io.netty.handler.codec.DecoderException: 
> org.apache.cassandra.transport.ProtocolException: Invalid or unsupported 
> protocol version: 4"}}



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


[jira] [Commented] (CASSANDRA-10532) Allow LWT operation on static column with only partition keys

2015-10-19 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne commented on CASSANDRA-10532:
--

bq. What dev should we assign for LWT stuff?

Not sure, but you can feel free to assign me for triaging. In this instance, 
unless I'm missing something, we shouldn't need any change to the underlying 
LWT implementation, this is really more of a CQL issue.

> Allow LWT operation on static column with only partition keys
> -
>
> Key: CASSANDRA-10532
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10532
> Project: Cassandra
>  Issue Type: Improvement
>  Components: API
> Environment: C* 2.2.0
>Reporter: DOAN DuyHai
>Assignee: Carl Yeksigian
> Fix For: 2.2.x
>
>
> Schema
> {code:sql}
> CREATE TABLE IF NOT EXISTS achilles_embedded.entity_with_static_column(
> id bigint,
> uuid uuid,
> static_col text static,
> value text,
> PRIMARY KEY(id, uuid));
> {code}
> When trying to prepare the following query
> {code:sql}
> DELETE static_col FROM achilles_embedded.entity_with_static_column WHERE 
> id=:id_Eq IF static_col=:static_col;
> {code}
> I got the error *DELETE statements must restrict all PRIMARY KEY columns with 
> equality relations in order to use IF conditions, but column 'uuid' is not 
> restricted*
> Since the mutation only impacts the static column and the CAS check is on the 
> static column, it makes sense to provide only partition key



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


[jira] [Commented] (CASSANDRA-10089) NullPointerException in Gossip handleStateNormal

2015-10-19 Thread Stefania (JIRA)

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

Stefania commented on CASSANDRA-10089:
--

I've added trace logging for {{o.a.c.gms}} on the 2.2 branch, let's run the job 
a few more times to see if we can reproduce it. 



> NullPointerException in Gossip handleStateNormal
> 
>
> Key: CASSANDRA-10089
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10089
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Stefania
>Assignee: Stefania
> Fix For: 2.1.x, 2.2.x, 3.0.x
>
> Attachments: node1_debug.log, node2_debug.log, node3_debug.log
>
>
> Whilst comparing dtests for CASSANDRA-9970 I found [this failing 
> dtest|http://cassci.datastax.com/view/Dev/view/blerer/job/blerer-9970-dtest/lastCompletedBuild/testReport/consistency_test/TestConsistency/short_read_test/]
>  in 2.2:
> {code}
> Unexpected error in node1 node log: ['ERROR [GossipStage:1] 2015-08-14 
> 15:39:57,873 CassandraDaemon.java:183 - Exception in thread 
> Thread[GossipStage:1,5,main] java.lang.NullPointerException: null \tat 
> org.apache.cassandra.service.StorageService.getApplicationStateValue(StorageService.java:1731)
>  ~[main/:na] \tat 
> org.apache.cassandra.service.StorageService.getTokensFor(StorageService.java:1804)
>  ~[main/:na] \tat 
> org.apache.cassandra.service.StorageService.handleStateNormal(StorageService.java:1857)
>  ~[main/:na] \tat 
> org.apache.cassandra.service.StorageService.onChange(StorageService.java:1629)
>  ~[main/:na] \tat 
> org.apache.cassandra.service.StorageService.onJoin(StorageService.java:2312) 
> ~[main/:na] \tat 
> org.apache.cassandra.gms.Gossiper.handleMajorStateChange(Gossiper.java:1025) 
> ~[main/:na] \tat 
> org.apache.cassandra.gms.Gossiper.applyStateLocally(Gossiper.java:1106) 
> ~[main/:na] \tat 
> org.apache.cassandra.gms.GossipDigestAck2VerbHandler.doVerb(GossipDigestAck2VerbHandler.java:49)
>  ~[main/:na] \tat 
> org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:66) 
> ~[main/:na] \tat 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>  ~[na:1.7.0_80] \tat 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>  ~[na:1.7.0_80] \tat java.lang.Thread.run(Thread.java:745) ~[na:1.7.0_80]']
> {code}
> I wasn't able to find it on unpatched branches  but it is clearly not related 
> to CASSANDRA-9970, if anything it could have been a side effect of 
> CASSANDRA-9871.



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


[jira] [Updated] (CASSANDRA-10532) Allow LWT operation on static column with only partition keys

2015-10-19 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne updated CASSANDRA-10532:
-
Assignee: Carl Yeksigian

> Allow LWT operation on static column with only partition keys
> -
>
> Key: CASSANDRA-10532
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10532
> Project: Cassandra
>  Issue Type: Improvement
>  Components: API
> Environment: C* 2.2.0
>Reporter: DOAN DuyHai
>Assignee: Carl Yeksigian
> Fix For: 2.2.x
>
>
> Schema
> {code:sql}
> CREATE TABLE IF NOT EXISTS achilles_embedded.entity_with_static_column(
> id bigint,
> uuid uuid,
> static_col text static,
> value text,
> PRIMARY KEY(id, uuid));
> {code}
> When trying to prepare the following query
> {code:sql}
> DELETE static_col FROM achilles_embedded.entity_with_static_column WHERE 
> id=:id_Eq IF static_col=:static_col;
> {code}
> I got the error *DELETE statements must restrict all PRIMARY KEY columns with 
> equality relations in order to use IF conditions, but column 'uuid' is not 
> restricted*
> Since the mutation only impacts the static column and the CAS check is on the 
> static column, it makes sense to provide only partition key



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


[jira] [Updated] (CASSANDRA-10532) Allow LWT operation on static column with only partition keys

2015-10-19 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne updated CASSANDRA-10532:
-
Fix Version/s: 2.2.x

> Allow LWT operation on static column with only partition keys
> -
>
> Key: CASSANDRA-10532
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10532
> Project: Cassandra
>  Issue Type: Improvement
>  Components: API
> Environment: C* 2.2.0
>Reporter: DOAN DuyHai
> Fix For: 2.2.x
>
>
> Schema
> {code:sql}
> CREATE TABLE IF NOT EXISTS achilles_embedded.entity_with_static_column(
> id bigint,
> uuid uuid,
> static_col text static,
> value text,
> PRIMARY KEY(id, uuid));
> {code}
> When trying to prepare the following query
> {code:sql}
> DELETE static_col FROM achilles_embedded.entity_with_static_column WHERE 
> id=:id_Eq IF static_col=:static_col;
> {code}
> I got the error *DELETE statements must restrict all PRIMARY KEY columns with 
> equality relations in order to use IF conditions, but column 'uuid' is not 
> restricted*
> Since the mutation only impacts the static column and the CAS check is on the 
> static column, it makes sense to provide only partition key



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


[jira] [Updated] (CASSANDRA-10532) Allow LWT operation on static column with only partition keys

2015-10-19 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne updated CASSANDRA-10532:
-
Issue Type: Improvement  (was: Bug)

> Allow LWT operation on static column with only partition keys
> -
>
> Key: CASSANDRA-10532
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10532
> Project: Cassandra
>  Issue Type: Improvement
>  Components: API
> Environment: C* 2.2.0
>Reporter: DOAN DuyHai
>
> Schema
> {code:sql}
> CREATE TABLE IF NOT EXISTS achilles_embedded.entity_with_static_column(
> id bigint,
> uuid uuid,
> static_col text static,
> value text,
> PRIMARY KEY(id, uuid));
> {code}
> When trying to prepare the following query
> {code:sql}
> DELETE static_col FROM achilles_embedded.entity_with_static_column WHERE 
> id=:id_Eq IF static_col=:static_col;
> {code}
> I got the error *DELETE statements must restrict all PRIMARY KEY columns with 
> equality relations in order to use IF conditions, but column 'uuid' is not 
> restricted*
> Since the mutation only impacts the static column and the CAS check is on the 
> static column, it makes sense to provide only partition key



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


  1   2   >