[jira] [Issue Comment Deleted] (CASSANDRA-8884) Opening a non-system keyspace before first accessing the system keyspace results in deadlock

2015-10-28 Thread Xu Zhongxing (JIRA)

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

Xu Zhongxing updated CASSANDRA-8884:

Comment: was deleted

(was: Hi Piotr,

I had the same problem. After adding Keyspace.open("system"), the program does 
not exit.
What do I need to do to "close" the Keyspace?)

> Opening a non-system keyspace before first accessing the system keyspace 
> results in deadlock
> 
>
> Key: CASSANDRA-8884
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8884
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Piotr Kołaczkowski
>Assignee: Benjamin Lerer
> Attachments: bulk.jstack
>
>
> I created a writer like this:
> {code}
> val writer = CQLSSTableWriter.builder()
>   .forTable(tableDef.cql)
>   .using(insertStatement)
>   .withPartitioner(partitioner)
>   .inDirectory(outputDirectory)
>   .withBufferSizeInMB(bufferSizeInMB)
>   .build()
> {code}
> Then I'm trying to write a row with {{addRow}} and it blocks forever.
> Everything related to {{CQLSSTableWriter}}, including its creation, is 
> happening in only one thread.
> {noformat}
> "SSTableBatchOpen:3" daemon prio=10 tid=0x7f4b399d7000 nid=0x4778 waiting 
> for monitor entry [0x7f4b240a7000]
>java.lang.Thread.State: BLOCKED (on object monitor)
>   at org.apache.cassandra.db.Keyspace.open(Keyspace.java:118)
>   - waiting to lock <0xe35fd6d0> (a java.lang.Class for 
> org.apache.cassandra.db.Keyspace)
>   at org.apache.cassandra.db.Keyspace.open(Keyspace.java:99)
>   at 
> org.apache.cassandra.cql3.statements.SelectStatement$RawStatement.prepare(SelectStatement.java:1464)
>   at 
> org.apache.cassandra.cql3.QueryProcessor.getStatement(QueryProcessor.java:517)
>   at 
> org.apache.cassandra.cql3.QueryProcessor.parseStatement(QueryProcessor.java:265)
>   at 
> org.apache.cassandra.cql3.QueryProcessor.prepareInternal(QueryProcessor.java:306)
>   at 
> org.apache.cassandra.cql3.QueryProcessor.executeInternal(QueryProcessor.java:316)
>   at 
> org.apache.cassandra.db.SystemKeyspace.getSSTableReadMeter(SystemKeyspace.java:910)
>   at 
> org.apache.cassandra.io.sstable.SSTableReader.(SSTableReader.java:561)
>   at 
> org.apache.cassandra.io.sstable.SSTableReader.open(SSTableReader.java:433)
>   at 
> org.apache.cassandra.io.sstable.SSTableReader.open(SSTableReader.java:343)
>   at 
> org.apache.cassandra.io.sstable.SSTableReader$4.run(SSTableReader.java:480)
>   at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
>   at java.util.concurrent.FutureTask.run(FutureTask.java:262)
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>   at java.lang.Thread.run(Thread.java:745)
> "SSTableBatchOpen:2" daemon prio=10 tid=0x7f4b399e7800 nid=0x4777 waiting 
> for monitor entry [0x7f4b23ca3000]
>java.lang.Thread.State: BLOCKED (on object monitor)
>   at org.apache.cassandra.db.Keyspace.open(Keyspace.java:118)
>   - waiting to lock <0xe35fd6d0> (a java.lang.Class for 
> org.apache.cassandra.db.Keyspace)
>   at org.apache.cassandra.db.Keyspace.open(Keyspace.java:99)
>   at 
> org.apache.cassandra.cql3.statements.SelectStatement$RawStatement.prepare(SelectStatement.java:1464)
>   at 
> org.apache.cassandra.cql3.QueryProcessor.getStatement(QueryProcessor.java:517)
>   at 
> org.apache.cassandra.cql3.QueryProcessor.parseStatement(QueryProcessor.java:265)
>   at 
> org.apache.cassandra.cql3.QueryProcessor.prepareInternal(QueryProcessor.java:306)
>   at 
> org.apache.cassandra.cql3.QueryProcessor.executeInternal(QueryProcessor.java:316)
>   at 
> org.apache.cassandra.db.SystemKeyspace.getSSTableReadMeter(SystemKeyspace.java:910)
>   at 
> org.apache.cassandra.io.sstable.SSTableReader.(SSTableReader.java:561)
>   at 
> org.apache.cassandra.io.sstable.SSTableReader.open(SSTableReader.java:433)
>   at 
> org.apache.cassandra.io.sstable.SSTableReader.open(SSTableReader.java:343)
>   at 
> org.apache.cassandra.io.sstable.SSTableReader$4.run(SSTableReader.java:480)
>   at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
>   at java.util.concurrent.FutureTask.run(FutureTask.java:262)
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>   at java.lang.Thread.run(Thread.java:745)
> "SSTableBatchOpen:1" daemon prio=10 tid=0x7f4b399e7000 nid=0x4776 waiting 
> for monitor entry [0x7f4b2359d000

[jira] [Commented] (CASSANDRA-8884) Opening a non-system keyspace before first accessing the system keyspace results in deadlock

2015-10-28 Thread Xu Zhongxing (JIRA)

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

Xu Zhongxing commented on CASSANDRA-8884:
-

Hi Piotr,

I had the same problem. After adding Keyspace.open("system"), the program does 
not exit.
What do I need to do to "close" the Keyspace?

> Opening a non-system keyspace before first accessing the system keyspace 
> results in deadlock
> 
>
> Key: CASSANDRA-8884
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8884
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Piotr Kołaczkowski
>Assignee: Benjamin Lerer
> Attachments: bulk.jstack
>
>
> I created a writer like this:
> {code}
> val writer = CQLSSTableWriter.builder()
>   .forTable(tableDef.cql)
>   .using(insertStatement)
>   .withPartitioner(partitioner)
>   .inDirectory(outputDirectory)
>   .withBufferSizeInMB(bufferSizeInMB)
>   .build()
> {code}
> Then I'm trying to write a row with {{addRow}} and it blocks forever.
> Everything related to {{CQLSSTableWriter}}, including its creation, is 
> happening in only one thread.
> {noformat}
> "SSTableBatchOpen:3" daemon prio=10 tid=0x7f4b399d7000 nid=0x4778 waiting 
> for monitor entry [0x7f4b240a7000]
>java.lang.Thread.State: BLOCKED (on object monitor)
>   at org.apache.cassandra.db.Keyspace.open(Keyspace.java:118)
>   - waiting to lock <0xe35fd6d0> (a java.lang.Class for 
> org.apache.cassandra.db.Keyspace)
>   at org.apache.cassandra.db.Keyspace.open(Keyspace.java:99)
>   at 
> org.apache.cassandra.cql3.statements.SelectStatement$RawStatement.prepare(SelectStatement.java:1464)
>   at 
> org.apache.cassandra.cql3.QueryProcessor.getStatement(QueryProcessor.java:517)
>   at 
> org.apache.cassandra.cql3.QueryProcessor.parseStatement(QueryProcessor.java:265)
>   at 
> org.apache.cassandra.cql3.QueryProcessor.prepareInternal(QueryProcessor.java:306)
>   at 
> org.apache.cassandra.cql3.QueryProcessor.executeInternal(QueryProcessor.java:316)
>   at 
> org.apache.cassandra.db.SystemKeyspace.getSSTableReadMeter(SystemKeyspace.java:910)
>   at 
> org.apache.cassandra.io.sstable.SSTableReader.(SSTableReader.java:561)
>   at 
> org.apache.cassandra.io.sstable.SSTableReader.open(SSTableReader.java:433)
>   at 
> org.apache.cassandra.io.sstable.SSTableReader.open(SSTableReader.java:343)
>   at 
> org.apache.cassandra.io.sstable.SSTableReader$4.run(SSTableReader.java:480)
>   at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
>   at java.util.concurrent.FutureTask.run(FutureTask.java:262)
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>   at java.lang.Thread.run(Thread.java:745)
> "SSTableBatchOpen:2" daemon prio=10 tid=0x7f4b399e7800 nid=0x4777 waiting 
> for monitor entry [0x7f4b23ca3000]
>java.lang.Thread.State: BLOCKED (on object monitor)
>   at org.apache.cassandra.db.Keyspace.open(Keyspace.java:118)
>   - waiting to lock <0xe35fd6d0> (a java.lang.Class for 
> org.apache.cassandra.db.Keyspace)
>   at org.apache.cassandra.db.Keyspace.open(Keyspace.java:99)
>   at 
> org.apache.cassandra.cql3.statements.SelectStatement$RawStatement.prepare(SelectStatement.java:1464)
>   at 
> org.apache.cassandra.cql3.QueryProcessor.getStatement(QueryProcessor.java:517)
>   at 
> org.apache.cassandra.cql3.QueryProcessor.parseStatement(QueryProcessor.java:265)
>   at 
> org.apache.cassandra.cql3.QueryProcessor.prepareInternal(QueryProcessor.java:306)
>   at 
> org.apache.cassandra.cql3.QueryProcessor.executeInternal(QueryProcessor.java:316)
>   at 
> org.apache.cassandra.db.SystemKeyspace.getSSTableReadMeter(SystemKeyspace.java:910)
>   at 
> org.apache.cassandra.io.sstable.SSTableReader.(SSTableReader.java:561)
>   at 
> org.apache.cassandra.io.sstable.SSTableReader.open(SSTableReader.java:433)
>   at 
> org.apache.cassandra.io.sstable.SSTableReader.open(SSTableReader.java:343)
>   at 
> org.apache.cassandra.io.sstable.SSTableReader$4.run(SSTableReader.java:480)
>   at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
>   at java.util.concurrent.FutureTask.run(FutureTask.java:262)
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>   at java.lang.Thread.run(Thread.java:745)
> "SSTableBatchOpen:1" daemon prio=10 tid=0x7f4b399e7000 nid=0x4776 waiting 
> for monitor 

[jira] [Commented] (CASSANDRA-8884) Opening a non-system keyspace before first accessing the system keyspace results in deadlock

2015-10-28 Thread Xu Zhongxing (JIRA)

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

Xu Zhongxing commented on CASSANDRA-8884:
-

Hi Piotr,

I had the same problem. After adding Keyspace.open("system"), the program does 
not exit.
What do I need to do to "close" the Keyspace?

> Opening a non-system keyspace before first accessing the system keyspace 
> results in deadlock
> 
>
> Key: CASSANDRA-8884
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8884
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Piotr Kołaczkowski
>Assignee: Benjamin Lerer
> Attachments: bulk.jstack
>
>
> I created a writer like this:
> {code}
> val writer = CQLSSTableWriter.builder()
>   .forTable(tableDef.cql)
>   .using(insertStatement)
>   .withPartitioner(partitioner)
>   .inDirectory(outputDirectory)
>   .withBufferSizeInMB(bufferSizeInMB)
>   .build()
> {code}
> Then I'm trying to write a row with {{addRow}} and it blocks forever.
> Everything related to {{CQLSSTableWriter}}, including its creation, is 
> happening in only one thread.
> {noformat}
> "SSTableBatchOpen:3" daemon prio=10 tid=0x7f4b399d7000 nid=0x4778 waiting 
> for monitor entry [0x7f4b240a7000]
>java.lang.Thread.State: BLOCKED (on object monitor)
>   at org.apache.cassandra.db.Keyspace.open(Keyspace.java:118)
>   - waiting to lock <0xe35fd6d0> (a java.lang.Class for 
> org.apache.cassandra.db.Keyspace)
>   at org.apache.cassandra.db.Keyspace.open(Keyspace.java:99)
>   at 
> org.apache.cassandra.cql3.statements.SelectStatement$RawStatement.prepare(SelectStatement.java:1464)
>   at 
> org.apache.cassandra.cql3.QueryProcessor.getStatement(QueryProcessor.java:517)
>   at 
> org.apache.cassandra.cql3.QueryProcessor.parseStatement(QueryProcessor.java:265)
>   at 
> org.apache.cassandra.cql3.QueryProcessor.prepareInternal(QueryProcessor.java:306)
>   at 
> org.apache.cassandra.cql3.QueryProcessor.executeInternal(QueryProcessor.java:316)
>   at 
> org.apache.cassandra.db.SystemKeyspace.getSSTableReadMeter(SystemKeyspace.java:910)
>   at 
> org.apache.cassandra.io.sstable.SSTableReader.(SSTableReader.java:561)
>   at 
> org.apache.cassandra.io.sstable.SSTableReader.open(SSTableReader.java:433)
>   at 
> org.apache.cassandra.io.sstable.SSTableReader.open(SSTableReader.java:343)
>   at 
> org.apache.cassandra.io.sstable.SSTableReader$4.run(SSTableReader.java:480)
>   at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
>   at java.util.concurrent.FutureTask.run(FutureTask.java:262)
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>   at java.lang.Thread.run(Thread.java:745)
> "SSTableBatchOpen:2" daemon prio=10 tid=0x7f4b399e7800 nid=0x4777 waiting 
> for monitor entry [0x7f4b23ca3000]
>java.lang.Thread.State: BLOCKED (on object monitor)
>   at org.apache.cassandra.db.Keyspace.open(Keyspace.java:118)
>   - waiting to lock <0xe35fd6d0> (a java.lang.Class for 
> org.apache.cassandra.db.Keyspace)
>   at org.apache.cassandra.db.Keyspace.open(Keyspace.java:99)
>   at 
> org.apache.cassandra.cql3.statements.SelectStatement$RawStatement.prepare(SelectStatement.java:1464)
>   at 
> org.apache.cassandra.cql3.QueryProcessor.getStatement(QueryProcessor.java:517)
>   at 
> org.apache.cassandra.cql3.QueryProcessor.parseStatement(QueryProcessor.java:265)
>   at 
> org.apache.cassandra.cql3.QueryProcessor.prepareInternal(QueryProcessor.java:306)
>   at 
> org.apache.cassandra.cql3.QueryProcessor.executeInternal(QueryProcessor.java:316)
>   at 
> org.apache.cassandra.db.SystemKeyspace.getSSTableReadMeter(SystemKeyspace.java:910)
>   at 
> org.apache.cassandra.io.sstable.SSTableReader.(SSTableReader.java:561)
>   at 
> org.apache.cassandra.io.sstable.SSTableReader.open(SSTableReader.java:433)
>   at 
> org.apache.cassandra.io.sstable.SSTableReader.open(SSTableReader.java:343)
>   at 
> org.apache.cassandra.io.sstable.SSTableReader$4.run(SSTableReader.java:480)
>   at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
>   at java.util.concurrent.FutureTask.run(FutureTask.java:262)
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>   at java.lang.Thread.run(Thread.java:745)
> "SSTableBatchOpen:1" daemon prio=10 tid=0x7f4b399e7000 nid=0x4776 waiting 
> for monitor 

[jira] [Commented] (CASSANDRA-8417) Default base_time_seconds in DTCS is almost always too large

2015-10-28 Thread Akihiko Kawaguchi (JIRA)

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

Akihiko Kawaguchi commented on CASSANDRA-8417:
--

Hi, 

As per the change of the default value, I think the following document should 
also be fixed but should I report this kind of documentation issue here or 
another place?
http://docs.datastax.com/en/cql/3.3/cql/cql_reference/compactSubprop.html
bq. base_time_seconds: 3600 (1 hour)


> Default base_time_seconds in DTCS is almost always too large
> 
>
> Key: CASSANDRA-8417
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8417
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Jonathan Ellis
>Assignee: Björn Hegerfors
> Fix For: 2.0.12, 2.1.3
>
> Attachments: cassandra-trunk-CASSANDRA-8417-basetime60.txt
>
>
> One hour is a very long time to compact all new inserts together with any 
> reasonable volume at all.



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


[jira] [Comment Edited] (CASSANDRA-10512) We do not save an upsampled index summaries

2015-10-28 Thread Ariel Weisberg (JIRA)

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

Ariel Weisberg edited comment on CASSANDRA-10512 at 10/29/15 1:32 AM:
--

2.1 and 2.2 build on the CASSANDRA-10511 branches. The 3.0 branch doesn't need 
the 10511 changes so it's just off 3.0.

|[2.2 
code|https://github.com/apache/cassandra/compare/apache:cassandra-2.2...aweisberg:CASSANDRA-10511-2.2?expand=1]|[utests|http://cassci.datastax.com/view/Dev/view/aweisberg/job/aweisberg-CASSANDRA-10511-2.2-testall/]|[dtests|http://cassci.datastax.com/view/Dev/view/aweisberg/job/aweisberg-CASSANDRA-10511-2.2-dtest/]|
|[2.1 
code|https://github.com/apache/cassandra/compare/apache:cassandra-2.1...aweisberg:CASSANDRA-10511-2.1?expand=1]|[utests|http://cassci.datastax.com/view/Dev/view/aweisberg/job/aweisberg-CASSANDRA-10511-2.1-testall/]|[dtests|http://cassci.datastax.com/view/Dev/view/aweisberg/job/aweisberg-CASSANDRA-10511-2.1-dtest/]|
|[3.0 
code|https://github.com/apache/cassandra/compare/apache:cassandra-3.0...aweisberg:CASSANDRA-10512-3.0?expand=1]|[utests|http://cassci.datastax.com/view/Dev/view/aweisberg/job/aweisberg-CASSANDRA-10512-3.0-testall/]|[dtests|http://cassci.datastax.com/view/Dev/view/aweisberg/job/aweisberg-CASSANDRA-10512-3.0-dtest/]|


was (Author: aweisberg):
2.1 and 2.2 build on the CASSANDRA-10511 branch. The 3.0 branch does not.

|[2.2 
code|https://github.com/apache/cassandra/compare/apache:cassandra-2.2...aweisberg:CASSANDRA-10511-2.2?expand=1]|[utests|http://cassci.datastax.com/view/Dev/view/aweisberg/job/aweisberg-CASSANDRA-10511-2.2-testall/]|[dtests|http://cassci.datastax.com/view/Dev/view/aweisberg/job/aweisberg-CASSANDRA-10511-2.2-dtest/]|
|[2.1 
code|https://github.com/apache/cassandra/compare/apache:cassandra-2.1...aweisberg:CASSANDRA-10511-2.1?expand=1]|[utests|http://cassci.datastax.com/view/Dev/view/aweisberg/job/aweisberg-CASSANDRA-10511-2.1-testall/]|[dtests|http://cassci.datastax.com/view/Dev/view/aweisberg/job/aweisberg-CASSANDRA-10511-2.1-dtest/]|
|[3.0 
code|https://github.com/apache/cassandra/compare/apache:cassandra-3.0...aweisberg:CASSANDRA-10512-3.0?expand=1]|[utests|http://cassci.datastax.com/view/Dev/view/aweisberg/job/aweisberg-CASSANDRA-10512-3.0-testall/]|[dtests|http://cassci.datastax.com/view/Dev/view/aweisberg/job/aweisberg-CASSANDRA-10512-3.0-dtest/]|

> We do not save an upsampled index summaries
> ---
>
> Key: CASSANDRA-10512
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10512
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Benedict
>Assignee: Ariel Weisberg
> Fix For: 2.1.x, 2.2.x, 3.1
>
>
> If we downsample an index summary, we overwrite the existing summary, despite 
> downsampling being inexpensive. However on upsampling (which is expensive) we 
> do not, so that on restart all of our index summaries are the smallest they 
> have ever been adjusted to.



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


[jira] [Commented] (CASSANDRA-9304) COPY TO improvements

2015-10-28 Thread Stefania (JIRA)

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

Stefania commented on CASSANDRA-9304:
-

Thanks [~thobbs]! 

bq. Regarding Windows testing, maybe Joshua McKenzie can weight in on who can 
help with that?

I can test on Windows myself; I've postponed setting up dtests on Windows for 
long enough. :)


> COPY TO improvements
> 
>
> Key: CASSANDRA-9304
> URL: https://issues.apache.org/jira/browse/CASSANDRA-9304
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Jonathan Ellis
>Assignee: Stefania
>Priority: Minor
>  Labels: cqlsh
> Fix For: 3.x, 2.1.x, 2.2.x
>
>
> COPY FROM has gotten a lot of love.  COPY TO not so much.  One obvious 
> improvement could be to parallelize reading and writing (write one page of 
> data while fetching the next).



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


[jira] [Commented] (CASSANDRA-10341) Streaming does not guarantee cache invalidation

2015-10-28 Thread Paulo Motta (JIRA)

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

Paulo Motta commented on CASSANDRA-10341:
-

bq.  we are invalidating counter cache also, but before that we are checking if 
row cache only is enabled. should we handle them separately?

Nice catch! Updated patch handling counter cache and row cache separately. Also 
added tests for counter cache invalidation.

||2.1||2.2||3.0||trunk||
|[branch|https://github.com/apache/cassandra/compare/cassandra-2.1...pauloricardomg:10341-2.1]|[branch|https://github.com/apache/cassandra/compare/cassandra-2.2...pauloricardomg:10341-2.2]|[branch|https://github.com/apache/cassandra/compare/cassandra-3.0...pauloricardomg:10341-3.0]|[branch|https://github.com/apache/cassandra/compare/trunk...pauloricardomg:10341-trunk]|
|[testall|http://cassci.datastax.com/view/Dev/view/paulomotta/job/pauloricardomg-10341-2.1-testall/lastCompletedBuild/testReport/]|[testall|http://cassci.datastax.com/view/Dev/view/paulomotta/job/pauloricardomg-10341-2.2-testall/lastCompletedBuild/testReport/]|[testall|http://cassci.datastax.com/view/Dev/view/paulomotta/job/pauloricardomg-10341-3.0-testall/lastCompletedBuild/testReport/]|[testall|http://cassci.datastax.com/view/Dev/view/paulomotta/job/pauloricardomg-10341-trunk-testall/lastCompletedBuild/testReport/]|
|[dtests|http://cassci.datastax.com/view/Dev/view/paulomotta/job/pauloricardomg-10341-2.1-dtest/lastCompletedBuild/testReport/]|[dtests|http://cassci.datastax.com/view/Dev/view/paulomotta/job/pauloricardomg-10341-2.2-dtest/lastCompletedBuild/testReport/]|[dtests|http://cassci.datastax.com/view/Dev/view/paulomotta/job/pauloricardomg-10341-3.0-dtest/lastCompletedBuild/testReport/]|[dtests|http://cassci.datastax.com/view/Dev/view/paulomotta/job/pauloricardomg-10341-trunk-dtest/lastCompletedBuild/testReport/]|

Tests are still running. Will update when tests are finished and successful.

> Streaming does not guarantee cache invalidation
> ---
>
> Key: CASSANDRA-10341
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10341
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Benedict
>Assignee: Paulo Motta
> Fix For: 2.1.x, 2.2.x, 3.1
>
>
> Looking at the code, we attempt to invalidate the row cache for any rows we 
> receive via streaming, however we invalidate them immediately, before the new 
> data is available. So, if it is requested (which is likely if it is "hot") in 
> the interval, it will be re-cached and not invalidated.



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


[jira] [Issue Comment Deleted] (CASSANDRA-10615) Large partition plus row cache causes JVM OutOfMemory Error

2015-10-28 Thread Jeff Jirsa (JIRA)

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

Jeff Jirsa updated CASSANDRA-10615:
---
Comment: was deleted

(was: JVM OOM was one of the canonical risks of enabling the row cache older 
versions of C* before the row cache was made more like a query cache in 
CASSANDRA-5357. In 2.1 and newer, options have been added to control how many 
rows per partition could be cached ( {{rows_per_partition_to_cache}} ) - 
were/are you using the defaults?  Do you have the serialized cache files saved? 
)

> Large partition plus row cache causes JVM OutOfMemory Error
> ---
>
> Key: CASSANDRA-10615
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10615
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
> Environment: Cassandra 2.1.8.621
>Reporter: Michael Perrone
>
> Found on multiple nodes of cluster, restarting C* resulted in hung startup 
> process, nodes never came up to Up Joining, but would hang until OOM. The 
> work-around is to disable row cache. 
> {code}
> ERROR [SharedPool-Worker-22] 2015-10-27 17:22:52,753  
> JVMStabilityInspector.java:94 - JVM state determined to be unstable.  Exiting 
> forcefully due to:
> java.lang.OutOfMemoryError: Java heap space
> at 
> org.apache.cassandra.io.util.RandomAccessReader.readBytes(RandomAccessReader.java:374)
>  ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
> at 
> org.apache.cassandra.utils.ByteBufferUtil.read(ByteBufferUtil.java:348) 
> ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
> at 
> org.apache.cassandra.utils.ByteBufferUtil.readWithShortLength(ByteBufferUtil.java:327)
>  ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
> at 
> org.apache.cassandra.db.composites.AbstractCType$Serializer.deserialize(AbstractCType.java:397)
>  ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
> at 
> org.apache.cassandra.db.composites.AbstractCType$Serializer.deserialize(AbstractCType.java:381)
>  ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
> at 
> org.apache.cassandra.db.OnDiskAtom$Serializer.deserializeFromSSTable(OnDiskAtom.java:75)
>  ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
> at 
> org.apache.cassandra.db.AbstractCell$1.computeNext(AbstractCell.java:52) 
> ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
> at 
> org.apache.cassandra.db.AbstractCell$1.computeNext(AbstractCell.java:46) 
> ~[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.columniterator.SimpleSliceReader.computeNext(SimpleSliceReader.java:83)
>  ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
> at 
> org.apache.cassandra.db.columniterator.SimpleSliceReader.computeNext(SimpleSliceReader.java:37)
>  ~[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.columniterator.SSTableSliceIterator.hasNext(SSTableSliceIterator.java:82)
>  ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
> at 
> org.apache.cassandra.db.filter.QueryFilter$2.getNext(QueryFilter.java:173) 
> ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
> at 
> org.apache.cassandra.db.filter.QueryFilter$2.hasNext(QueryFilter.java:156) 
> ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
> at 
> org.apache.cassandra.utils.MergeIterator$Candidate.advance(MergeIterator.java:146)
>  ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
> at 
> org.apache.cassandra.utils.MergeIterator$ManyToOne.advance(MergeIterator.java:125)
>  ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
> at 
> org.apache.cassandra.utils.MergeIterator$ManyToOne.computeNext(MergeIterator.java:99)
>  ~[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.filter

[jira] [Commented] (CASSANDRA-10615) Large partition plus row cache causes JVM OutOfMemory Error

2015-10-28 Thread Jeff Jirsa (JIRA)

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

Jeff Jirsa commented on CASSANDRA-10615:


JVM OOM was one of the canonical risks of enabling the row cache older versions 
of C* before the row cache was made more like a query cache in CASSANDRA-5357. 
In 2.1 and newer, options have been added to control how many rows per 
partition could be cached ( {{rows_per_partition_to_cache}} ) - were/are you 
using the defaults?  Do you have the serialized cache files saved? 


> Large partition plus row cache causes JVM OutOfMemory Error
> ---
>
> Key: CASSANDRA-10615
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10615
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
> Environment: Cassandra 2.1.8.621
>Reporter: Michael Perrone
>
> Found on multiple nodes of cluster, restarting C* resulted in hung startup 
> process, nodes never came up to Up Joining, but would hang until OOM. The 
> work-around is to disable row cache. 
> {code}
> ERROR [SharedPool-Worker-22] 2015-10-27 17:22:52,753  
> JVMStabilityInspector.java:94 - JVM state determined to be unstable.  Exiting 
> forcefully due to:
> java.lang.OutOfMemoryError: Java heap space
> at 
> org.apache.cassandra.io.util.RandomAccessReader.readBytes(RandomAccessReader.java:374)
>  ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
> at 
> org.apache.cassandra.utils.ByteBufferUtil.read(ByteBufferUtil.java:348) 
> ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
> at 
> org.apache.cassandra.utils.ByteBufferUtil.readWithShortLength(ByteBufferUtil.java:327)
>  ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
> at 
> org.apache.cassandra.db.composites.AbstractCType$Serializer.deserialize(AbstractCType.java:397)
>  ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
> at 
> org.apache.cassandra.db.composites.AbstractCType$Serializer.deserialize(AbstractCType.java:381)
>  ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
> at 
> org.apache.cassandra.db.OnDiskAtom$Serializer.deserializeFromSSTable(OnDiskAtom.java:75)
>  ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
> at 
> org.apache.cassandra.db.AbstractCell$1.computeNext(AbstractCell.java:52) 
> ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
> at 
> org.apache.cassandra.db.AbstractCell$1.computeNext(AbstractCell.java:46) 
> ~[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.columniterator.SimpleSliceReader.computeNext(SimpleSliceReader.java:83)
>  ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
> at 
> org.apache.cassandra.db.columniterator.SimpleSliceReader.computeNext(SimpleSliceReader.java:37)
>  ~[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.columniterator.SSTableSliceIterator.hasNext(SSTableSliceIterator.java:82)
>  ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
> at 
> org.apache.cassandra.db.filter.QueryFilter$2.getNext(QueryFilter.java:173) 
> ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
> at 
> org.apache.cassandra.db.filter.QueryFilter$2.hasNext(QueryFilter.java:156) 
> ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
> at 
> org.apache.cassandra.utils.MergeIterator$Candidate.advance(MergeIterator.java:146)
>  ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
> at 
> org.apache.cassandra.utils.MergeIterator$ManyToOne.advance(MergeIterator.java:125)
>  ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
> at 
> org.apache.cassandra.utils.MergeIterator$ManyToOne.computeNext(MergeIterator.java:99)
>  ~[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.a

[jira] [Commented] (CASSANDRA-9304) COPY TO improvements

2015-10-28 Thread Tyler Hobbs (JIRA)

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

Tyler Hobbs commented on CASSANDRA-9304:


[~Stefania] very nice work!  You did a very good job with the error handling 
and backoff.  You're also getting pretty good at python :)

I think the rate of ~60k rows/sec on a laptop is good for now.  We could 
probably double that, but I think most of the low-hanging fruit has been picked 
here.

Your latest commits look good to me, and I'm fine with the {{NO_COLOR_MAP}} fix.

Regarding Windows testing, maybe [~JoshuaMcKenzie] can weight in on who can 
help with that?

> COPY TO improvements
> 
>
> Key: CASSANDRA-9304
> URL: https://issues.apache.org/jira/browse/CASSANDRA-9304
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Jonathan Ellis
>Assignee: Stefania
>Priority: Minor
>  Labels: cqlsh
> Fix For: 3.x, 2.1.x, 2.2.x
>
>
> COPY FROM has gotten a lot of love.  COPY TO not so much.  One obvious 
> improvement could be to parallelize reading and writing (write one page of 
> data while fetching the next).



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


[jira] [Assigned] (CASSANDRA-10474) Streaming should tolerate secondary index build failure

2015-10-28 Thread Yuki Morishita (JIRA)

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

Yuki Morishita reassigned CASSANDRA-10474:
--

Assignee: Yuki Morishita

> Streaming should tolerate secondary index build failure
> ---
>
> Key: CASSANDRA-10474
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10474
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Yuki Morishita
>Assignee: Yuki Morishita
>  Labels: streaming
> Fix For: 2.1.x, 2.2.x
>
>
> When streaming failed to build secondary index at the end of streaming (like 
> in CASSANDRA-10449), streaming session can hang as it throws exception 
> without catching it.
> Streaming should tolerate secondary index build failure, and instead of 
> failing (hanging) streaming session, it should WARN user and go on.



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


[jira] [Commented] (CASSANDRA-10474) Streaming should tolerate secondary index build failure

2015-10-28 Thread Yuki Morishita (JIRA)

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

Yuki Morishita commented on CASSANDRA-10474:


For 3.0+, this is handled already.
Thanks for pointing out, [~aweisberg].

I think it is still worth to add similar error handling to 2.1 and 2.2.
I'll start work on that.


> Streaming should tolerate secondary index build failure
> ---
>
> Key: CASSANDRA-10474
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10474
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Yuki Morishita
>  Labels: streaming
> Fix For: 2.1.x, 2.2.x
>
>
> When streaming failed to build secondary index at the end of streaming (like 
> in CASSANDRA-10449), streaming session can hang as it throws exception 
> without catching it.
> Streaming should tolerate secondary index build failure, and instead of 
> failing (hanging) streaming session, it should WARN user and go on.



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


[jira] [Updated] (CASSANDRA-10474) Streaming should tolerate secondary index build failure

2015-10-28 Thread Yuki Morishita (JIRA)

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

Yuki Morishita updated CASSANDRA-10474:
---
Fix Version/s: (was: 3.1)

> Streaming should tolerate secondary index build failure
> ---
>
> Key: CASSANDRA-10474
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10474
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Yuki Morishita
>  Labels: streaming
> Fix For: 2.1.x, 2.2.x
>
>
> When streaming failed to build secondary index at the end of streaming (like 
> in CASSANDRA-10449), streaming session can hang as it throws exception 
> without catching it.
> Streaming should tolerate secondary index build failure, and instead of 
> failing (hanging) streaming session, it should WARN user and go on.



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


[jira] [Commented] (CASSANDRA-10365) Consider storing types by their CQL names in schema tables instead of fully-qualified internal class names

2015-10-28 Thread Robert Stupp (JIRA)

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

Robert Stupp commented on CASSANDRA-10365:
--

Alright - next try, same branch (force pushed):
* {{system_schema.aggregates.initcond}} is of type {{text}} and contains the 
CQL term
* does not (yet) work perfectly due to the issues with 
AbstractType/TypeSerializer mentioned above (created CASSANDRA-10617 for this)
* two unit tests in {{AggregationTest}} fail due these issues
* migration of 2.2 UDAs will work fine

> Consider storing types by their CQL names in schema tables instead of 
> fully-qualified internal class names
> --
>
> Key: CASSANDRA-10365
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10365
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Aleksey Yeschenko
>Assignee: Aleksey Yeschenko
>  Labels: client-impacting
> Fix For: 3.0.0
>
>
> Consider saving CQL types names for column, UDF/UDA arguments and return 
> types, and UDT components.



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


[jira] [Created] (CASSANDRA-10617) Provide functionality to create CQL term from bytes

2015-10-28 Thread Robert Stupp (JIRA)
Robert Stupp created CASSANDRA-10617:


 Summary: Provide functionality to create CQL term from bytes
 Key: CASSANDRA-10617
 URL: https://issues.apache.org/jira/browse/CASSANDRA-10617
 Project: Cassandra
  Issue Type: Improvement
Reporter: Robert Stupp
Assignee: Robert Stupp
 Fix For: 3.0.0


As mentioned in [this 
comment|https://issues.apache.org/jira/browse/CASSANDRA-10365?focusedCommentId=14979182&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14979182]
 in CASSANDRA-10365, the current implementations of 
{{AbstractType.getString}}/{{TypeSerializer.toString}} don't work as expected 
and do not generate valid CQL terms as needed by CASSANDRA-10365.



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


[jira] [Commented] (CASSANDRA-10341) Streaming does not guarantee cache invalidation

2015-10-28 Thread Yuki Morishita (JIRA)

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

Yuki Morishita commented on CASSANDRA-10341:


Bounds part looks good.

One more thing before commit: we are invalidating counter cache also, but 
before that we are checking if row cache only is enabled. should we handle them 
separately?

> Streaming does not guarantee cache invalidation
> ---
>
> Key: CASSANDRA-10341
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10341
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Benedict
>Assignee: Paulo Motta
> Fix For: 2.1.x, 2.2.x, 3.1
>
>
> Looking at the code, we attempt to invalidate the row cache for any rows we 
> receive via streaming, however we invalidate them immediately, before the new 
> data is available. So, if it is requested (which is likely if it is "hot") in 
> the interval, it will be re-cached and not invalidated.



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


[jira] [Comment Edited] (CASSANDRA-10485) Missing host ID on hinted handoff write

2015-10-28 Thread Paulo Motta (JIRA)

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

Paulo Motta edited comment on CASSANDRA-10485 at 10/28/15 10:12 PM:


It seems pending endpoints are removed from the {{TokenMetadata}} before the 
new pending ranges are calculated asynchronously by 
{{PendingRangeCalculatorService}}. For example, when {{StorageService}} 
receives a notification that a node was removed:
{code:title=StorageService.java|borderStyle=solid}
public void onRemove(InetAddress endpoint)
{
tokenMetadata.removeEndpoint(endpoint);
PendingRangeCalculatorService.instance.update();
}
{code}

So, there's a window before the new pending ranges are calculated where removed 
pending endpoints are returned to write operations by 
{{TokenMetadata.pendingEndpointsFor()}}, but since the endpoint was already 
removed from the {{TokenMetadata}}, it's not possible to fetch the endpoint's 
ID.

This seems to be confirmed by reports of this bug during node replacements or 
failed bootstraps on CASSANDRA-6335 and CASSANDRA-10233. I also created a 
[simple 
test|https://github.com/pauloricardomg/cassandra/blob/9a4bb94f4a92ed20dba4b0c04e173c641d45251a/test/unit/org/apache/cassandra/locator/SimpleStrategyTest.java#L168]
 confirming the issue.

The simple solution is to iterate over all pending ranges on 
{{TokenMetadata.removeEndpoint()}}, and remove the entries containing the 
removed endpoint. I assumed it's thread-safe to update the {{pendingRanges}} 
backing {{HashMultiMap}} within the {{TokenMetadata}} write lock while it's 
read by other threads due to this note on {{HashMultiMap}} 
[documentation|https://google-collections.googlecode.com/svn/trunk/javadoc/com/google/common/collect/HashMultimap.html]:
bq. This class is not threadsafe when any concurrent operations update the 
multimap. Concurrent read operations will work correctly. 

Code and tests below:

||2.1||2.2||3.0||trunk||
|[branch|https://github.com/apache/cassandra/compare/cassandra-2.1...pauloricardomg:2.1-10485]|[branch|https://github.com/apache/cassandra/compare/cassandra-2.2...pauloricardomg:2.2-10485]|[branch|https://github.com/apache/cassandra/compare/cassandra-3.0...pauloricardomg:3.0-10485]|[branch|https://github.com/apache/cassandra/compare/trunk...pauloricardomg:trunk-10485]|
|[testall|http://cassci.datastax.com/view/Dev/view/paulomotta/job/pauloricardomg-2.1-10485-testall/lastCompletedBuild/testReport/]|[testall|http://cassci.datastax.com/view/Dev/view/paulomotta/job/pauloricardomg-2.2-10485-testall/lastCompletedBuild/testReport/]|[testall|http://cassci.datastax.com/view/Dev/view/paulomotta/job/pauloricardomg-3.0-10485-testall/lastCompletedBuild/testReport/]|[testall|http://cassci.datastax.com/view/Dev/view/paulomotta/job/pauloricardomg-trunk-10485-testall/lastCompletedBuild/testReport/]|
|[dtests|http://cassci.datastax.com/view/Dev/view/paulomotta/job/pauloricardomg-2.1-10485-dtest/lastCompletedBuild/testReport/]|[dtests|http://cassci.datastax.com/view/Dev/view/paulomotta/job/pauloricardomg-2.2-10485-dtest/lastCompletedBuild/testReport/]|[dtests|http://cassci.datastax.com/view/Dev/view/paulomotta/job/pauloricardomg-3.0-10485-dtest/lastCompletedBuild/testReport/]|[dtests|http://cassci.datastax.com/view/Dev/view/paulomotta/job/pauloricardomg-trunk-10485-dtest/lastCompletedBuild/testReport/]|

For the record: while investigating the issue I created an [alternative 
solution|https://github.com/apache/cassandra/compare/cassandra-2.1...pauloricardomg:2.1-10485-v3],
 where endpoint removal is performed only after the new pending ranges are 
calculated, but I think it's not an ideal solution because it will mean hints 
will be stored for a node that is already known to be removed. Furthermore it 
may also break other places relying on the assumption that the endpoint was 
immediately removed from {{TokenMetadata}} after the {{Gossiper}} removal 
notification.


was (Author: pauloricardomg):
It seems pending endpoints are removed from the {{TokenMetadata}} before the 
new pending ranges are calculated asynchronously by 
{{PendingRangeCalculatorService}}. For example, when {{StorageService}} 
receives a notification that a node was removed:
{code:title=StorageService.java|borderStyle=solid}
public void onRemove(InetAddress endpoint)
{
tokenMetadata.removeEndpoint(endpoint);
PendingRangeCalculatorService.instance.update();
}
{code}

So, there's a window before the new pending ranges are calculated where removed 
pending endpoints are returned to write operations by 
{{TokenMetadata.pendingEndpointsFor()}}, but since the endpoint was already 
removed from the {{TokenMetadata}}, it's not possible to fetch the endpoint's 
ID.

This seems to be confirmed by reports of this bug during node replacements or 
failed bootstraps on CASSANDRA-6335 and CASSANDRA-10233. I also created a 

[jira] [Commented] (CASSANDRA-10557) Streaming can throw exception when trying to retry

2015-10-28 Thread Paulo Motta (JIRA)

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

Paulo Motta commented on CASSANDRA-10557:
-

bq.  SSTableWriter.abort() can throw RuntimeException which is not handled by 
anything and if that happens it will leave incomplete stream.

Fair enough, lgtm. Thanks!

> Streaming can throw exception when trying to retry
> --
>
> Key: CASSANDRA-10557
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10557
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Yuki Morishita
>Assignee: Yuki Morishita
>Priority: Minor
> Fix For: 2.1.x, 2.2.x, 3.0.0
>
>
> Streaming can throw below exception when trying to retry.
> This seems to be happening when underlining cause is not catched properly.
> {code}
> 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]
> {code}



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


[jira] [Commented] (CASSANDRA-10592) IllegalArgumentException in DataOutputBuffer.reallocate

2015-10-28 Thread Ariel Weisberg (JIRA)

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

Ariel Weisberg commented on CASSANDRA-10592:


[~sebastian.este...@datastax.com] I having a tough time running the query in 
that tool. I used C* branched off of 2.2 tip. I take it the table is named test 
not transaction_by_retailer.

I can't find where I can just enter the query. The query builder seems kind of 
broken and can't see the table schema. It won't let me add it to the select 
deck.

> IllegalArgumentException in DataOutputBuffer.reallocate
> ---
>
> Key: CASSANDRA-10592
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10592
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Sebastian Estevez
>Assignee: Ariel Weisberg
> Fix For: 2.2.4, 3.0.0
>
>
> CORRECTION-
> It turns out the exception occurs when running a read using a thrift jdbc 
> driver. Once you have loaded the data with stress below, run 
> SELECT * FROM "autogeneratedtest"."transaction_by_retailer" using this tool - 
> http://www.aquafold.com/aquadatastudio_downloads.html
>  
> The exception:
> {code}
> WARN  [SharedPool-Worker-1] 2015-10-22 12:58:20,792 
> AbstractTracingAwareExecutorService.java:169 - Uncaught exception on thread 
> Thread[SharedPool-Worker-1,5,main]: {}
> java.lang.RuntimeException: java.lang.IllegalArgumentException
>   at 
> org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:2366)
>  ~[main/:na]
>   at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
> ~[na:1.8.0_60]
>   at 
> org.apache.cassandra.concurrent.AbstractTracingAwareExecutorService$FutureTask.run(AbstractTracingAwareExecutorService.java:164)
>  ~[main/:na]
>   at org.apache.cassandra.concurrent.SEPWorker.run(SEPWorker.java:105) 
> [main/:na]
>   at java.lang.Thread.run(Thread.java:745) [na:1.8.0_60]
> Caused by: java.lang.IllegalArgumentException: null
>   at java.nio.ByteBuffer.allocate(ByteBuffer.java:334) ~[na:1.8.0_60]
>   at 
> org.apache.cassandra.io.util.DataOutputBuffer.reallocate(DataOutputBuffer.java:63)
>  ~[main/:na]
>   at 
> org.apache.cassandra.io.util.DataOutputBuffer.doFlush(DataOutputBuffer.java:57)
>  ~[main/:na]
>   at 
> org.apache.cassandra.io.util.BufferedDataOutputStreamPlus.write(BufferedDataOutputStreamPlus.java:132)
>  ~[main/:na]
>   at 
> org.apache.cassandra.io.util.BufferedDataOutputStreamPlus.write(BufferedDataOutputStreamPlus.java:151)
>  ~[main/:na]
>   at 
> org.apache.cassandra.utils.ByteBufferUtil.writeWithVIntLength(ByteBufferUtil.java:296)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.marshal.AbstractType.writeValue(AbstractType.java:374)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.rows.BufferCell$Serializer.serialize(BufferCell.java:263)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.rows.UnfilteredSerializer.serialize(UnfilteredSerializer.java:183)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.rows.UnfilteredSerializer.serialize(UnfilteredSerializer.java:108)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.rows.UnfilteredSerializer.serialize(UnfilteredSerializer.java:96)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.rows.UnfilteredRowIteratorSerializer.serialize(UnfilteredRowIteratorSerializer.java:132)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.rows.UnfilteredRowIteratorSerializer.serialize(UnfilteredRowIteratorSerializer.java:87)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.rows.UnfilteredRowIteratorSerializer.serialize(UnfilteredRowIteratorSerializer.java:77)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.partitions.UnfilteredPartitionIterators$Serializer.serialize(UnfilteredPartitionIterators.java:381)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.ReadResponse$LocalDataResponse.build(ReadResponse.java:136)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.ReadResponse$LocalDataResponse.(ReadResponse.java:128)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.ReadResponse$LocalDataResponse.(ReadResponse.java:123)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.ReadResponse.createDataResponse(ReadResponse.java:65) 
> ~[main/:na]
>   at 
> org.apache.cassandra.db.ReadCommand.createResponse(ReadCommand.java:289) 
> ~[main/:na]
>   at 
> org.apache.cassandra.service.StorageProxy$LocalReadRunnable.runMayThrow(StorageProxy.java:1697)
>  ~[main/:na]
>   at 
> org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:2362)
>  ~[main/:na]
>   ... 4 common frames omitted
> {code}
> I was running this command:
> {code}
> tools/bin/cassandra-stress user 
> profile=~/Desktop/startup/stress/stress.yaml n=10 ops\(insert=1\) -rate 

[jira] [Updated] (CASSANDRA-10580) On dropped mutations, more details should be logged.

2015-10-28 Thread Anubhav Kale (JIRA)

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

Anubhav Kale updated CASSANDRA-10580:
-
Attachment: CASSANDRA-10580-Head.patch

> On dropped mutations, more details should be logged.
> 
>
> Key: CASSANDRA-10580
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10580
> Project: Cassandra
>  Issue Type: Bug
> Environment: Production
>Reporter: Anubhav Kale
>Priority: Minor
> Fix For: 2.1.x
>
> Attachments: CASSANDRA-10580-Head.patch
>
>
> In our production cluster, we are seeing a large number of dropped mutations. 
> At a minimum, we should print the time the thread took to get scheduled 
> thereby dropping the mutation (We should also print the Message / Mutation so 
> it helps in figuring out which column family was affected). This will help 
> find the right tuning parameter for write_timeout_in_ms. 
> The change is small and is in StorageProxy.java and MessagingTask.java. I 
> will submit a patch shortly.



--
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-28 Thread Ariel Weisberg (JIRA)

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

Ariel Weisberg commented on CASSANDRA-9526:
---

Committer please do a quick code review of this fix.

> 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
>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-10614) AssertionError while flushing memtables

2015-10-28 Thread Alan Boudreault (JIRA)

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

Alan Boudreault commented on CASSANDRA-10614:
-

[~thobbs] I'll verify that.

It's was a one-off. It would be good to setup some regular jobs in jenkins as 
you said. Adding this in the backlog.

> AssertionError while flushing memtables
> ---
>
> Key: CASSANDRA-10614
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10614
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core, Local Write-Read Paths
>Reporter: Tyler Hobbs
>Assignee: Tyler Hobbs
>Priority: Critical
> Fix For: 3.0.0
>
>
> While running mvbench against a single local node, I noticed this stacktrace 
> showing up multiple times in the logs:
> {noformat}
> ERROR 16:40:01 Exception in thread Thread[MemtableFlushWriter:1,5,main]
> java.lang.AssertionError: null
>   at org.apache.cassandra.db.rows.Rows.collectStats(Rows.java:70) 
> ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.format.big.BigTableWriter$StatsCollector.applyToRow(BigTableWriter.java:197)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.transform.BaseRows.hasNext(BaseRows.java:116) 
> ~[main/:na]
>   at 
> org.apache.cassandra.db.transform.UnfilteredRows.isEmpty(UnfilteredRows.java:38)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.ColumnIndex.writeAndBuildIndex(ColumnIndex.java:49) 
> ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.format.big.BigTableWriter.append(BigTableWriter.java:149)
>  ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.SimpleSSTableMultiWriter.append(SimpleSSTableMultiWriter.java:45)
>  ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.SSTableTxnWriter.append(SSTableTxnWriter.java:52)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.Memtable$FlushRunnable.writeSortedContents(Memtable.java:389)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.Memtable$FlushRunnable.runMayThrow(Memtable.java:352) 
> ~[main/:na]
>   at 
> org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) 
> ~[main/:na]
>   at 
> com.google.common.util.concurrent.MoreExecutors$DirectExecutorService.execute(MoreExecutors.java:299)
>  ~[guava-18.0.jar:na]
>   at 
> org.apache.cassandra.db.ColumnFamilyStore$Flush.run(ColumnFamilyStore.java:1037)
>  ~[main/:na]
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  ~[na:1.8.0_45]
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  ~[na:1.8.0_45]
>   at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_45]
> {noformat}
> To reproduce, run mvbench with the regular schema and the following arguments:
> {noformat}
> mvn exec:java -Dexec.args="--num-users 10 --num-songs 100 
> --num-artists 1 -n 50 --endpoint 127.0.0.1"
> {noformat}



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


[jira] [Commented] (CASSANDRA-10512) We do not save an upsampled index summaries

2015-10-28 Thread Ariel Weisberg (JIRA)

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

Ariel Weisberg commented on CASSANDRA-10512:


2.1 and 2.2 build on the CASSANDRA-10511 branch. The 3.0 branch does not.

|[2.2 
code|https://github.com/apache/cassandra/compare/apache:cassandra-2.2...aweisberg:CASSANDRA-10511-2.2?expand=1]|[utests|http://cassci.datastax.com/view/Dev/view/aweisberg/job/aweisberg-CASSANDRA-10511-2.2-testall/]|[dtests|http://cassci.datastax.com/view/Dev/view/aweisberg/job/aweisberg-CASSANDRA-10511-2.2-dtest/]|
|[2.1 
code|https://github.com/apache/cassandra/compare/apache:cassandra-2.1...aweisberg:CASSANDRA-10511-2.1?expand=1]|[utests|http://cassci.datastax.com/view/Dev/view/aweisberg/job/aweisberg-CASSANDRA-10511-2.1-testall/]|[dtests|http://cassci.datastax.com/view/Dev/view/aweisberg/job/aweisberg-CASSANDRA-10511-2.1-dtest/]|
|[3.0 
code|https://github.com/apache/cassandra/compare/apache:cassandra-3.0...aweisberg:CASSANDRA-10512-3.0?expand=1]|[utests|http://cassci.datastax.com/view/Dev/view/aweisberg/job/aweisberg-CASSANDRA-10512-3.0-testall/]|[dtests|http://cassci.datastax.com/view/Dev/view/aweisberg/job/aweisberg-CASSANDRA-10512-3.0-dtest/]|

> We do not save an upsampled index summaries
> ---
>
> Key: CASSANDRA-10512
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10512
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Benedict
>Assignee: Ariel Weisberg
> Fix For: 2.1.x, 2.2.x, 3.1
>
>
> If we downsample an index summary, we overwrite the existing summary, despite 
> downsampling being inexpensive. However on upsampling (which is expensive) we 
> do not, so that on restart all of our index summaries are the smallest they 
> have ever been adjusted to.



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


[jira] [Commented] (CASSANDRA-10365) Consider storing types by their CQL names in schema tables instead of fully-qualified internal class names

2015-10-28 Thread Robert Stupp (JIRA)

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

Robert Stupp commented on CASSANDRA-10365:
--

Pushed a commit that adds initcond literal to schema table 
[here|https://github.com/snazy/cassandra/tree/10365-uda-3.0].

Specifically the patch does:
* add {{initcond_literal}} column to {{system_schema.aggregates}}, which 
contains the literal from the _CREATE AGGREGATE_ statement
* add {{initcond_version}} column to {{system_schema.aggregates}}, which 
contains the native protocol version used to serialize {{initcond}} value (to 
be able to read it in future versions)
* add {{"tuple"}} case to {{CqlTypeParser}} (to get {{AggregationTest}} working)

Unfortunately we cannot reliably re-construct the CQL literal for a number of 
reasons:
* there are no {{TypeSerializer}} implementations for tuples/UDTs
* AbstractTextSerializer.getString() returns the non-quoted string
* TupleType/UserType return BytesSerializer - this means that nested type 
combinations cannot be reliably stringified (would return a hex representation 
instead of CQL tuple/UDT literals)

WRT this ticket - although it is not nice to not have the INITCOND literal in a 
_describeAggregate_ method for pre-3.0 UDAs, I *think* it's ok, since UDFs and 
UDAs were experimental in 2.2 and it only affects a _describeAggregate_ method, 
if the driver is not "smart enough" to reconstruct the literal itself from 
{{initcond}}. So - for pre-3.0 UDAs such a _describeAggregate_ would not work 
perfectly and might return some hint if {{initcond_literal}} column is {{null}}.

I'm not sure whether it's worth to fix the AbstractType/TypeSerializer 
getString/toString functionality (for 3.0) since it's a 'bit' more code to 
change.

> Consider storing types by their CQL names in schema tables instead of 
> fully-qualified internal class names
> --
>
> Key: CASSANDRA-10365
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10365
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Aleksey Yeschenko
>Assignee: Aleksey Yeschenko
>  Labels: client-impacting
> Fix For: 3.0.0
>
>
> Consider saving CQL types names for column, UDF/UDA arguments and return 
> types, and UDT components.



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


[jira] [Commented] (CASSANDRA-10513) Update cqlsh for new driver execution API

2015-10-28 Thread Paulo Motta (JIRA)

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

Paulo Motta commented on CASSANDRA-10513:
-

Tests are now passing. Marking as "Ready to Commit". Thanks for the patch 
[~aholmber]!

Committer: please commit github links which contain the updated driver, not the 
attached initial patches (.txt).

> Update cqlsh for new driver execution API
> -
>
> Key: CASSANDRA-10513
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10513
> Project: Cassandra
>  Issue Type: New Feature
>  Components: Tools
>Reporter: Adam Holmberg
>Assignee: Paulo Motta
>Priority: Minor
>  Labels: cqlsh
> Fix For: 2.2.x, 3.0.x
>
> Attachments: 10513-2.1.txt, 10513-2.2.txt, 10513.txt
>
>
> The 3.0 Python driver will have a few tweaks to the execution API. We'll need 
> to update cqlsh in a couple of minor ways.
> [Results are always returned as an iterable 
> ResultSet|https://datastax-oss.atlassian.net/browse/PYTHON-368]
> [Trace data is always attached to the 
> ResultSet|https://datastax-oss.atlassian.net/browse/PYTHON-318] (instead of 
> being attached to a statement)



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


[jira] [Commented] (CASSANDRA-10616) add support for jacoco execfile merging and bump version

2015-10-28 Thread Russ Hatch (JIRA)

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

Russ Hatch commented on CASSANDRA-10616:


initial review by [~philipthompson]

> add support for jacoco execfile merging and bump version
> 
>
> Key: CASSANDRA-10616
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10616
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Russ Hatch
>Assignee: Russ Hatch
> Fix For: 3.x
>
> Attachments: trunk-10616.txt
>
>
> To support coverage reporting across multiple machines we need to add a build 
> task for jacoco's merge feature. This will allow tests to be run in 
> fragmented ways (such as in parallel) and later combined into a single 
> cohesive coverage report.
> Additionally, jacoco can be updated from 0.7.1 to 0.7.5.



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


[jira] [Updated] (CASSANDRA-10616) add support for jacoco execfile merging and bump version

2015-10-28 Thread Russ Hatch (JIRA)

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

Russ Hatch updated CASSANDRA-10616:
---
Attachment: trunk-10616.txt

Attaching patch.

This introduces an intermediate task called 'jacoco-merge' which is run 
automatically when a report is created. Running this manually will be used to 
combine multiple execution files when the are placed in build/jacoco/partials.

Basic usage should stay the same from a user perspective, but the additional 
step adds flexibility for those wishing to combine reports.

> add support for jacoco execfile merging and bump version
> 
>
> Key: CASSANDRA-10616
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10616
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Russ Hatch
>Assignee: Russ Hatch
> Attachments: trunk-10616.txt
>
>
> To support coverage reporting across multiple machines we need to add a build 
> task for jacoco's merge feature. This will allow tests to be run in 
> fragmented ways (such as in parallel) and later combined into a single 
> cohesive coverage report.
> Additionally, jacoco can be updated from 0.7.1 to 0.7.5.



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


[jira] [Comment Edited] (CASSANDRA-10614) AssertionError while flushing memtables

2015-10-28 Thread Tyler Hobbs (JIRA)

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

Tyler Hobbs edited comment on CASSANDRA-10614 at 10/28/15 8:03 PM:
---

The cause was a bad short-circuit of the check for whether an update affects a 
view.  If the view's PK only included columns from the base table's PK, empty 
rows could be inserted into the view when an update didn't affect any columns 
in the view.

This appears to also fix the performance regression spotted in CASSANDRA-10609. 
 [~aboudreault] can you verify that for me?

Patches and pending CI runs:
||branch||testall||dtest||
|[CASSANDRA-10614|https://github.com/thobbs/cassandra/tree/CASSANDRA-10614]|[testall|http://cassci.datastax.com/view/Dev/view/thobbs/job/thobbs-CASSANDRA-10614-testall]|[dtest|http://cassci.datastax.com/view/Dev/view/thobbs/job/thobbs-CASSANDRA-10614-dtest]|
|[CASSANDRA-10614-trunk|https://github.com/thobbs/cassandra/tree/CASSANDRA-10614-trunk]|[testall|http://cassci.datastax.com/view/Dev/view/thobbs/job/thobbs-CASSANDRA-10614-trunk-testall]|[dtest|http://cassci.datastax.com/view/Dev/view/thobbs/job/thobbs-CASSANDRA-10614-trunk-dtest]|

As far as a test goes, I could add a simple regression unit test that triggers 
a flush, but it would be good to know that we regularly run MV tests long 
enough to spot other issues like this.  [~aboudreault] were you just doing a 
one-off perf test, or is this part of a regular job?


was (Author: thobbs):
The cause was a bad short-circuit of the check for whether an update affects a 
view.  If the view's PK only included columns from the base table's PK, empty 
rows could be inserted into the view when an update didn't affect any columns 
in the view.

This appears to also fix the performance regression spotted in CASSANDRA-10609. 
 [~aboudreault] can you verify that for me?

Patches and pending CI runs:
||branch||testall||dtest||
|[CASSANDRA-10614|https://github.com/thobbs/cassandra/tree/CASSANDRA-10614]|[testall|http://cassci.datastax.com/view/Dev/view/beobal/job/thobbs-CASSANDRA-10614-testall]|[dtest|http://cassci.datastax.com/view/Dev/view/beobal/job/thobbs-CASSANDRA-10614-dtest]|
|[CASSANDRA-10614-trunk|https://github.com/thobbs/cassandra/tree/CASSANDRA-10614-trunk]|[testall|http://cassci.datastax.com/view/Dev/view/beobal/job/thobbs-CASSANDRA-10614-trunk-testall]|[dtest|http://cassci.datastax.com/view/Dev/view/beobal/job/thobbs-CASSANDRA-10614-trunk-dtest]|

As far as a test goes, I could add a simple regression unit test that triggers 
a flush, but it would be good to know that we regularly run MV tests long 
enough to spot other issues like this.  [~aboudreault] were you just doing a 
one-off perf test, or is this part of a regular job?

> AssertionError while flushing memtables
> ---
>
> Key: CASSANDRA-10614
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10614
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core, Local Write-Read Paths
>Reporter: Tyler Hobbs
>Assignee: Tyler Hobbs
>Priority: Critical
> Fix For: 3.0.0
>
>
> While running mvbench against a single local node, I noticed this stacktrace 
> showing up multiple times in the logs:
> {noformat}
> ERROR 16:40:01 Exception in thread Thread[MemtableFlushWriter:1,5,main]
> java.lang.AssertionError: null
>   at org.apache.cassandra.db.rows.Rows.collectStats(Rows.java:70) 
> ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.format.big.BigTableWriter$StatsCollector.applyToRow(BigTableWriter.java:197)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.transform.BaseRows.hasNext(BaseRows.java:116) 
> ~[main/:na]
>   at 
> org.apache.cassandra.db.transform.UnfilteredRows.isEmpty(UnfilteredRows.java:38)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.ColumnIndex.writeAndBuildIndex(ColumnIndex.java:49) 
> ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.format.big.BigTableWriter.append(BigTableWriter.java:149)
>  ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.SimpleSSTableMultiWriter.append(SimpleSSTableMultiWriter.java:45)
>  ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.SSTableTxnWriter.append(SSTableTxnWriter.java:52)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.Memtable$FlushRunnable.writeSortedContents(Memtable.java:389)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.Memtable$FlushRunnable.runMayThrow(Memtable.java:352) 
> ~[main/:na]
>   at 
> org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) 
> ~[main/:na]
>   at 
> com.google.common.util.concurrent.MoreExecutors$DirectExecutorService.execute(MoreExecutors.java:299)
>  ~[guava-18.0.jar:na]
>   at 
> org.apache.cassandra.db.ColumnFamilyStore$Flush.run(ColumnFamilyStore

[jira] [Created] (CASSANDRA-10616) add support for jacoco execfile merging and bump version

2015-10-28 Thread Russ Hatch (JIRA)
Russ Hatch created CASSANDRA-10616:
--

 Summary: add support for jacoco execfile merging and bump version
 Key: CASSANDRA-10616
 URL: https://issues.apache.org/jira/browse/CASSANDRA-10616
 Project: Cassandra
  Issue Type: Improvement
Reporter: Russ Hatch
Assignee: Russ Hatch


To support coverage reporting across multiple machines we need to add a build 
task for jacoco's merge feature. This will allow tests to be run in fragmented 
ways (such as in parallel) and later combined into a single cohesive coverage 
report.

Additionally, jacoco can be updated from 0.7.1 to 0.7.5.



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


[jira] [Updated] (CASSANDRA-10615) Large partition plus row cache causes JVM OutOfMemory Error

2015-10-28 Thread Michael Perrone (JIRA)

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

Michael Perrone updated CASSANDRA-10615:

Description: 
Found on multiple nodes of cluster, restarting C* resulted in hung startup 
process, nodes never came up to Up Joining, but would hang until OOM. The 
work-around is to disable row cache. 

{quote}
ERROR [SharedPool-Worker-22] 2015-10-27 17:22:52,753  
JVMStabilityInspector.java:94 - JVM state determined to be unstable.  Exiting 
forcefully due to:
java.lang.OutOfMemoryError: Java heap space
at 
org.apache.cassandra.io.util.RandomAccessReader.readBytes(RandomAccessReader.java:374)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.utils.ByteBufferUtil.read(ByteBufferUtil.java:348) 
~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.utils.ByteBufferUtil.readWithShortLength(ByteBufferUtil.java:327)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.db.composites.AbstractCType$Serializer.deserialize(AbstractCType.java:397)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.db.composites.AbstractCType$Serializer.deserialize(AbstractCType.java:381)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.db.OnDiskAtom$Serializer.deserializeFromSSTable(OnDiskAtom.java:75)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.db.AbstractCell$1.computeNext(AbstractCell.java:52) 
~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.db.AbstractCell$1.computeNext(AbstractCell.java:46) 
~[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.columniterator.SimpleSliceReader.computeNext(SimpleSliceReader.java:83)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.db.columniterator.SimpleSliceReader.computeNext(SimpleSliceReader.java:37)
 ~[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.columniterator.SSTableSliceIterator.hasNext(SSTableSliceIterator.java:82)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.db.filter.QueryFilter$2.getNext(QueryFilter.java:173) 
~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.db.filter.QueryFilter$2.hasNext(QueryFilter.java:156) 
~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.utils.MergeIterator$Candidate.advance(MergeIterator.java:146)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.utils.MergeIterator$ManyToOne.advance(MergeIterator.java:125)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.utils.MergeIterator$ManyToOne.computeNext(MergeIterator.java:99)
 ~[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.filter.QueryFilter.collateOnDiskAtom(QueryFilter.java:69)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.db.CollationController.collectAllData(CollationController.java:314)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.db.CollationController.getTopLevelColumns(CollationController.java:62)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.db.ColumnFamilyStore.getTopLevelColumns(ColumnFamilyStore.java:1967)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.service.CacheService$RowCacheSerializer$1.call(CacheService.java:456)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.service.CacheService$RowCacheSerializer$1.call(CacheService.java:451)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.concurrent.AbstractTracingAwareExecutorService$FutureTask.run(AbstractTracingAwareExecutorService.java:164)
 ~[cassand

[jira] [Updated] (CASSANDRA-10615) Large partition plus row cache causes JVM OutOfMemory Error

2015-10-28 Thread Michael Perrone (JIRA)

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

Michael Perrone updated CASSANDRA-10615:

Description: 
Found on multiple nodes of cluster, restarting C* resulted in hung startup 
process, nodes never came up to Up Joining, but would hang until OOM. The 
work-around is to disable row cache. 

{code}
ERROR [SharedPool-Worker-22] 2015-10-27 17:22:52,753  
JVMStabilityInspector.java:94 - JVM state determined to be unstable.  Exiting 
forcefully due to:
java.lang.OutOfMemoryError: Java heap space
at 
org.apache.cassandra.io.util.RandomAccessReader.readBytes(RandomAccessReader.java:374)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.utils.ByteBufferUtil.read(ByteBufferUtil.java:348) 
~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.utils.ByteBufferUtil.readWithShortLength(ByteBufferUtil.java:327)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.db.composites.AbstractCType$Serializer.deserialize(AbstractCType.java:397)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.db.composites.AbstractCType$Serializer.deserialize(AbstractCType.java:381)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.db.OnDiskAtom$Serializer.deserializeFromSSTable(OnDiskAtom.java:75)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.db.AbstractCell$1.computeNext(AbstractCell.java:52) 
~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.db.AbstractCell$1.computeNext(AbstractCell.java:46) 
~[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.columniterator.SimpleSliceReader.computeNext(SimpleSliceReader.java:83)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.db.columniterator.SimpleSliceReader.computeNext(SimpleSliceReader.java:37)
 ~[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.columniterator.SSTableSliceIterator.hasNext(SSTableSliceIterator.java:82)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.db.filter.QueryFilter$2.getNext(QueryFilter.java:173) 
~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.db.filter.QueryFilter$2.hasNext(QueryFilter.java:156) 
~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.utils.MergeIterator$Candidate.advance(MergeIterator.java:146)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.utils.MergeIterator$ManyToOne.advance(MergeIterator.java:125)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.utils.MergeIterator$ManyToOne.computeNext(MergeIterator.java:99)
 ~[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.filter.QueryFilter.collateOnDiskAtom(QueryFilter.java:69)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.db.CollationController.collectAllData(CollationController.java:314)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.db.CollationController.getTopLevelColumns(CollationController.java:62)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.db.ColumnFamilyStore.getTopLevelColumns(ColumnFamilyStore.java:1967)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.service.CacheService$RowCacheSerializer$1.call(CacheService.java:456)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.service.CacheService$RowCacheSerializer$1.call(CacheService.java:451)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.concurrent.AbstractTracingAwareExecutorService$FutureTask.run(AbstractTracingAwareExecutorService.java:164)
 ~[cassandr

[jira] [Updated] (CASSANDRA-10615) Large partition plus row cache causes JVM OutOfMemory Error

2015-10-28 Thread Michael Perrone (JIRA)

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

Michael Perrone updated CASSANDRA-10615:

Description: 
Found on multiple nodes of cluster, restarting C* resulted in hung startup 
process, nodes never came up to Up Joining, but would hang until OOM. The 
work-around is to disable row cache. 

```
ERROR [SharedPool-Worker-22] 2015-10-27 17:22:52,753  
JVMStabilityInspector.java:94 - JVM state determined to be unstable.  Exiting 
forcefully due to:
java.lang.OutOfMemoryError: Java heap space
at 
org.apache.cassandra.io.util.RandomAccessReader.readBytes(RandomAccessReader.java:374)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.utils.ByteBufferUtil.read(ByteBufferUtil.java:348) 
~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.utils.ByteBufferUtil.readWithShortLength(ByteBufferUtil.java:327)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.db.composites.AbstractCType$Serializer.deserialize(AbstractCType.java:397)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.db.composites.AbstractCType$Serializer.deserialize(AbstractCType.java:381)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.db.OnDiskAtom$Serializer.deserializeFromSSTable(OnDiskAtom.java:75)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.db.AbstractCell$1.computeNext(AbstractCell.java:52) 
~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.db.AbstractCell$1.computeNext(AbstractCell.java:46) 
~[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.columniterator.SimpleSliceReader.computeNext(SimpleSliceReader.java:83)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.db.columniterator.SimpleSliceReader.computeNext(SimpleSliceReader.java:37)
 ~[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.columniterator.SSTableSliceIterator.hasNext(SSTableSliceIterator.java:82)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.db.filter.QueryFilter$2.getNext(QueryFilter.java:173) 
~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.db.filter.QueryFilter$2.hasNext(QueryFilter.java:156) 
~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.utils.MergeIterator$Candidate.advance(MergeIterator.java:146)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.utils.MergeIterator$ManyToOne.advance(MergeIterator.java:125)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.utils.MergeIterator$ManyToOne.computeNext(MergeIterator.java:99)
 ~[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.filter.QueryFilter.collateOnDiskAtom(QueryFilter.java:69)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.db.CollationController.collectAllData(CollationController.java:314)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.db.CollationController.getTopLevelColumns(CollationController.java:62)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.db.ColumnFamilyStore.getTopLevelColumns(ColumnFamilyStore.java:1967)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.service.CacheService$RowCacheSerializer$1.call(CacheService.java:456)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.service.CacheService$RowCacheSerializer$1.call(CacheService.java:451)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.concurrent.AbstractTracingAwareExecutorService$FutureTask.run(AbstractTracingAwareExecutorService.java:164)
 ~[cassandra-a

[jira] [Updated] (CASSANDRA-10615) Large partition plus row cache causes JVM OutOfMemory Error

2015-10-28 Thread Michael Perrone (JIRA)

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

Michael Perrone updated CASSANDRA-10615:

Reproduced In: 2.1.8

> Large partition plus row cache causes JVM OutOfMemory Error
> ---
>
> Key: CASSANDRA-10615
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10615
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
> Environment: Cassandra 2.1.8.621
>Reporter: Michael Perrone
>
> Found on multiple nodes of cluster, restarting C* resulted in hung startup 
> process, nodes never came up to Up Joining, but would hang until OOM. The 
> work-around is to disable row cache. 
> {qoute}
> ERROR [SharedPool-Worker-22] 2015-10-27 17:22:52,753  
> JVMStabilityInspector.java:94 - JVM state determined to be unstable.  Exiting 
> forcefully due to:
> java.lang.OutOfMemoryError: Java heap space
> at 
> org.apache.cassandra.io.util.RandomAccessReader.readBytes(RandomAccessReader.java:374)
>  ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
> at 
> org.apache.cassandra.utils.ByteBufferUtil.read(ByteBufferUtil.java:348) 
> ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
> at 
> org.apache.cassandra.utils.ByteBufferUtil.readWithShortLength(ByteBufferUtil.java:327)
>  ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
> at 
> org.apache.cassandra.db.composites.AbstractCType$Serializer.deserialize(AbstractCType.java:397)
>  ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
> at 
> org.apache.cassandra.db.composites.AbstractCType$Serializer.deserialize(AbstractCType.java:381)
>  ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
> at 
> org.apache.cassandra.db.OnDiskAtom$Serializer.deserializeFromSSTable(OnDiskAtom.java:75)
>  ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
> at 
> org.apache.cassandra.db.AbstractCell$1.computeNext(AbstractCell.java:52) 
> ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
> at 
> org.apache.cassandra.db.AbstractCell$1.computeNext(AbstractCell.java:46) 
> ~[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.columniterator.SimpleSliceReader.computeNext(SimpleSliceReader.java:83)
>  ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
> at 
> org.apache.cassandra.db.columniterator.SimpleSliceReader.computeNext(SimpleSliceReader.java:37)
>  ~[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.columniterator.SSTableSliceIterator.hasNext(SSTableSliceIterator.java:82)
>  ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
> at 
> org.apache.cassandra.db.filter.QueryFilter$2.getNext(QueryFilter.java:173) 
> ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
> at 
> org.apache.cassandra.db.filter.QueryFilter$2.hasNext(QueryFilter.java:156) 
> ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
> at 
> org.apache.cassandra.utils.MergeIterator$Candidate.advance(MergeIterator.java:146)
>  ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
> at 
> org.apache.cassandra.utils.MergeIterator$ManyToOne.advance(MergeIterator.java:125)
>  ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
> at 
> org.apache.cassandra.utils.MergeIterator$ManyToOne.computeNext(MergeIterator.java:99)
>  ~[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.filter.QueryFilter.collateOnDiskAtom(QueryFilter.java:69)
>  ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
> at 
> org.apache.cassandra.db.CollationController.collectAllData(CollationController.java:314)
>  ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
> at 
> org.apache.cassandra.db.CollationController.getTopLevelColumns(CollationController.java:62)
>  ~[cassandra-all-2.1.8

[jira] [Comment Edited] (CASSANDRA-10614) AssertionError while flushing memtables

2015-10-28 Thread Tyler Hobbs (JIRA)

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

Tyler Hobbs edited comment on CASSANDRA-10614 at 10/28/15 7:52 PM:
---

The cause was a bad short-circuit of the check for whether an update affects a 
view.  If the view's PK only included columns from the base table's PK, empty 
rows could be inserted into the view when an update didn't affect any columns 
in the view.

This appears to also fix the performance regression spotted in CASSANDRA-10609. 
 [~aboudreault] can you verify that for me?

Patches and pending CI runs:
||branch||testall||dtest||
|[CASSANDRA-10614|https://github.com/thobbs/cassandra/tree/CASSANDRA-10614]|[testall|http://cassci.datastax.com/view/Dev/view/beobal/job/thobbs-CASSANDRA-10614-testall]|[dtest|http://cassci.datastax.com/view/Dev/view/beobal/job/thobbs-CASSANDRA-10614-dtest]|
|[CASSANDRA-10614-trunk|https://github.com/thobbs/cassandra/tree/CASSANDRA-10614-trunk]|[testall|http://cassci.datastax.com/view/Dev/view/beobal/job/thobbs-CASSANDRA-10614-trunk-testall]|[dtest|http://cassci.datastax.com/view/Dev/view/beobal/job/thobbs-CASSANDRA-10614-trunk-dtest]|

As far as a test goes, I could add a simple regression unit test that triggers 
a flush, but it would be good to know that we regularly run MV tests long 
enough to spot other issues like this.  [~aboudreault] were you just doing a 
one-off perf test, or is this part of a regular job?


was (Author: thobbs):
The cause was a bad short-circuit of the check for whether an update affects a 
view.  If the view's PK only included columns from the base table's PK, empty 
rows could be inserted into the view when an update didn't affect any columns 
in the view.

This appears to also fix the performance regression spotted in CASSANDRA-10609. 
 [~aboudreault] can you verify that for me?

Patches and pending CI runs:
||branch||testall||dtest||
|[CASSANDRA-10614|https://github.com/thobbs/cassandra/tree/CASSANDRA-10614]|[testall|http://cassci.datastax.com/view/Dev/view/beobal/job/thobbs-CASSANDRA-10614-testall]|[dtest|http://cassci.datastax.com/view/Dev/view/beobal/job/thobbs-CASSANDRA-10614-dtest]|
|[CASSANDRA-10614-trunk|https://github.com/thobbs/cassandra/tree/CASSANDRA-10614-trunk]|[testall|http://cassci.datastax.com/view/Dev/view/beobal/job/thobbs-CASSANDRA-10614-trunk-testall]|[dtest|http://cassci.datastax.com/view/Dev/view/beobal/job/thobbs-CASSANDRA-10614-trunk-dtest]|


> AssertionError while flushing memtables
> ---
>
> Key: CASSANDRA-10614
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10614
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core, Local Write-Read Paths
>Reporter: Tyler Hobbs
>Assignee: Tyler Hobbs
>Priority: Critical
> Fix For: 3.0.0
>
>
> While running mvbench against a single local node, I noticed this stacktrace 
> showing up multiple times in the logs:
> {noformat}
> ERROR 16:40:01 Exception in thread Thread[MemtableFlushWriter:1,5,main]
> java.lang.AssertionError: null
>   at org.apache.cassandra.db.rows.Rows.collectStats(Rows.java:70) 
> ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.format.big.BigTableWriter$StatsCollector.applyToRow(BigTableWriter.java:197)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.transform.BaseRows.hasNext(BaseRows.java:116) 
> ~[main/:na]
>   at 
> org.apache.cassandra.db.transform.UnfilteredRows.isEmpty(UnfilteredRows.java:38)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.ColumnIndex.writeAndBuildIndex(ColumnIndex.java:49) 
> ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.format.big.BigTableWriter.append(BigTableWriter.java:149)
>  ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.SimpleSSTableMultiWriter.append(SimpleSSTableMultiWriter.java:45)
>  ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.SSTableTxnWriter.append(SSTableTxnWriter.java:52)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.Memtable$FlushRunnable.writeSortedContents(Memtable.java:389)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.Memtable$FlushRunnable.runMayThrow(Memtable.java:352) 
> ~[main/:na]
>   at 
> org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) 
> ~[main/:na]
>   at 
> com.google.common.util.concurrent.MoreExecutors$DirectExecutorService.execute(MoreExecutors.java:299)
>  ~[guava-18.0.jar:na]
>   at 
> org.apache.cassandra.db.ColumnFamilyStore$Flush.run(ColumnFamilyStore.java:1037)
>  ~[main/:na]
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  ~[na:1.8.0_45]
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  ~[na:1.8.0_45]
>   at java.lang.Thread.run(Thr

[jira] [Created] (CASSANDRA-10615) Large partition plus row cache causes JVM OutOfMemory Error

2015-10-28 Thread Michael Perrone (JIRA)
Michael Perrone created CASSANDRA-10615:
---

 Summary: Large partition plus row cache causes JVM OutOfMemory 
Error
 Key: CASSANDRA-10615
 URL: https://issues.apache.org/jira/browse/CASSANDRA-10615
 Project: Cassandra
  Issue Type: Bug
  Components: Core
 Environment: Cassandra 2.1.8.621
Reporter: Michael Perrone


Found on multiple nodes of cluster, restarting C* resulted in hung startup 
process, nodes never came up to Up Joining, but would hang until OOM. The 
work-around is to disable row cache. 

{qoute}
ERROR [SharedPool-Worker-22] 2015-10-27 17:22:52,753  
JVMStabilityInspector.java:94 - JVM state determined to be unstable.  Exiting 
forcefully due to:
java.lang.OutOfMemoryError: Java heap space
at 
org.apache.cassandra.io.util.RandomAccessReader.readBytes(RandomAccessReader.java:374)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.utils.ByteBufferUtil.read(ByteBufferUtil.java:348) 
~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.utils.ByteBufferUtil.readWithShortLength(ByteBufferUtil.java:327)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.db.composites.AbstractCType$Serializer.deserialize(AbstractCType.java:397)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.db.composites.AbstractCType$Serializer.deserialize(AbstractCType.java:381)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.db.OnDiskAtom$Serializer.deserializeFromSSTable(OnDiskAtom.java:75)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.db.AbstractCell$1.computeNext(AbstractCell.java:52) 
~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.db.AbstractCell$1.computeNext(AbstractCell.java:46) 
~[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.columniterator.SimpleSliceReader.computeNext(SimpleSliceReader.java:83)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.db.columniterator.SimpleSliceReader.computeNext(SimpleSliceReader.java:37)
 ~[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.columniterator.SSTableSliceIterator.hasNext(SSTableSliceIterator.java:82)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.db.filter.QueryFilter$2.getNext(QueryFilter.java:173) 
~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.db.filter.QueryFilter$2.hasNext(QueryFilter.java:156) 
~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.utils.MergeIterator$Candidate.advance(MergeIterator.java:146)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.utils.MergeIterator$ManyToOne.advance(MergeIterator.java:125)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.utils.MergeIterator$ManyToOne.computeNext(MergeIterator.java:99)
 ~[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.filter.QueryFilter.collateOnDiskAtom(QueryFilter.java:69)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.db.CollationController.collectAllData(CollationController.java:314)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.db.CollationController.getTopLevelColumns(CollationController.java:62)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.db.ColumnFamilyStore.getTopLevelColumns(ColumnFamilyStore.java:1967)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.service.CacheService$RowCacheSerializer$1.call(CacheService.java:456)
 ~[cassandra-all-2.1.8.621.jar:2.1.8.621]
at 
org.apache.cassandra.service.CacheService$RowCacheSerializer$1.call

[jira] [Updated] (CASSANDRA-10614) AssertionError while flushing memtables

2015-10-28 Thread Tyler Hobbs (JIRA)

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

Tyler Hobbs updated CASSANDRA-10614:

Reviewer: T Jake Luciani

> AssertionError while flushing memtables
> ---
>
> Key: CASSANDRA-10614
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10614
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core, Local Write-Read Paths
>Reporter: Tyler Hobbs
>Assignee: Tyler Hobbs
>Priority: Critical
> Fix For: 3.0.0
>
>
> While running mvbench against a single local node, I noticed this stacktrace 
> showing up multiple times in the logs:
> {noformat}
> ERROR 16:40:01 Exception in thread Thread[MemtableFlushWriter:1,5,main]
> java.lang.AssertionError: null
>   at org.apache.cassandra.db.rows.Rows.collectStats(Rows.java:70) 
> ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.format.big.BigTableWriter$StatsCollector.applyToRow(BigTableWriter.java:197)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.transform.BaseRows.hasNext(BaseRows.java:116) 
> ~[main/:na]
>   at 
> org.apache.cassandra.db.transform.UnfilteredRows.isEmpty(UnfilteredRows.java:38)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.ColumnIndex.writeAndBuildIndex(ColumnIndex.java:49) 
> ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.format.big.BigTableWriter.append(BigTableWriter.java:149)
>  ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.SimpleSSTableMultiWriter.append(SimpleSSTableMultiWriter.java:45)
>  ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.SSTableTxnWriter.append(SSTableTxnWriter.java:52)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.Memtable$FlushRunnable.writeSortedContents(Memtable.java:389)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.Memtable$FlushRunnable.runMayThrow(Memtable.java:352) 
> ~[main/:na]
>   at 
> org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) 
> ~[main/:na]
>   at 
> com.google.common.util.concurrent.MoreExecutors$DirectExecutorService.execute(MoreExecutors.java:299)
>  ~[guava-18.0.jar:na]
>   at 
> org.apache.cassandra.db.ColumnFamilyStore$Flush.run(ColumnFamilyStore.java:1037)
>  ~[main/:na]
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  ~[na:1.8.0_45]
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  ~[na:1.8.0_45]
>   at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_45]
> {noformat}
> To reproduce, run mvbench with the regular schema and the following arguments:
> {noformat}
> mvn exec:java -Dexec.args="--num-users 10 --num-songs 100 
> --num-artists 1 -n 50 --endpoint 127.0.0.1"
> {noformat}



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


[jira] [Commented] (CASSANDRA-10614) AssertionError while flushing memtables

2015-10-28 Thread Tyler Hobbs (JIRA)

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

Tyler Hobbs commented on CASSANDRA-10614:
-

The cause was a bad short-circuit of the check for whether an update affects a 
view.  If the view's PK only included columns from the base table's PK, empty 
rows could be inserted into the view when an update didn't affect any columns 
in the view.

This appears to also fix the performance regression spotted in CASSANDRA-10609. 
 [~aboudreault] can you verify that for me?

Patches and pending CI runs:
||branch||testall||dtest||
|[CASSANDRA-10614|https://github.com/thobbs/cassandra/tree/CASSANDRA-10614]|[testall|http://cassci.datastax.com/view/Dev/view/beobal/job/thobbs-CASSANDRA-10614-testall]|[dtest|http://cassci.datastax.com/view/Dev/view/beobal/job/thobbs-CASSANDRA-10614-dtest]|
|[CASSANDRA-10614-trunk|https://github.com/thobbs/cassandra/tree/CASSANDRA-10614-trunk]|[testall|http://cassci.datastax.com/view/Dev/view/beobal/job/thobbs-CASSANDRA-10614-trunk-testall]|[dtest|http://cassci.datastax.com/view/Dev/view/beobal/job/thobbs-CASSANDRA-10614-trunk-dtest]|


> AssertionError while flushing memtables
> ---
>
> Key: CASSANDRA-10614
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10614
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core, Local Write-Read Paths
>Reporter: Tyler Hobbs
>Assignee: Tyler Hobbs
>Priority: Critical
> Fix For: 3.0.0
>
>
> While running mvbench against a single local node, I noticed this stacktrace 
> showing up multiple times in the logs:
> {noformat}
> ERROR 16:40:01 Exception in thread Thread[MemtableFlushWriter:1,5,main]
> java.lang.AssertionError: null
>   at org.apache.cassandra.db.rows.Rows.collectStats(Rows.java:70) 
> ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.format.big.BigTableWriter$StatsCollector.applyToRow(BigTableWriter.java:197)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.transform.BaseRows.hasNext(BaseRows.java:116) 
> ~[main/:na]
>   at 
> org.apache.cassandra.db.transform.UnfilteredRows.isEmpty(UnfilteredRows.java:38)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.ColumnIndex.writeAndBuildIndex(ColumnIndex.java:49) 
> ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.format.big.BigTableWriter.append(BigTableWriter.java:149)
>  ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.SimpleSSTableMultiWriter.append(SimpleSSTableMultiWriter.java:45)
>  ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.SSTableTxnWriter.append(SSTableTxnWriter.java:52)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.Memtable$FlushRunnable.writeSortedContents(Memtable.java:389)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.Memtable$FlushRunnable.runMayThrow(Memtable.java:352) 
> ~[main/:na]
>   at 
> org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) 
> ~[main/:na]
>   at 
> com.google.common.util.concurrent.MoreExecutors$DirectExecutorService.execute(MoreExecutors.java:299)
>  ~[guava-18.0.jar:na]
>   at 
> org.apache.cassandra.db.ColumnFamilyStore$Flush.run(ColumnFamilyStore.java:1037)
>  ~[main/:na]
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  ~[na:1.8.0_45]
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  ~[na:1.8.0_45]
>   at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_45]
> {noformat}
> To reproduce, run mvbench with the regular schema and the following arguments:
> {noformat}
> mvn exec:java -Dexec.args="--num-users 10 --num-songs 100 
> --num-artists 1 -n 50 --endpoint 127.0.0.1"
> {noformat}



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


[jira] [Comment Edited] (CASSANDRA-10511) Index summary downsampling prevents mmap access of large files after restart

2015-10-28 Thread Ariel Weisberg (JIRA)

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

Ariel Weisberg edited comment on CASSANDRA-10511 at 10/28/15 7:47 PM:
--

Do we also need to fix this for files that have broken summaries already? --I 
am going to check, but I think that you don't any portion of the file mapped if 
the bounds aren't set correctly.-- I checked and you don't get any mappings at 
all if the boundaries are not saved.

|[2.2 
code|https://github.com/apache/cassandra/compare/apache:cassandra-2.2...aweisberg:CASSANDRA-10511-2.2?expand=1]|[utests|http://cassci.datastax.com/view/Dev/view/aweisberg/job/aweisberg-CASSANDRA-10511-2.2-testall/]|[dtests|http://cassci.datastax.com/view/Dev/view/aweisberg/job/aweisberg-CASSANDRA-10511-2.2-dtest/]|
|[2.1 
code|https://github.com/apache/cassandra/compare/apache:cassandra-2.1...aweisberg:CASSANDRA-10511-2.1?expand=1]|[utests|http://cassci.datastax.com/view/Dev/view/aweisberg/job/aweisberg-CASSANDRA-10511-2.1-testall/]|[dtests|http://cassci.datastax.com/view/Dev/view/aweisberg/job/aweisberg-CASSANDRA-10511-2.1-dtest/]|


was (Author: aweisberg):
Do we also need to fix this for files that have broken summaries already? I am 
going to check, but I think that you don't any portion of the file mapped if 
the bounds aren't set correctly.

|[2.2 
code|https://github.com/apache/cassandra/compare/apache:cassandra-2.2...aweisberg:CASSANDRA-10511-2.2?expand=1]|[utests|http://cassci.datastax.com/view/Dev/view/aweisberg/job/aweisberg-CASSANDRA-10511-2.2-testall/]|[dtests|http://cassci.datastax.com/view/Dev/view/aweisberg/job/aweisberg-CASSANDRA-10511-2.2-dtest/]|
|[2.1 
code|https://github.com/apache/cassandra/compare/apache:cassandra-2.1...aweisberg:CASSANDRA-10511-2.1?expand=1]|[utests|http://cassci.datastax.com/view/Dev/view/aweisberg/job/aweisberg-CASSANDRA-10511-2.1-testall/]|[dtests|http://cassci.datastax.com/view/Dev/view/aweisberg/job/aweisberg-CASSANDRA-10511-2.1-dtest/]|

> Index summary downsampling prevents mmap access of large files after restart
> 
>
> Key: CASSANDRA-10511
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10511
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Benedict
>Assignee: Ariel Weisberg
> Fix For: 2.1.x, 2.2.x, 3.1
>
>
> {{SSTableReader.cloneWithNewSummarySampleLevel}} constructs a 
> {{SegmentedFile.Builder}} but never populates it with any boundaries. For 
> files larger than 2Gb, this will result in their being accessed via buffered 
> io after a restart.



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


[jira] [Comment Edited] (CASSANDRA-10511) Index summary downsampling prevents mmap access of large files after restart

2015-10-28 Thread Ariel Weisberg (JIRA)

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

Ariel Weisberg edited comment on CASSANDRA-10511 at 10/28/15 7:38 PM:
--

Do we also need to fix this for files that have broken summaries already? I am 
going to check, but I think that you don't any portion of the file mapped if 
the bounds aren't set correctly.

|[2.2 
code|https://github.com/apache/cassandra/compare/apache:cassandra-2.2...aweisberg:CASSANDRA-10511-2.2?expand=1]|[utests|http://cassci.datastax.com/view/Dev/view/aweisberg/job/aweisberg-CASSANDRA-10511-2.2-testall/]|[dtests|http://cassci.datastax.com/view/Dev/view/aweisberg/job/aweisberg-CASSANDRA-10511-2.2-dtest/]|
|[2.1 
code|https://github.com/apache/cassandra/compare/apache:cassandra-2.1...aweisberg:CASSANDRA-10511-2.1?expand=1]|[utests|http://cassci.datastax.com/view/Dev/view/aweisberg/job/aweisberg-CASSANDRA-10511-2.1-testall/]|[dtests|http://cassci.datastax.com/view/Dev/view/aweisberg/job/aweisberg-CASSANDRA-10511-2.1-dtest/]|


was (Author: aweisberg):
Do we need to also fix this for files that have broken summaries already? I am 
going to check, but I think that you don't any portion of the file mapped if 
the bounds aren't set correctly.

|[2.2 
code|https://github.com/apache/cassandra/compare/apache:cassandra-2.2...aweisberg:CASSANDRA-10511-2.2?expand=1]|[utests|http://cassci.datastax.com/view/Dev/view/aweisberg/job/aweisberg-CASSANDRA-10511-2.2-testall/]|[dtests|http://cassci.datastax.com/view/Dev/view/aweisberg/job/aweisberg-CASSANDRA-10511-2.2-dtest/]|
|[2.1 
code|https://github.com/apache/cassandra/compare/apache:cassandra-2.1...aweisberg:CASSANDRA-10511-2.1?expand=1]|[utests|http://cassci.datastax.com/view/Dev/view/aweisberg/job/aweisberg-CASSANDRA-10511-2.1-testall/]|[dtests|http://cassci.datastax.com/view/Dev/view/aweisberg/job/aweisberg-CASSANDRA-10511-2.1-dtest/]|

> Index summary downsampling prevents mmap access of large files after restart
> 
>
> Key: CASSANDRA-10511
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10511
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Benedict
>Assignee: Ariel Weisberg
> Fix For: 2.1.x, 2.2.x, 3.1
>
>
> {{SSTableReader.cloneWithNewSummarySampleLevel}} constructs a 
> {{SegmentedFile.Builder}} but never populates it with any boundaries. For 
> files larger than 2Gb, this will result in their being accessed via buffered 
> io after a restart.



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


[jira] [Commented] (CASSANDRA-10511) Index summary downsampling prevents mmap access of large files after restart

2015-10-28 Thread Ariel Weisberg (JIRA)

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

Ariel Weisberg commented on CASSANDRA-10511:


Do we need to also fix this for files that have broken summaries already? I am 
going to check, but I think that you don't any portion of the file mapped if 
the bounds aren't set correctly.

|[2.2 
code|https://github.com/apache/cassandra/compare/apache:cassandra-2.2...aweisberg:CASSANDRA-10511-2.2?expand=1]|[utests|http://cassci.datastax.com/view/Dev/view/aweisberg/job/aweisberg-CASSANDRA-10511-2.2-testall/]|[dtests|http://cassci.datastax.com/view/Dev/view/aweisberg/job/aweisberg-CASSANDRA-10511-2.2-dtest/]|
|[2.1 
code|https://github.com/apache/cassandra/compare/apache:cassandra-2.1...aweisberg:CASSANDRA-10511-2.1?expand=1]|[utests|http://cassci.datastax.com/view/Dev/view/aweisberg/job/aweisberg-CASSANDRA-10511-2.1-testall/]|[dtests|http://cassci.datastax.com/view/Dev/view/aweisberg/job/aweisberg-CASSANDRA-10511-2.1-dtest/]|

> Index summary downsampling prevents mmap access of large files after restart
> 
>
> Key: CASSANDRA-10511
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10511
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Benedict
>Assignee: Ariel Weisberg
> Fix For: 2.1.x, 2.2.x, 3.1
>
>
> {{SSTableReader.cloneWithNewSummarySampleLevel}} constructs a 
> {{SegmentedFile.Builder}} but never populates it with any boundaries. For 
> files larger than 2Gb, this will result in their being accessed via buffered 
> io after a restart.



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


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

2015-10-28 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/0df49539
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/0df49539
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/0df49539

Branch: refs/heads/trunk
Commit: 0df49539fa64672341f86e876849764a41037e47
Parents: a88d3e8 4b47d71
Author: Robert Stupp 
Authored: Wed Oct 28 20:13:57 2015 +0100
Committer: Robert Stupp 
Committed: Wed Oct 28 20:13:57 2015 +0100

--
 CHANGES.txt |  1 +
 NEWS.txt|  4 
 conf/cassandra-env.sh   | 23 +---
 conf/cassandra.yaml | 13 ---
 .../org/apache/cassandra/config/Config.java |  3 ---
 5 files changed, 15 insertions(+), 29 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/0df49539/CHANGES.txt
--
diff --cc CHANGES.txt
index 114e2aa,3f2f493..dda3843
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,10 -1,5 +1,11 @@@
 +3.2
 + * Added graphing option to cassandra-stress (CASSANDRA-7918)
 + * Abort in-progress queries that time out (CASSANDRA-7392)
 + * Add transparent data encryption core classes (CASSANDRA-9945)
 +
 +
  3.0
+  * Remove memory_allocator paramter from cassandra.yaml (CASSANDRA-10581)
   * Execute the metadata reload task of all registered indexes on CFS::reload 
(CASSANDRA-10604)
   * Fix thrift cas operations with defined columns (CASSANDRA-10576)
   * Fix PartitionUpdate.operationCount()for updates with static column 
operations (CASSANDRA-10606)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/0df49539/src/java/org/apache/cassandra/config/Config.java
--



[1/3] cassandra git commit: Update cassandra.yaml comments to reflect memory_allocator deprecation, remove in 3.0

2015-10-28 Thread snazy
Repository: cassandra
Updated Branches:
  refs/heads/trunk a88d3e896 -> 0df49539f


Update cassandra.yaml comments to reflect memory_allocator deprecation, remove 
in 3.0

patch by Robert Stupp; reviewed by Jim Witschey for CASSANDRA-10581


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

Branch: refs/heads/trunk
Commit: 83fcc926eb6e5f8667f31dfec3605d7358e0cfd0
Parents: 734a3bf
Author: Robert Stupp 
Authored: Wed Oct 28 20:12:25 2015 +0100
Committer: Robert Stupp 
Committed: Wed Oct 28 20:12:25 2015 +0100

--
 CHANGES.txt |  1 +
 NEWS.txt|  3 +++
 conf/cassandra-env.sh   | 23 +---
 conf/cassandra.yaml | 13 ---
 .../cassandra/config/DatabaseDescriptor.java|  3 +++
 5 files changed, 17 insertions(+), 26 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/83fcc926/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index c4f606f..cc4a8bd 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.2.4
+ * Deprecate memory_allocator in cassandra.yaml (CASSANDRA-10581)
  * Expose phi values from failure detector via JMX and tweak debug
and trace logging (CASSANDRA-9526)
  * Fix RangeNamesQueryPager (CASSANDRA-10509)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/83fcc926/NEWS.txt
--
diff --git a/NEWS.txt b/NEWS.txt
index 94567d6..b67814a 100644
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -20,6 +20,9 @@ Deprecation
 ---
 - Pig support has been deprecated, and will be removed in 3.0.
   Please see CASSANDRA-10542 for more details.
+- Configuration parameter memory_allocator in cassandra.yaml has been 
deprecated
+  and will be removed in 3.0.0. As mentioned below for 2.2.0, jemalloc is
+  automatically preloaded on Unix platforms.
 
 Operations
 --

http://git-wip-us.apache.org/repos/asf/cassandra/blob/83fcc926/conf/cassandra-env.sh
--
diff --git a/conf/cassandra-env.sh b/conf/cassandra-env.sh
index ca5f17a..bb20964 100644
--- a/conf/cassandra-env.sh
+++ b/conf/cassandra-env.sh
@@ -189,20 +189,22 @@ case "`uname -s`" in
 dirs=`echo $dirs | tr " " ":"`
 CASSANDRA_LIBJEMALLOC=$(find_library '.*/libjemalloc\.so\(\.1\)*' 
$dirs)
 fi
-if [ ! -z $CASSANDRA_LIBJEMALLOC ] ; then
-if [ "-" != "$CASSANDRA_LIBJEMALLOC" ] ; then
-export LD_PRELOAD=$CASSANDRA_LIBJEMALLOC
-fi
+if [ ! -z $CASSANDRA_LIBJEMALLOC ] && [ "-" != 
"$CASSANDRA_LIBJEMALLOC" ] ; then
+echo "INFO preloading $CASSANDRA_LIBJEMALLOC"
+export LD_PRELOAD=$CASSANDRA_LIBJEMALLOC
+else
+echo "WARNING could not find libjemalloc.dylib, please install for 
better performance - search path: $dirs"
 fi
 ;;
 Darwin)
 if [ -z $CASSANDRA_LIBJEMALLOC ] ; then
 CASSANDRA_LIBJEMALLOC=$(find_library '.*/libjemalloc\.dylib' 
$DYLD_LIBRARY_PATH:${DYLD_FALLBACK_LIBRARY_PATH-$HOME/lib:/usr/local/lib:/lib:/usr/lib})
 fi
-if [ ! -z $CASSANDRA_LIBJEMALLOC ] ; then
-if [ "-" != "$CASSANDRA_LIBJEMALLOC" ] ; then
-export DYLD_INSERT_LIBRARIES=$CASSANDRA_LIBJEMALLOC
-fi
+if [ ! -z $CASSANDRA_LIBJEMALLOC ] && [ "-" != 
"$CASSANDRA_LIBJEMALLOC" ] ; then
+echo "INFO preloading $CASSANDRA_LIBJEMALLOC"
+export DYLD_INSERT_LIBRARIES=$CASSANDRA_LIBJEMALLOC
+else
+echo "WARNING could not find libjemalloc.dylib, please install for 
better performance - search path: 
$DYLD_LIBRARY_PATH:${DYLD_FALLBACK_LIBRARY_PATH-$HOME/lib:/usr/local/lib:/lib:/usr/lib}"
 fi
 ;;
 esac
@@ -295,11 +297,6 @@ fi
 # JVM_OPTS="$JVM_OPTS -XX:NumberOfGCLogFiles=10"
 # JVM_OPTS="$JVM_OPTS -XX:GCLogFileSize=10M"
 
-# Configure the following for JEMallocAllocator and if jemalloc is not 
available in the system 
-# library path (Example: /usr/local/lib/). Usually "make install" will do the 
right thing. 
-# export LD_LIBRARY_PATH=/lib/
-# JVM_OPTS="$JVM_OPTS -Djava.library.path=/lib/"
-
 # uncomment to have Cassandra JVM listen for remote debuggers/profilers on 
port 1414
 # JVM_OPTS="$JVM_OPTS 
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=1414"
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/83fcc926/conf/cassandra.yaml
--

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

2015-10-28 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/4b47d711
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/4b47d711
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/4b47d711

Branch: refs/heads/trunk
Commit: 4b47d711ec5dd8e9b31679c2810f57503077985a
Parents: 8210075 83fcc92
Author: Robert Stupp 
Authored: Wed Oct 28 20:13:49 2015 +0100
Committer: Robert Stupp 
Committed: Wed Oct 28 20:13:49 2015 +0100

--
 CHANGES.txt |  1 +
 NEWS.txt|  4 
 conf/cassandra-env.sh   | 23 +---
 conf/cassandra.yaml | 13 ---
 .../org/apache/cassandra/config/Config.java |  3 ---
 5 files changed, 15 insertions(+), 29 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/4b47d711/CHANGES.txt
--
diff --cc CHANGES.txt
index c945bd2,cc4a8bd..3f2f493
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,21 -1,10 +1,22 @@@
 -2.2.4
 - * Deprecate memory_allocator in cassandra.yaml (CASSANDRA-10581)
 +3.0
++ * Remove memory_allocator paramter from cassandra.yaml (CASSANDRA-10581)
 + * Execute the metadata reload task of all registered indexes on CFS::reload 
(CASSANDRA-10604)
 + * Fix thrift cas operations with defined columns (CASSANDRA-10576)
 + * Fix PartitionUpdate.operationCount()for updates with static column 
operations (CASSANDRA-10606)
 + * Fix thrift get() queries with defined columns (CASSANDRA-10586)
 + * Fix marking of indexes as built and removed (CASSANDRA-10601)
 + * Skip initialization of non-registered 2i instances, remove 
Index::getIndexName (CASSANDRA-10595)
 + * Fix batches on multiple tables (CASSANDRA-10554)
 + * Ensure compaction options are validated when updating KeyspaceMetadata 
(CASSANDRA-10569)
 + * Flatten Iterator Transformation Hierarchy (CASSANDRA-9975)
 + * Remove token generator (CASSANDRA-5261)
 + * RolesCache should not be created for any authenticator that does not 
requireAuthentication (CASSANDRA-10562)
 + * Fix LogTransaction checking only a single directory for files 
(CASSANDRA-10421)
 + * Fix handling of range tombstones when reading old format sstables 
(CASSANDRA-10360)
 + * Aggregate with Initial Condition fails with C* 3.0 (CASSANDRA-10367)
 +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:
   * Support encrypted and plain traffic on the same port (CASSANDRA-10559)
   * Do STCS in DTCS windows (CASSANDRA-10276)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/4b47d711/NEWS.txt
--
diff --cc NEWS.txt
index dd20970,b67814a..aa19fcb
--- a/NEWS.txt
+++ b/NEWS.txt
@@@ -13,110 -13,6 +13,111 @@@ restore snapshots created with the prev
  'sstableloader' tool. You can upgrade the file format of your snapshots
  using the provided 'sstableupgrade' tool.
  
 +3.0
 +===
 +
 +New features
 +
 +   - EACH_QUORUM is now a supported consistency level for read requests.
 +   - Support for IN restrictions on any partition key component or clustering 
key
 + as well as support for EQ and IN multicolumn restrictions has been added 
to
 + UPDATE and DELETE statement.
 +   - Support for single-column and multi-colum slice restrictions (>, >=, <= 
and <)
 + has been added to DELETE statements
 +   - nodetool rebuild_index accepts the index argument without
 + the redundant table name
 +   - Materialized Views, which allow for server-side denormalization, is now
 + available. Materialized views provide an alternative to secondary indexes
 + for non-primary key queries, and perform much better for indexing high
 + cardinality columns.
 + See 
http://www.datastax.com/dev/blog/new-in-cassandra-3-0-materialized-views
 +   - Hinted handoff has been completely rewritten. Hints are now stored in 
flat
 + files, with less overhead for storage and more efficient dispatch.
 + See CASSANDRA-6230 for full details.
 +   - Option to not purge unrepaired tombstones. To avoid users having data 
resurrected
 + if repair has not been run within gc_grace_seconds, an option has been 
added to
 + only allow tombstones from repaired sstables to be purged. To enable, 
set the
 + compaction option 'only_purge_repaired_tombstones':true but keep in mind 
that if
 + you do not run repair for a long time, you will keep all tombston

[1/2] cassandra git commit: Update cassandra.yaml comments to reflect memory_allocator deprecation, remove in 3.0

2015-10-28 Thread snazy
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-3.0 8210075c5 -> 4b47d711e


Update cassandra.yaml comments to reflect memory_allocator deprecation, remove 
in 3.0

patch by Robert Stupp; reviewed by Jim Witschey for CASSANDRA-10581


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

Branch: refs/heads/cassandra-3.0
Commit: 83fcc926eb6e5f8667f31dfec3605d7358e0cfd0
Parents: 734a3bf
Author: Robert Stupp 
Authored: Wed Oct 28 20:12:25 2015 +0100
Committer: Robert Stupp 
Committed: Wed Oct 28 20:12:25 2015 +0100

--
 CHANGES.txt |  1 +
 NEWS.txt|  3 +++
 conf/cassandra-env.sh   | 23 +---
 conf/cassandra.yaml | 13 ---
 .../cassandra/config/DatabaseDescriptor.java|  3 +++
 5 files changed, 17 insertions(+), 26 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/83fcc926/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index c4f606f..cc4a8bd 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.2.4
+ * Deprecate memory_allocator in cassandra.yaml (CASSANDRA-10581)
  * Expose phi values from failure detector via JMX and tweak debug
and trace logging (CASSANDRA-9526)
  * Fix RangeNamesQueryPager (CASSANDRA-10509)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/83fcc926/NEWS.txt
--
diff --git a/NEWS.txt b/NEWS.txt
index 94567d6..b67814a 100644
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -20,6 +20,9 @@ Deprecation
 ---
 - Pig support has been deprecated, and will be removed in 3.0.
   Please see CASSANDRA-10542 for more details.
+- Configuration parameter memory_allocator in cassandra.yaml has been 
deprecated
+  and will be removed in 3.0.0. As mentioned below for 2.2.0, jemalloc is
+  automatically preloaded on Unix platforms.
 
 Operations
 --

http://git-wip-us.apache.org/repos/asf/cassandra/blob/83fcc926/conf/cassandra-env.sh
--
diff --git a/conf/cassandra-env.sh b/conf/cassandra-env.sh
index ca5f17a..bb20964 100644
--- a/conf/cassandra-env.sh
+++ b/conf/cassandra-env.sh
@@ -189,20 +189,22 @@ case "`uname -s`" in
 dirs=`echo $dirs | tr " " ":"`
 CASSANDRA_LIBJEMALLOC=$(find_library '.*/libjemalloc\.so\(\.1\)*' 
$dirs)
 fi
-if [ ! -z $CASSANDRA_LIBJEMALLOC ] ; then
-if [ "-" != "$CASSANDRA_LIBJEMALLOC" ] ; then
-export LD_PRELOAD=$CASSANDRA_LIBJEMALLOC
-fi
+if [ ! -z $CASSANDRA_LIBJEMALLOC ] && [ "-" != 
"$CASSANDRA_LIBJEMALLOC" ] ; then
+echo "INFO preloading $CASSANDRA_LIBJEMALLOC"
+export LD_PRELOAD=$CASSANDRA_LIBJEMALLOC
+else
+echo "WARNING could not find libjemalloc.dylib, please install for 
better performance - search path: $dirs"
 fi
 ;;
 Darwin)
 if [ -z $CASSANDRA_LIBJEMALLOC ] ; then
 CASSANDRA_LIBJEMALLOC=$(find_library '.*/libjemalloc\.dylib' 
$DYLD_LIBRARY_PATH:${DYLD_FALLBACK_LIBRARY_PATH-$HOME/lib:/usr/local/lib:/lib:/usr/lib})
 fi
-if [ ! -z $CASSANDRA_LIBJEMALLOC ] ; then
-if [ "-" != "$CASSANDRA_LIBJEMALLOC" ] ; then
-export DYLD_INSERT_LIBRARIES=$CASSANDRA_LIBJEMALLOC
-fi
+if [ ! -z $CASSANDRA_LIBJEMALLOC ] && [ "-" != 
"$CASSANDRA_LIBJEMALLOC" ] ; then
+echo "INFO preloading $CASSANDRA_LIBJEMALLOC"
+export DYLD_INSERT_LIBRARIES=$CASSANDRA_LIBJEMALLOC
+else
+echo "WARNING could not find libjemalloc.dylib, please install for 
better performance - search path: 
$DYLD_LIBRARY_PATH:${DYLD_FALLBACK_LIBRARY_PATH-$HOME/lib:/usr/local/lib:/lib:/usr/lib}"
 fi
 ;;
 esac
@@ -295,11 +297,6 @@ fi
 # JVM_OPTS="$JVM_OPTS -XX:NumberOfGCLogFiles=10"
 # JVM_OPTS="$JVM_OPTS -XX:GCLogFileSize=10M"
 
-# Configure the following for JEMallocAllocator and if jemalloc is not 
available in the system 
-# library path (Example: /usr/local/lib/). Usually "make install" will do the 
right thing. 
-# export LD_LIBRARY_PATH=/lib/
-# JVM_OPTS="$JVM_OPTS -Djava.library.path=/lib/"
-
 # uncomment to have Cassandra JVM listen for remote debuggers/profilers on 
port 1414
 # JVM_OPTS="$JVM_OPTS 
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=1414"
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/83fcc926/conf/cassandra.yaml
--

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

2015-10-28 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/4b47d711
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/4b47d711
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/4b47d711

Branch: refs/heads/cassandra-3.0
Commit: 4b47d711ec5dd8e9b31679c2810f57503077985a
Parents: 8210075 83fcc92
Author: Robert Stupp 
Authored: Wed Oct 28 20:13:49 2015 +0100
Committer: Robert Stupp 
Committed: Wed Oct 28 20:13:49 2015 +0100

--
 CHANGES.txt |  1 +
 NEWS.txt|  4 
 conf/cassandra-env.sh   | 23 +---
 conf/cassandra.yaml | 13 ---
 .../org/apache/cassandra/config/Config.java |  3 ---
 5 files changed, 15 insertions(+), 29 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/4b47d711/CHANGES.txt
--
diff --cc CHANGES.txt
index c945bd2,cc4a8bd..3f2f493
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,21 -1,10 +1,22 @@@
 -2.2.4
 - * Deprecate memory_allocator in cassandra.yaml (CASSANDRA-10581)
 +3.0
++ * Remove memory_allocator paramter from cassandra.yaml (CASSANDRA-10581)
 + * Execute the metadata reload task of all registered indexes on CFS::reload 
(CASSANDRA-10604)
 + * Fix thrift cas operations with defined columns (CASSANDRA-10576)
 + * Fix PartitionUpdate.operationCount()for updates with static column 
operations (CASSANDRA-10606)
 + * Fix thrift get() queries with defined columns (CASSANDRA-10586)
 + * Fix marking of indexes as built and removed (CASSANDRA-10601)
 + * Skip initialization of non-registered 2i instances, remove 
Index::getIndexName (CASSANDRA-10595)
 + * Fix batches on multiple tables (CASSANDRA-10554)
 + * Ensure compaction options are validated when updating KeyspaceMetadata 
(CASSANDRA-10569)
 + * Flatten Iterator Transformation Hierarchy (CASSANDRA-9975)
 + * Remove token generator (CASSANDRA-5261)
 + * RolesCache should not be created for any authenticator that does not 
requireAuthentication (CASSANDRA-10562)
 + * Fix LogTransaction checking only a single directory for files 
(CASSANDRA-10421)
 + * Fix handling of range tombstones when reading old format sstables 
(CASSANDRA-10360)
 + * Aggregate with Initial Condition fails with C* 3.0 (CASSANDRA-10367)
 +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:
   * Support encrypted and plain traffic on the same port (CASSANDRA-10559)
   * Do STCS in DTCS windows (CASSANDRA-10276)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/4b47d711/NEWS.txt
--
diff --cc NEWS.txt
index dd20970,b67814a..aa19fcb
--- a/NEWS.txt
+++ b/NEWS.txt
@@@ -13,110 -13,6 +13,111 @@@ restore snapshots created with the prev
  'sstableloader' tool. You can upgrade the file format of your snapshots
  using the provided 'sstableupgrade' tool.
  
 +3.0
 +===
 +
 +New features
 +
 +   - EACH_QUORUM is now a supported consistency level for read requests.
 +   - Support for IN restrictions on any partition key component or clustering 
key
 + as well as support for EQ and IN multicolumn restrictions has been added 
to
 + UPDATE and DELETE statement.
 +   - Support for single-column and multi-colum slice restrictions (>, >=, <= 
and <)
 + has been added to DELETE statements
 +   - nodetool rebuild_index accepts the index argument without
 + the redundant table name
 +   - Materialized Views, which allow for server-side denormalization, is now
 + available. Materialized views provide an alternative to secondary indexes
 + for non-primary key queries, and perform much better for indexing high
 + cardinality columns.
 + See 
http://www.datastax.com/dev/blog/new-in-cassandra-3-0-materialized-views
 +   - Hinted handoff has been completely rewritten. Hints are now stored in 
flat
 + files, with less overhead for storage and more efficient dispatch.
 + See CASSANDRA-6230 for full details.
 +   - Option to not purge unrepaired tombstones. To avoid users having data 
resurrected
 + if repair has not been run within gc_grace_seconds, an option has been 
added to
 + only allow tombstones from repaired sstables to be purged. To enable, 
set the
 + compaction option 'only_purge_repaired_tombstones':true but keep in mind 
that if
 + you do not run repair for a long time, you will keep all 

cassandra git commit: Update cassandra.yaml comments to reflect memory_allocator deprecation, remove in 3.0

2015-10-28 Thread snazy
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.2 734a3bfa7 -> 83fcc926e


Update cassandra.yaml comments to reflect memory_allocator deprecation, remove 
in 3.0

patch by Robert Stupp; reviewed by Jim Witschey for CASSANDRA-10581


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

Branch: refs/heads/cassandra-2.2
Commit: 83fcc926eb6e5f8667f31dfec3605d7358e0cfd0
Parents: 734a3bf
Author: Robert Stupp 
Authored: Wed Oct 28 20:12:25 2015 +0100
Committer: Robert Stupp 
Committed: Wed Oct 28 20:12:25 2015 +0100

--
 CHANGES.txt |  1 +
 NEWS.txt|  3 +++
 conf/cassandra-env.sh   | 23 +---
 conf/cassandra.yaml | 13 ---
 .../cassandra/config/DatabaseDescriptor.java|  3 +++
 5 files changed, 17 insertions(+), 26 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/83fcc926/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index c4f606f..cc4a8bd 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.2.4
+ * Deprecate memory_allocator in cassandra.yaml (CASSANDRA-10581)
  * Expose phi values from failure detector via JMX and tweak debug
and trace logging (CASSANDRA-9526)
  * Fix RangeNamesQueryPager (CASSANDRA-10509)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/83fcc926/NEWS.txt
--
diff --git a/NEWS.txt b/NEWS.txt
index 94567d6..b67814a 100644
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -20,6 +20,9 @@ Deprecation
 ---
 - Pig support has been deprecated, and will be removed in 3.0.
   Please see CASSANDRA-10542 for more details.
+- Configuration parameter memory_allocator in cassandra.yaml has been 
deprecated
+  and will be removed in 3.0.0. As mentioned below for 2.2.0, jemalloc is
+  automatically preloaded on Unix platforms.
 
 Operations
 --

http://git-wip-us.apache.org/repos/asf/cassandra/blob/83fcc926/conf/cassandra-env.sh
--
diff --git a/conf/cassandra-env.sh b/conf/cassandra-env.sh
index ca5f17a..bb20964 100644
--- a/conf/cassandra-env.sh
+++ b/conf/cassandra-env.sh
@@ -189,20 +189,22 @@ case "`uname -s`" in
 dirs=`echo $dirs | tr " " ":"`
 CASSANDRA_LIBJEMALLOC=$(find_library '.*/libjemalloc\.so\(\.1\)*' 
$dirs)
 fi
-if [ ! -z $CASSANDRA_LIBJEMALLOC ] ; then
-if [ "-" != "$CASSANDRA_LIBJEMALLOC" ] ; then
-export LD_PRELOAD=$CASSANDRA_LIBJEMALLOC
-fi
+if [ ! -z $CASSANDRA_LIBJEMALLOC ] && [ "-" != 
"$CASSANDRA_LIBJEMALLOC" ] ; then
+echo "INFO preloading $CASSANDRA_LIBJEMALLOC"
+export LD_PRELOAD=$CASSANDRA_LIBJEMALLOC
+else
+echo "WARNING could not find libjemalloc.dylib, please install for 
better performance - search path: $dirs"
 fi
 ;;
 Darwin)
 if [ -z $CASSANDRA_LIBJEMALLOC ] ; then
 CASSANDRA_LIBJEMALLOC=$(find_library '.*/libjemalloc\.dylib' 
$DYLD_LIBRARY_PATH:${DYLD_FALLBACK_LIBRARY_PATH-$HOME/lib:/usr/local/lib:/lib:/usr/lib})
 fi
-if [ ! -z $CASSANDRA_LIBJEMALLOC ] ; then
-if [ "-" != "$CASSANDRA_LIBJEMALLOC" ] ; then
-export DYLD_INSERT_LIBRARIES=$CASSANDRA_LIBJEMALLOC
-fi
+if [ ! -z $CASSANDRA_LIBJEMALLOC ] && [ "-" != 
"$CASSANDRA_LIBJEMALLOC" ] ; then
+echo "INFO preloading $CASSANDRA_LIBJEMALLOC"
+export DYLD_INSERT_LIBRARIES=$CASSANDRA_LIBJEMALLOC
+else
+echo "WARNING could not find libjemalloc.dylib, please install for 
better performance - search path: 
$DYLD_LIBRARY_PATH:${DYLD_FALLBACK_LIBRARY_PATH-$HOME/lib:/usr/local/lib:/lib:/usr/lib}"
 fi
 ;;
 esac
@@ -295,11 +297,6 @@ fi
 # JVM_OPTS="$JVM_OPTS -XX:NumberOfGCLogFiles=10"
 # JVM_OPTS="$JVM_OPTS -XX:GCLogFileSize=10M"
 
-# Configure the following for JEMallocAllocator and if jemalloc is not 
available in the system 
-# library path (Example: /usr/local/lib/). Usually "make install" will do the 
right thing. 
-# export LD_LIBRARY_PATH=/lib/
-# JVM_OPTS="$JVM_OPTS -Djava.library.path=/lib/"
-
 # uncomment to have Cassandra JVM listen for remote debuggers/profilers on 
port 1414
 # JVM_OPTS="$JVM_OPTS 
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=1414"
 

http://git-wip-us.apache.org/repos/asf/cassandra/blob/83fcc926/conf/cassandra.yaml
--

[jira] [Assigned] (CASSANDRA-10512) We do not save an upsampled index summaries

2015-10-28 Thread Ariel Weisberg (JIRA)

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

Ariel Weisberg reassigned CASSANDRA-10512:
--

Assignee: Ariel Weisberg

> We do not save an upsampled index summaries
> ---
>
> Key: CASSANDRA-10512
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10512
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Benedict
>Assignee: Ariel Weisberg
> Fix For: 2.1.x, 2.2.x, 3.1
>
>
> If we downsample an index summary, we overwrite the existing summary, despite 
> downsampling being inexpensive. However on upsampling (which is expensive) we 
> do not, so that on restart all of our index summaries are the smallest they 
> have ever been adjusted to.



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


[jira] [Commented] (CASSANDRA-10581) Update cassandra.yaml comments to reflect memory_allocator deprecation, remove in 3.0

2015-10-28 Thread Jim Witschey (JIRA)

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

Jim Witschey commented on CASSANDRA-10581:
--

Yep, that's about what I had in mind, if that's the best visibility we can get. 
I'm +1.

> Update cassandra.yaml comments to reflect memory_allocator deprecation, 
> remove in 3.0
> -
>
> Key: CASSANDRA-10581
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10581
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Jim Witschey
>Assignee: Robert Stupp
> Fix For: 2.2.x, 3.0.0
>
>
> Looks like in 2.2+ changing the {{memory_allocator}} field in cassandra.yaml 
> has no effect:
> https://github.com/apache/cassandra/commit/0d2ec11c7e0abfb84d872289af6d3ac386cf381f#diff-b66584c9ce7b64019b5db5a531deeda1R207
> The instructions in comments on how to use jemalloc haven't been updated to 
> reflect this change. [~snazy], is that an accurate assessment?
> [~iamaleksey] How do we want to handle the deprecation more generally? Warn 
> on 2.2, remove in 3.0?
> EDIT: I described this in a way that isn't very clear to those unfamiliar 
> with Robert's change. To be clear: You can still use JEMAlloc with Cassandra. 
> The {{memory_allocator}} option was deprecated in favor of automatically 
> detecting if JEMAlloc is installed, and, if so, using it. 



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


[jira] [Commented] (CASSANDRA-10581) Update cassandra.yaml comments to reflect memory_allocator deprecation, remove in 3.0

2015-10-28 Thread Robert Stupp (JIRA)

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

Robert Stupp commented on CASSANDRA-10581:
--

Yes, it's difficult to include a check whether jemalloc is actually used. The 
startup code in {{cassandra-env.sh}} preloads the library, which effectively 
"links" jemalloc between the java runtime and OS {{malloc}}/{{free}} - i.e. 
it's basically "invisible" whether jemalloc is used or not.

I've pushed commits for 2.2 + 3.0 with some logging to {{cassandra-env.sh}} 
where preloading happens. Is this what you think of?

> Update cassandra.yaml comments to reflect memory_allocator deprecation, 
> remove in 3.0
> -
>
> Key: CASSANDRA-10581
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10581
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Jim Witschey
>Assignee: Robert Stupp
> Fix For: 2.2.x, 3.0.0
>
>
> Looks like in 2.2+ changing the {{memory_allocator}} field in cassandra.yaml 
> has no effect:
> https://github.com/apache/cassandra/commit/0d2ec11c7e0abfb84d872289af6d3ac386cf381f#diff-b66584c9ce7b64019b5db5a531deeda1R207
> The instructions in comments on how to use jemalloc haven't been updated to 
> reflect this change. [~snazy], is that an accurate assessment?
> [~iamaleksey] How do we want to handle the deprecation more generally? Warn 
> on 2.2, remove in 3.0?
> EDIT: I described this in a way that isn't very clear to those unfamiliar 
> with Robert's change. To be clear: You can still use JEMAlloc with Cassandra. 
> The {{memory_allocator}} option was deprecated in favor of automatically 
> detecting if JEMAlloc is installed, and, if so, using it. 



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


[jira] [Commented] (CASSANDRA-10608) Adding a dynamic column to a compact storage table with the same name as the partition key causes a memtable flush deadlock

2015-10-28 Thread T Jake Luciani (JIRA)

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

T Jake Luciani commented on CASSANDRA-10608:


The change itself looks fine.  Do you have a dtest/utest run on cassci you can 
link?

> Adding a dynamic column to a compact storage table with the same name as the 
> partition key causes a memtable flush deadlock
> ---
>
> Key: CASSANDRA-10608
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10608
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Mike Adamson
>Assignee: Mike Adamson
>Priority: Minor
> Fix For: 3.0.0
>
> Attachments: 10608.txt
>
>
> The reproduction steps for this are as follows: 
> # Create the following schema:
> {noformat}
> CREATE KEYSPACE ks WITH replication = { 'class': 'SimpleStrategy', 
> 'replication_factor': '1'};
> CREATE TABLE ks.cf (k int, v int, PRIMARY KEY(k)) WITH COMPACT STORAGE;
> {noformat}
> # Using the thrift client execute the following:
> {noformat}
> Column column = new Column(ByteBufferUtil.bytes("k"));
> column.setValue(ByteBufferUtil.bytes(1));
> column.setTimestamp(1);
> client.insert(key, new ColumnParent(compactCf), column, 
> ConsistencyLevel.ONE);
> {noformat}
> This causes an invalid {{PartitionUpdate}} to be added to {{Memtable}} 
> containing a {{PartitionColumns}} containing the partition key 
> {{ColumnDefinition}}.
> This happens because {{LegacyLayout.decodeCellName}} does not check whether 
> the {{ColumnDefinition}} is a partition key 



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


[jira] [Resolved] (CASSANDRA-10517) Make sure all unit tests run on CassCI

2015-10-28 Thread Joel Knighton (JIRA)

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

Joel Knighton resolved CASSANDRA-10517.
---
Resolution: Won't Fix

> Make sure all unit tests run on CassCI
> --
>
> Key: CASSANDRA-10517
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10517
> Project: Cassandra
>  Issue Type: Sub-task
>Reporter: Jim Witschey
>Assignee: Joel Knighton
>  Labels: triage
> Fix For: 3.0.0
>
>
> It seems that some Windows unit tests aren't run sometimes on CassCI, and 
> there's no error reporting for this. For instance, this test was introduced 
> around the time build #38 would have happened, but has only run in builds 
> #50-3 and #64:
> http://cassci.datastax.com/view/cassandra-3.0/job/cassandra-3.0_utest_win32/lastCompletedBuild/testReport/org.apache.cassandra.cql3/ViewTest/testPrimaryKeyIsNotNull/history/



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


[jira] [Commented] (CASSANDRA-8927) Mark libjna-java + libjna-jni as incompatible in debian package

2015-10-28 Thread Robert Stupp (JIRA)

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

Robert Stupp commented on CASSANDRA-8927:
-

ping [~mshuler]

> Mark libjna-java + libjna-jni as incompatible in debian package
> ---
>
> Key: CASSANDRA-8927
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8927
> Project: Cassandra
>  Issue Type: Bug
>  Components: Packaging
> Environment: Debian
>Reporter: Robert Stupp
>Assignee: Michael Shuler
> Fix For: 2.1.x
>
>
> Current Debian (Wheezy) might bring {{libjna-java}} in version 3.2.7-4, which 
> has incompatible {{libjnadispatch.so}} because since C* 2.1 we use JNA 4.0.0 
> (the native stuff changed):
> jna.jar includes all binaries for all supported platforms - so there's no 
> need for libjna installed separately.
> Since CASSANDRA-8714 has been committed, the incompatibility manifests in 
> {{java.lang.NoClassDefFoundError: Could not initialize class 
> com.sun.jna.Native}} (which is caused by outdated libjna-java installed via 
> apt).
> Note: Debian jessie adds new package {{libjna-jni}} (4.1.0-1) in addition to 
> {{libjna-java}} (4.1.0-1) - both contain the {{libjnidispatch.so}}. Although 
> these seem to work, we might hit the same issue when there's a need to 
> upgrade JNA to 4.2.x sometime.



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


[jira] [Commented] (CASSANDRA-4782) Commitlog not replayed after restart

2015-10-28 Thread Robert Coli (JIRA)

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

Robert Coli commented on CASSANDRA-4782:


[~htoulan] :

1) JIRA is not a support forum, generally. You would get a better response from 
the #cassandra IRC channel on freenode or the cassandra-user@ mailing list.

2) Cassandra 1.1.0 is an extremely old and extremely broken version. You should 
update to at least the final released version of the 1.1 line. Much better 
would be (first 1.2.x and then) at least the most recent 2.0.x version.

3) No commit log replay bug, including this one, should be capable of losing 
data if you write with a sufficient ConsistencyLevel and Replication Factor and 
repair regularly.

> Commitlog not replayed after restart
> 
>
> Key: CASSANDRA-4782
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4782
> Project: Cassandra
>  Issue Type: Bug
>Affects Versions: 1.1.0
>Reporter: Fabien Rousseau
>Assignee: Jonathan Ellis
>Priority: Critical
> Fix For: 1.1.6
>
> Attachments: 4782.txt
>
>
> It seems that there are two corner cases where commitlog is not replayed 
> after a restart :
>  - After a reboot of a server + restart of cassandra (1.1.0 to 1.1.4)
>  - After doing an upgrade from cassandra 1.1.X to cassandra 1.1.5
> This is due to the fact that the commitlog segment id should always be an  
> incrementing number (see this condition : 
> https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java#L247
>  )
> But this assertion can be broken :
> In the first case, it is generated by System.nanoTime() but it seems that 
> System.nanoTime() is using the boot time as the base/reference (at least on 
> java6 & linux), thus after a reboot, System.nanoTime() can return a lower 
> number than before the reboot (and the javadoc says the reference is a 
> relative point in time...)
> In the second case, this was introduced by #4601 (which changes 
> System.nanoTime() by System.currentTimeMillis() thus people starting with 
> 1.1.5 are safe)
> This could explain the following tickets : #4741 and #4481



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


[1/3] cassandra git commit: On CFS::reload, execute the reload task for each secondary index

2015-10-28 Thread samt
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-3.0 5034f4495 -> 8210075c5
  refs/heads/trunk 74ee6684c -> a88d3e896


On CFS::reload, execute the reload task for each secondary index

Patch by Sam Tunnicliffe; reviewed by Tyler Hobbs for CASSANDRA-10604


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

Branch: refs/heads/cassandra-3.0
Commit: 8210075c57af696e78000e8cd0019737b2373875
Parents: 5034f44
Author: Sam Tunnicliffe 
Authored: Wed Oct 28 13:16:15 2015 +
Committer: Sam Tunnicliffe 
Committed: Wed Oct 28 17:23:57 2015 +

--
 CHANGES.txt |  1 +
 src/java/org/apache/cassandra/index/Index.java  | 11 ++
 .../cassandra/index/SecondaryIndexManager.java  | 16 +++-
 .../index/internal/CassandraIndex.java  |  1 -
 .../apache/cassandra/index/CustomIndexTest.java | 40 
 .../index/internal/CassandraIndexTest.java  |  9 +
 6 files changed, 66 insertions(+), 12 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/8210075c/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 4ead854..c945bd2 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.0
+ * Execute the metadata reload task of all registered indexes on CFS::reload 
(CASSANDRA-10604)
  * Fix thrift cas operations with defined columns (CASSANDRA-10576)
  * Fix PartitionUpdate.operationCount()for updates with static column 
operations (CASSANDRA-10606)
  * Fix thrift get() queries with defined columns (CASSANDRA-10586)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/8210075c/src/java/org/apache/cassandra/index/Index.java
--
diff --git a/src/java/org/apache/cassandra/index/Index.java 
b/src/java/org/apache/cassandra/index/Index.java
index 0f4ecbd..b6c12a9 100644
--- a/src/java/org/apache/cassandra/index/Index.java
+++ b/src/java/org/apache/cassandra/index/Index.java
@@ -296,9 +296,20 @@ public interface Index
  * Listener for processing events emitted during a single partition update.
  * Instances of this are responsible for applying modifications to the 
index in response to a single update
  * operation on a particular partition of the base table.
+ *
  * That update may be generated by the normal write path, by iterating 
SSTables during streaming operations or when
  * building or rebuilding an index from source. Updates also occur during 
compaction when multiple versions of a
  * source partition from different SSTables are merged.
+ *
+ * Implementations should not make assumptions about resolution or 
filtering of the partition update being
+ * processed. That is to say that it is possible for an Indexer instance 
to receive notification of a
+ * PartitionDelete or RangeTombstones which shadow a Row it then receives 
via insertRow/updateRow.
+ *
+ * It is important to note that the only ordering guarantee made for the 
methods here is that the first call will
+ * be to begin() and the last call to finish(). The other methods may be 
called to process update events in any
+ * order. This can also include duplicate calls, in cases where a memtable 
partition is under contention from
+ * several updates. In that scenario, the same set of events may be 
delivered to the Indexer as memtable update
+ * which failed due to contention is re-applied.
  */
 public interface Indexer
 {

http://git-wip-us.apache.org/repos/asf/cassandra/blob/8210075c/src/java/org/apache/cassandra/index/SecondaryIndexManager.java
--
diff --git a/src/java/org/apache/cassandra/index/SecondaryIndexManager.java 
b/src/java/org/apache/cassandra/index/SecondaryIndexManager.java
index 3ed9714..92b04fe 100644
--- a/src/java/org/apache/cassandra/index/SecondaryIndexManager.java
+++ b/src/java/org/apache/cassandra/index/SecondaryIndexManager.java
@@ -142,17 +142,11 @@ public class SecondaryIndexManager implements 
IndexRegistry
 
 private Future reloadIndex(IndexMetadata indexDef)
 {
-// if the index metadata has changed, reload the index
-IndexMetadata registered = 
indexes.get(indexDef.name).getIndexMetadata();
-if (!registered.equals(indexDef))
-{
-Index index = indexes.remove(registered.name);
-index.register(this);
-return 
blockingExecutor.submit(index.getMetadataReloadTask(indexDef));
-}
-
-// otherwise, nothing to do

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

2015-10-28 Thread samt
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/a88d3e89
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/a88d3e89
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/a88d3e89

Branch: refs/heads/trunk
Commit: a88d3e89628df6fb9e6ff3332c546d92168284f1
Parents: 74ee668 8210075
Author: Sam Tunnicliffe 
Authored: Wed Oct 28 17:26:43 2015 +
Committer: Sam Tunnicliffe 
Committed: Wed Oct 28 17:26:43 2015 +

--
 CHANGES.txt |  1 +
 src/java/org/apache/cassandra/index/Index.java  | 11 ++
 .../cassandra/index/SecondaryIndexManager.java  | 16 +++-
 .../index/internal/CassandraIndex.java  |  1 -
 .../apache/cassandra/index/CustomIndexTest.java | 40 
 .../index/internal/CassandraIndexTest.java  |  9 +
 6 files changed, 66 insertions(+), 12 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/a88d3e89/CHANGES.txt
--
diff --cc CHANGES.txt
index 1b6ede7,c945bd2..114e2aa
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,10 -1,5 +1,11 @@@
 +3.2
 + * Added graphing option to cassandra-stress (CASSANDRA-7918)
 + * Abort in-progress queries that time out (CASSANDRA-7392)
 + * Add transparent data encryption core classes (CASSANDRA-9945)
 +
 +
  3.0
+  * Execute the metadata reload task of all registered indexes on CFS::reload 
(CASSANDRA-10604)
   * Fix thrift cas operations with defined columns (CASSANDRA-10576)
   * Fix PartitionUpdate.operationCount()for updates with static column 
operations (CASSANDRA-10606)
   * Fix thrift get() queries with defined columns (CASSANDRA-10586)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/a88d3e89/src/java/org/apache/cassandra/index/Index.java
--

http://git-wip-us.apache.org/repos/asf/cassandra/blob/a88d3e89/test/unit/org/apache/cassandra/index/internal/CassandraIndexTest.java
--



[2/3] cassandra git commit: On CFS::reload, execute the reload task for each secondary index

2015-10-28 Thread samt
On CFS::reload, execute the reload task for each secondary index

Patch by Sam Tunnicliffe; reviewed by Tyler Hobbs for CASSANDRA-10604


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

Branch: refs/heads/trunk
Commit: 8210075c57af696e78000e8cd0019737b2373875
Parents: 5034f44
Author: Sam Tunnicliffe 
Authored: Wed Oct 28 13:16:15 2015 +
Committer: Sam Tunnicliffe 
Committed: Wed Oct 28 17:23:57 2015 +

--
 CHANGES.txt |  1 +
 src/java/org/apache/cassandra/index/Index.java  | 11 ++
 .../cassandra/index/SecondaryIndexManager.java  | 16 +++-
 .../index/internal/CassandraIndex.java  |  1 -
 .../apache/cassandra/index/CustomIndexTest.java | 40 
 .../index/internal/CassandraIndexTest.java  |  9 +
 6 files changed, 66 insertions(+), 12 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/8210075c/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 4ead854..c945bd2 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.0
+ * Execute the metadata reload task of all registered indexes on CFS::reload 
(CASSANDRA-10604)
  * Fix thrift cas operations with defined columns (CASSANDRA-10576)
  * Fix PartitionUpdate.operationCount()for updates with static column 
operations (CASSANDRA-10606)
  * Fix thrift get() queries with defined columns (CASSANDRA-10586)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/8210075c/src/java/org/apache/cassandra/index/Index.java
--
diff --git a/src/java/org/apache/cassandra/index/Index.java 
b/src/java/org/apache/cassandra/index/Index.java
index 0f4ecbd..b6c12a9 100644
--- a/src/java/org/apache/cassandra/index/Index.java
+++ b/src/java/org/apache/cassandra/index/Index.java
@@ -296,9 +296,20 @@ public interface Index
  * Listener for processing events emitted during a single partition update.
  * Instances of this are responsible for applying modifications to the 
index in response to a single update
  * operation on a particular partition of the base table.
+ *
  * That update may be generated by the normal write path, by iterating 
SSTables during streaming operations or when
  * building or rebuilding an index from source. Updates also occur during 
compaction when multiple versions of a
  * source partition from different SSTables are merged.
+ *
+ * Implementations should not make assumptions about resolution or 
filtering of the partition update being
+ * processed. That is to say that it is possible for an Indexer instance 
to receive notification of a
+ * PartitionDelete or RangeTombstones which shadow a Row it then receives 
via insertRow/updateRow.
+ *
+ * It is important to note that the only ordering guarantee made for the 
methods here is that the first call will
+ * be to begin() and the last call to finish(). The other methods may be 
called to process update events in any
+ * order. This can also include duplicate calls, in cases where a memtable 
partition is under contention from
+ * several updates. In that scenario, the same set of events may be 
delivered to the Indexer as memtable update
+ * which failed due to contention is re-applied.
  */
 public interface Indexer
 {

http://git-wip-us.apache.org/repos/asf/cassandra/blob/8210075c/src/java/org/apache/cassandra/index/SecondaryIndexManager.java
--
diff --git a/src/java/org/apache/cassandra/index/SecondaryIndexManager.java 
b/src/java/org/apache/cassandra/index/SecondaryIndexManager.java
index 3ed9714..92b04fe 100644
--- a/src/java/org/apache/cassandra/index/SecondaryIndexManager.java
+++ b/src/java/org/apache/cassandra/index/SecondaryIndexManager.java
@@ -142,17 +142,11 @@ public class SecondaryIndexManager implements 
IndexRegistry
 
 private Future reloadIndex(IndexMetadata indexDef)
 {
-// if the index metadata has changed, reload the index
-IndexMetadata registered = 
indexes.get(indexDef.name).getIndexMetadata();
-if (!registered.equals(indexDef))
-{
-Index index = indexes.remove(registered.name);
-index.register(this);
-return 
blockingExecutor.submit(index.getMetadataReloadTask(indexDef));
-}
-
-// otherwise, nothing to do
-return Futures.immediateFuture(null);
+Index index = indexes.get(indexDef.name);
+Callable reloadTask = index.getMeta

[jira] [Commented] (CASSANDRA-10511) Index summary downsampling prevents mmap access of large files after restart

2015-10-28 Thread Ariel Weisberg (JIRA)

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

Ariel Weisberg commented on CASSANDRA-10511:


I noticed that 
[SSTableReader.load()|https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/io/sstable/format/SSTableReader.java#L725]
 can rebuild the index summary if it fails to load due to an exception. However 
it doesn't reconstruct the ibuilder and dbuilder which may be partially 
populated with readable boundaries from the fail index summary load. Kind of 
looks like a bug.

Fix for this looks straightforward. Extract the readable boundaries from the 
ifile and dfile segments and provide them to the SegmentedFile.Builders that 
are being used to downsample the summary. Working on a test now.

> Index summary downsampling prevents mmap access of large files after restart
> 
>
> Key: CASSANDRA-10511
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10511
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Benedict
>Assignee: Ariel Weisberg
> Fix For: 2.1.x, 2.2.x, 3.1
>
>
> {{SSTableReader.cloneWithNewSummarySampleLevel}} constructs a 
> {{SegmentedFile.Builder}} but never populates it with any boundaries. For 
> files larger than 2Gb, this will result in their being accessed via buffered 
> io after a restart.



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


[jira] [Commented] (CASSANDRA-10070) Automatic repair scheduling

2015-10-28 Thread Avinash Mandava (JIRA)

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

Avinash Mandava commented on CASSANDRA-10070:
-

Right now streaming between Cassandra versions isn't recommended, but I'm 
wondering how we would upgrade to a new version with automatic repairs running. 
If I'm doing a rolling upgrade, right now I have to stop the repair process to 
prevent streaming between nodes and then upgrade, and then resume the repair 
process. But if we are thinking of including automatic repairs, might it be 
valuable to allow people to keep the repair process going while they upgrade? I 
can see how an upgrade is infrequent enough for this suggestion to be overkill, 
but curious what people think.

> Automatic repair scheduling
> ---
>
> Key: CASSANDRA-10070
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10070
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Marcus Olsson
>Assignee: Marcus Olsson
>Priority: Minor
> Fix For: 3.x
>
>
> Scheduling and running repairs in a Cassandra cluster is most often a 
> required task, but this can both be hard for new users and it also requires a 
> bit of manual configuration. There are good tools out there that can be used 
> to simplify things, but wouldn't this be a good feature to have inside of 
> Cassandra? To automatically schedule and run repairs, so that when you start 
> up your cluster it basically maintains itself in terms of normal 
> anti-entropy, with the possibility for manual configuration.



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


[2/3] cassandra git commit: Fix Thrift CAS operations for columns with defined metadata

2015-10-28 Thread samt
Fix Thrift CAS operations for columns with defined metadata

Patch by Sam Tunnicliffe; reviewed by Sylvain Lebresne for
CASSANDRA-10576


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

Branch: refs/heads/trunk
Commit: 5034f449575a4648f67b50c1ff535518ce2f00e9
Parents: 3615da5
Author: Sam Tunnicliffe 
Authored: Fri Oct 23 13:51:29 2015 +0100
Committer: Sam Tunnicliffe 
Committed: Wed Oct 28 17:11:04 2015 +

--
 CHANGES.txt |  1 +
 .../cassandra/thrift/CassandraServer.java   | 40 +---
 2 files changed, 28 insertions(+), 13 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5034f449/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index c51cb51..4ead854 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.0
+ * Fix thrift cas operations with defined columns (CASSANDRA-10576)
  * Fix PartitionUpdate.operationCount()for updates with static column 
operations (CASSANDRA-10606)
  * Fix thrift get() queries with defined columns (CASSANDRA-10586)
  * Fix marking of indexes as built and removed (CASSANDRA-10601)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5034f449/src/java/org/apache/cassandra/thrift/CassandraServer.java
--
diff --git a/src/java/org/apache/cassandra/thrift/CassandraServer.java 
b/src/java/org/apache/cassandra/thrift/CassandraServer.java
index 2a3f73d..02c0871 100644
--- a/src/java/org/apache/cassandra/thrift/CassandraServer.java
+++ b/src/java/org/apache/cassandra/thrift/CassandraServer.java
@@ -945,15 +945,11 @@ public class CassandraServer implements Cassandra.Iface
 // Indexed column values cannot be larger than 64K.  See 
CASSANDRA-3057/4240 for more details
 
Keyspace.open(metadata.ksName).getColumnFamilyStore(metadata.cfName).indexManager.validate(partitionUpdates);
 
-FilteredPartition partitionExpected = null;
-if (!expected.isEmpty())
-partitionExpected = 
FilteredPartition.create(LegacyLayout.toRowIterator(metadata, dk, 
toLegacyCells(metadata, expected, nowInSec).iterator(), nowInSec));
-
 schedule(DatabaseDescriptor.getWriteRpcTimeout());
 try (RowIterator result = StorageProxy.cas(cState.getKeyspace(),
column_family,
dk,
-   new 
ThriftCASRequest(partitionExpected, partitionUpdates),
+   new 
ThriftCASRequest(toLegacyCells(metadata, expected, nowInSec), partitionUpdates, 
nowInSec),

ThriftConversion.fromThrift(serial_consistency_level),

ThriftConversion.fromThrift(commit_consistency_level),
cState))
@@ -2509,21 +2505,22 @@ public class CassandraServer implements Cassandra.Iface
 {
 private final CFMetaData metadata;
 private final DecoratedKey key;
-
-private final FilteredPartition expected;
+private final List expected;
 private final PartitionUpdate updates;
+private final int nowInSec;
 
-private ThriftCASRequest(FilteredPartition expected, PartitionUpdate 
updates)
+private ThriftCASRequest(List expected, 
PartitionUpdate updates, int nowInSec)
 {
 this.metadata = updates.metadata();
 this.key = updates.partitionKey();
 this.expected = expected;
 this.updates = updates;
+this.nowInSec = nowInSec;
 }
 
 public SinglePartitionReadCommand readCommand(int nowInSec)
 {
-if (expected == null || expected.isEmpty())
+if (expected.isEmpty())
 {
 // We want to know if the partition exists, so just fetch a 
single cell.
 ClusteringIndexSliceFilter filter = new 
ClusteringIndexSliceFilter(Slices.ALL, false);
@@ -2533,9 +2530,13 @@ public class CassandraServer implements Cassandra.Iface
 
 // Gather the clustering for the expected values and query those.
 BTreeSet.Builder clusterings = 
BTreeSet.builder(metadata.comparator);
-for (Row row : expected)
+FilteredPartition expectedPartition =
+FilteredPartition.create(LegacyLayout.toRowIterator(metadata,

[1/3] cassandra git commit: Fix Thrift CAS operations for columns with defined metadata

2015-10-28 Thread samt
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-3.0 3615da583 -> 5034f4495
  refs/heads/trunk a4fe865d4 -> 74ee6684c


Fix Thrift CAS operations for columns with defined metadata

Patch by Sam Tunnicliffe; reviewed by Sylvain Lebresne for
CASSANDRA-10576


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

Branch: refs/heads/cassandra-3.0
Commit: 5034f449575a4648f67b50c1ff535518ce2f00e9
Parents: 3615da5
Author: Sam Tunnicliffe 
Authored: Fri Oct 23 13:51:29 2015 +0100
Committer: Sam Tunnicliffe 
Committed: Wed Oct 28 17:11:04 2015 +

--
 CHANGES.txt |  1 +
 .../cassandra/thrift/CassandraServer.java   | 40 +---
 2 files changed, 28 insertions(+), 13 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5034f449/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index c51cb51..4ead854 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.0
+ * Fix thrift cas operations with defined columns (CASSANDRA-10576)
  * Fix PartitionUpdate.operationCount()for updates with static column 
operations (CASSANDRA-10606)
  * Fix thrift get() queries with defined columns (CASSANDRA-10586)
  * Fix marking of indexes as built and removed (CASSANDRA-10601)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/5034f449/src/java/org/apache/cassandra/thrift/CassandraServer.java
--
diff --git a/src/java/org/apache/cassandra/thrift/CassandraServer.java 
b/src/java/org/apache/cassandra/thrift/CassandraServer.java
index 2a3f73d..02c0871 100644
--- a/src/java/org/apache/cassandra/thrift/CassandraServer.java
+++ b/src/java/org/apache/cassandra/thrift/CassandraServer.java
@@ -945,15 +945,11 @@ public class CassandraServer implements Cassandra.Iface
 // Indexed column values cannot be larger than 64K.  See 
CASSANDRA-3057/4240 for more details
 
Keyspace.open(metadata.ksName).getColumnFamilyStore(metadata.cfName).indexManager.validate(partitionUpdates);
 
-FilteredPartition partitionExpected = null;
-if (!expected.isEmpty())
-partitionExpected = 
FilteredPartition.create(LegacyLayout.toRowIterator(metadata, dk, 
toLegacyCells(metadata, expected, nowInSec).iterator(), nowInSec));
-
 schedule(DatabaseDescriptor.getWriteRpcTimeout());
 try (RowIterator result = StorageProxy.cas(cState.getKeyspace(),
column_family,
dk,
-   new 
ThriftCASRequest(partitionExpected, partitionUpdates),
+   new 
ThriftCASRequest(toLegacyCells(metadata, expected, nowInSec), partitionUpdates, 
nowInSec),

ThriftConversion.fromThrift(serial_consistency_level),

ThriftConversion.fromThrift(commit_consistency_level),
cState))
@@ -2509,21 +2505,22 @@ public class CassandraServer implements Cassandra.Iface
 {
 private final CFMetaData metadata;
 private final DecoratedKey key;
-
-private final FilteredPartition expected;
+private final List expected;
 private final PartitionUpdate updates;
+private final int nowInSec;
 
-private ThriftCASRequest(FilteredPartition expected, PartitionUpdate 
updates)
+private ThriftCASRequest(List expected, 
PartitionUpdate updates, int nowInSec)
 {
 this.metadata = updates.metadata();
 this.key = updates.partitionKey();
 this.expected = expected;
 this.updates = updates;
+this.nowInSec = nowInSec;
 }
 
 public SinglePartitionReadCommand readCommand(int nowInSec)
 {
-if (expected == null || expected.isEmpty())
+if (expected.isEmpty())
 {
 // We want to know if the partition exists, so just fetch a 
single cell.
 ClusteringIndexSliceFilter filter = new 
ClusteringIndexSliceFilter(Slices.ALL, false);
@@ -2533,9 +2530,13 @@ public class CassandraServer implements Cassandra.Iface
 
 // Gather the clustering for the expected values and query those.
 BTreeSet.Builder clusterings = 
BTreeSet.builder(metadata.comparator);
-for (Row row

[jira] [Commented] (CASSANDRA-10614) AssertionError while flushing memtables

2015-10-28 Thread Tyler Hobbs (JIRA)

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

Tyler Hobbs commented on CASSANDRA-10614:
-

It looks like this was introduced by CASSANDRA-9664, and is likely the cause of 
CASSANDRA-10609.

> AssertionError while flushing memtables
> ---
>
> Key: CASSANDRA-10614
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10614
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core, Local Write-Read Paths
>Reporter: Tyler Hobbs
>Assignee: T Jake Luciani
>Priority: Critical
> Fix For: 3.0.0
>
>
> While running mvbench against a single local node, I noticed this stacktrace 
> showing up multiple times in the logs:
> {noformat}
> ERROR 16:40:01 Exception in thread Thread[MemtableFlushWriter:1,5,main]
> java.lang.AssertionError: null
>   at org.apache.cassandra.db.rows.Rows.collectStats(Rows.java:70) 
> ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.format.big.BigTableWriter$StatsCollector.applyToRow(BigTableWriter.java:197)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.transform.BaseRows.hasNext(BaseRows.java:116) 
> ~[main/:na]
>   at 
> org.apache.cassandra.db.transform.UnfilteredRows.isEmpty(UnfilteredRows.java:38)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.ColumnIndex.writeAndBuildIndex(ColumnIndex.java:49) 
> ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.format.big.BigTableWriter.append(BigTableWriter.java:149)
>  ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.SimpleSSTableMultiWriter.append(SimpleSSTableMultiWriter.java:45)
>  ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.SSTableTxnWriter.append(SSTableTxnWriter.java:52)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.Memtable$FlushRunnable.writeSortedContents(Memtable.java:389)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.Memtable$FlushRunnable.runMayThrow(Memtable.java:352) 
> ~[main/:na]
>   at 
> org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) 
> ~[main/:na]
>   at 
> com.google.common.util.concurrent.MoreExecutors$DirectExecutorService.execute(MoreExecutors.java:299)
>  ~[guava-18.0.jar:na]
>   at 
> org.apache.cassandra.db.ColumnFamilyStore$Flush.run(ColumnFamilyStore.java:1037)
>  ~[main/:na]
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  ~[na:1.8.0_45]
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  ~[na:1.8.0_45]
>   at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_45]
> {noformat}
> To reproduce, run mvbench with the regular schema and the following arguments:
> {noformat}
> mvn exec:java -Dexec.args="--num-users 10 --num-songs 100 
> --num-artists 1 -n 50 --endpoint 127.0.0.1"
> {noformat}



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


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

2015-10-28 Thread samt
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/74ee6684
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/74ee6684
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/74ee6684

Branch: refs/heads/trunk
Commit: 74ee6684ca1f93ccb737b68bc401dba23045610f
Parents: a4fe865 5034f44
Author: Sam Tunnicliffe 
Authored: Wed Oct 28 17:15:10 2015 +
Committer: Sam Tunnicliffe 
Committed: Wed Oct 28 17:15:10 2015 +

--
 CHANGES.txt |  1 +
 .../cassandra/thrift/CassandraServer.java   | 40 +---
 2 files changed, 28 insertions(+), 13 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/74ee6684/CHANGES.txt
--
diff --cc CHANGES.txt
index 29117e0,4ead854..1b6ede7
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,10 -1,5 +1,11 @@@
 +3.2
 + * Added graphing option to cassandra-stress (CASSANDRA-7918)
 + * Abort in-progress queries that time out (CASSANDRA-7392)
 + * Add transparent data encryption core classes (CASSANDRA-9945)
 +
 +
  3.0
+  * Fix thrift cas operations with defined columns (CASSANDRA-10576)
   * Fix PartitionUpdate.operationCount()for updates with static column 
operations (CASSANDRA-10606)
   * Fix thrift get() queries with defined columns (CASSANDRA-10586)
   * Fix marking of indexes as built and removed (CASSANDRA-10601)



[jira] [Assigned] (CASSANDRA-10614) AssertionError while flushing memtables

2015-10-28 Thread Tyler Hobbs (JIRA)

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

Tyler Hobbs reassigned CASSANDRA-10614:
---

Assignee: Tyler Hobbs  (was: T Jake Luciani)

> AssertionError while flushing memtables
> ---
>
> Key: CASSANDRA-10614
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10614
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core, Local Write-Read Paths
>Reporter: Tyler Hobbs
>Assignee: Tyler Hobbs
>Priority: Critical
> Fix For: 3.0.0
>
>
> While running mvbench against a single local node, I noticed this stacktrace 
> showing up multiple times in the logs:
> {noformat}
> ERROR 16:40:01 Exception in thread Thread[MemtableFlushWriter:1,5,main]
> java.lang.AssertionError: null
>   at org.apache.cassandra.db.rows.Rows.collectStats(Rows.java:70) 
> ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.format.big.BigTableWriter$StatsCollector.applyToRow(BigTableWriter.java:197)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.transform.BaseRows.hasNext(BaseRows.java:116) 
> ~[main/:na]
>   at 
> org.apache.cassandra.db.transform.UnfilteredRows.isEmpty(UnfilteredRows.java:38)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.ColumnIndex.writeAndBuildIndex(ColumnIndex.java:49) 
> ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.format.big.BigTableWriter.append(BigTableWriter.java:149)
>  ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.SimpleSSTableMultiWriter.append(SimpleSSTableMultiWriter.java:45)
>  ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.SSTableTxnWriter.append(SSTableTxnWriter.java:52)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.Memtable$FlushRunnable.writeSortedContents(Memtable.java:389)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.Memtable$FlushRunnable.runMayThrow(Memtable.java:352) 
> ~[main/:na]
>   at 
> org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) 
> ~[main/:na]
>   at 
> com.google.common.util.concurrent.MoreExecutors$DirectExecutorService.execute(MoreExecutors.java:299)
>  ~[guava-18.0.jar:na]
>   at 
> org.apache.cassandra.db.ColumnFamilyStore$Flush.run(ColumnFamilyStore.java:1037)
>  ~[main/:na]
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  ~[na:1.8.0_45]
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  ~[na:1.8.0_45]
>   at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_45]
> {noformat}
> To reproduce, run mvbench with the regular schema and the following arguments:
> {noformat}
> mvn exec:java -Dexec.args="--num-users 10 --num-songs 100 
> --num-artists 1 -n 50 --endpoint 127.0.0.1"
> {noformat}



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


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

2015-10-28 Thread Sam Tunnicliffe (JIRA)

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

Sam Tunnicliffe commented on CASSANDRA-10092:
-

[~adelapena] thanks for the updated patch. I appreciate the thrift API is a bit 
esoteric, so thanks for persevering with it. I've backported the v3 patch to 
2.1 and pushed both 2.1 & 2.2 branches to my local repo for CI. Once those test 
results are clean I'll commit. Thanks again.

||2.1||2.2||
|[branch|https://github.com/beobal/cassandra/tree/10092-2.1]|[branch|https://github.com/beobal/cassandra/tree/10092-2.2]|
|[testall|http://cassci.datastax.com/view/Dev/view/beobal/job/beobal-10092-2.1-testall/]|[testall|http://cassci.datastax.com/view/Dev/view/beobal/job/beobal-10092-2.2-testall/]|
|[dtests|http://cassci.datastax.com/view/Dev/view/beobal/job/beobal-10092-2.1-dtest/]|[dtests|http://cassci.datastax.com/view/Dev/view/beobal/job/beobal-10092-2.2-dtest/]|

> Generalize PerRowSecondaryIndex validation
> --
>
> Key: CASSANDRA-10092
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10092
> Project: Cassandra
>  Issue Type: Improvement
>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: CASSANDRA-10092_v2.patch, CASSANDRA-10092_v3.patch, 
> 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)


[jira] [Assigned] (CASSANDRA-10614) AssertionError while flushing memtables

2015-10-28 Thread T Jake Luciani (JIRA)

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

T Jake Luciani reassigned CASSANDRA-10614:
--

Assignee: T Jake Luciani

> AssertionError while flushing memtables
> ---
>
> Key: CASSANDRA-10614
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10614
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core, Local Write-Read Paths
>Reporter: Tyler Hobbs
>Assignee: T Jake Luciani
>Priority: Critical
> Fix For: 3.0.0
>
>
> While running mvbench against a single local node, I noticed this stacktrace 
> showing up multiple times in the logs:
> {noformat}
> ERROR 16:40:01 Exception in thread Thread[MemtableFlushWriter:1,5,main]
> java.lang.AssertionError: null
>   at org.apache.cassandra.db.rows.Rows.collectStats(Rows.java:70) 
> ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.format.big.BigTableWriter$StatsCollector.applyToRow(BigTableWriter.java:197)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.transform.BaseRows.hasNext(BaseRows.java:116) 
> ~[main/:na]
>   at 
> org.apache.cassandra.db.transform.UnfilteredRows.isEmpty(UnfilteredRows.java:38)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.ColumnIndex.writeAndBuildIndex(ColumnIndex.java:49) 
> ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.format.big.BigTableWriter.append(BigTableWriter.java:149)
>  ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.SimpleSSTableMultiWriter.append(SimpleSSTableMultiWriter.java:45)
>  ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.SSTableTxnWriter.append(SSTableTxnWriter.java:52)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.Memtable$FlushRunnable.writeSortedContents(Memtable.java:389)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.Memtable$FlushRunnable.runMayThrow(Memtable.java:352) 
> ~[main/:na]
>   at 
> org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) 
> ~[main/:na]
>   at 
> com.google.common.util.concurrent.MoreExecutors$DirectExecutorService.execute(MoreExecutors.java:299)
>  ~[guava-18.0.jar:na]
>   at 
> org.apache.cassandra.db.ColumnFamilyStore$Flush.run(ColumnFamilyStore.java:1037)
>  ~[main/:na]
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  ~[na:1.8.0_45]
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  ~[na:1.8.0_45]
>   at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_45]
> {noformat}
> To reproduce, run mvbench with the regular schema and the following arguments:
> {noformat}
> mvn exec:java -Dexec.args="--num-users 10 --num-songs 100 
> --num-artists 1 -n 50 --endpoint 127.0.0.1"
> {noformat}



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


[jira] [Updated] (CASSANDRA-10614) AssertionError while flushing memtables

2015-10-28 Thread T Jake Luciani (JIRA)

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

T Jake Luciani updated CASSANDRA-10614:
---
Assignee: (was: T Jake Luciani)

> AssertionError while flushing memtables
> ---
>
> Key: CASSANDRA-10614
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10614
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core, Local Write-Read Paths
>Reporter: Tyler Hobbs
>Priority: Critical
> Fix For: 3.0.0
>
>
> While running mvbench against a single local node, I noticed this stacktrace 
> showing up multiple times in the logs:
> {noformat}
> ERROR 16:40:01 Exception in thread Thread[MemtableFlushWriter:1,5,main]
> java.lang.AssertionError: null
>   at org.apache.cassandra.db.rows.Rows.collectStats(Rows.java:70) 
> ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.format.big.BigTableWriter$StatsCollector.applyToRow(BigTableWriter.java:197)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.transform.BaseRows.hasNext(BaseRows.java:116) 
> ~[main/:na]
>   at 
> org.apache.cassandra.db.transform.UnfilteredRows.isEmpty(UnfilteredRows.java:38)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.ColumnIndex.writeAndBuildIndex(ColumnIndex.java:49) 
> ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.format.big.BigTableWriter.append(BigTableWriter.java:149)
>  ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.SimpleSSTableMultiWriter.append(SimpleSSTableMultiWriter.java:45)
>  ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.SSTableTxnWriter.append(SSTableTxnWriter.java:52)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.Memtable$FlushRunnable.writeSortedContents(Memtable.java:389)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.Memtable$FlushRunnable.runMayThrow(Memtable.java:352) 
> ~[main/:na]
>   at 
> org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) 
> ~[main/:na]
>   at 
> com.google.common.util.concurrent.MoreExecutors$DirectExecutorService.execute(MoreExecutors.java:299)
>  ~[guava-18.0.jar:na]
>   at 
> org.apache.cassandra.db.ColumnFamilyStore$Flush.run(ColumnFamilyStore.java:1037)
>  ~[main/:na]
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  ~[na:1.8.0_45]
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  ~[na:1.8.0_45]
>   at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_45]
> {noformat}
> To reproduce, run mvbench with the regular schema and the following arguments:
> {noformat}
> mvn exec:java -Dexec.args="--num-users 10 --num-songs 100 
> --num-artists 1 -n 50 --endpoint 127.0.0.1"
> {noformat}



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


[jira] [Commented] (CASSANDRA-10606) PartitionUpdate.operationCount() return the wrong number of operation for compact tables

2015-10-28 Thread Benjamin Lerer (JIRA)

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

Benjamin Lerer commented on CASSANDRA-10606:


Committed in 3.0 at 3615da58310a778c7ee6d9b2d77fd3fb7a6700f4 and merged into 
trunk.

> PartitionUpdate.operationCount() return the wrong number of operation for 
> compact tables
> 
>
> Key: CASSANDRA-10606
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10606
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Benjamin Lerer
>Assignee: Benjamin Lerer
> Fix For: 3.0.0
>
> Attachments: 10606-3.0-V2.txt, 10606-3.0-V3.txt, 10606-3.0.txt
>
>
> For compact tables {{PartitionUpdate.operationCount()}} return the wrong 
> number of operation as it does not take into operation on static rows.



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


[jira] [Updated] (CASSANDRA-10614) AssertionError while flushing memtables

2015-10-28 Thread Tyler Hobbs (JIRA)

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

Tyler Hobbs updated CASSANDRA-10614:

Summary: AssertionError while flushing memtables  (was: AsertionError while 
flushing memtables)

> AssertionError while flushing memtables
> ---
>
> Key: CASSANDRA-10614
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10614
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core, Local Write-Read Paths
>Reporter: Tyler Hobbs
>Assignee: T Jake Luciani
>Priority: Critical
> Fix For: 3.0.0
>
>
> While running mvbench against a single local node, I noticed this stacktrace 
> showing up multiple times in the logs:
> {noformat}
> ERROR 16:40:01 Exception in thread Thread[MemtableFlushWriter:1,5,main]
> java.lang.AssertionError: null
>   at org.apache.cassandra.db.rows.Rows.collectStats(Rows.java:70) 
> ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.format.big.BigTableWriter$StatsCollector.applyToRow(BigTableWriter.java:197)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.transform.BaseRows.hasNext(BaseRows.java:116) 
> ~[main/:na]
>   at 
> org.apache.cassandra.db.transform.UnfilteredRows.isEmpty(UnfilteredRows.java:38)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.ColumnIndex.writeAndBuildIndex(ColumnIndex.java:49) 
> ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.format.big.BigTableWriter.append(BigTableWriter.java:149)
>  ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.SimpleSSTableMultiWriter.append(SimpleSSTableMultiWriter.java:45)
>  ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.SSTableTxnWriter.append(SSTableTxnWriter.java:52)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.Memtable$FlushRunnable.writeSortedContents(Memtable.java:389)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.Memtable$FlushRunnable.runMayThrow(Memtable.java:352) 
> ~[main/:na]
>   at 
> org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) 
> ~[main/:na]
>   at 
> com.google.common.util.concurrent.MoreExecutors$DirectExecutorService.execute(MoreExecutors.java:299)
>  ~[guava-18.0.jar:na]
>   at 
> org.apache.cassandra.db.ColumnFamilyStore$Flush.run(ColumnFamilyStore.java:1037)
>  ~[main/:na]
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  ~[na:1.8.0_45]
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  ~[na:1.8.0_45]
>   at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_45]
> {noformat}
> To reproduce, run mvbench with the regular schema and the following arguments:
> {noformat}
> mvn exec:java -Dexec.args="--num-users 10 --num-songs 100 
> --num-artists 1 -n 50 --endpoint 127.0.0.1"
> {noformat}



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


[jira] [Updated] (CASSANDRA-10614) AsertionError while flushing memtables

2015-10-28 Thread Joshua McKenzie (JIRA)

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

Joshua McKenzie updated CASSANDRA-10614:

Component/s: Local Write-Read Paths

> AsertionError while flushing memtables
> --
>
> Key: CASSANDRA-10614
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10614
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core, Local Write-Read Paths
>Reporter: Tyler Hobbs
>Priority: Critical
> Fix For: 3.0.0
>
>
> While running mvbench against a single local node, I noticed this stacktrace 
> showing up multiple times in the logs:
> {noformat}
> ERROR 16:40:01 Exception in thread Thread[MemtableFlushWriter:1,5,main]
> java.lang.AssertionError: null
>   at org.apache.cassandra.db.rows.Rows.collectStats(Rows.java:70) 
> ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.format.big.BigTableWriter$StatsCollector.applyToRow(BigTableWriter.java:197)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.transform.BaseRows.hasNext(BaseRows.java:116) 
> ~[main/:na]
>   at 
> org.apache.cassandra.db.transform.UnfilteredRows.isEmpty(UnfilteredRows.java:38)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.ColumnIndex.writeAndBuildIndex(ColumnIndex.java:49) 
> ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.format.big.BigTableWriter.append(BigTableWriter.java:149)
>  ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.SimpleSSTableMultiWriter.append(SimpleSSTableMultiWriter.java:45)
>  ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.SSTableTxnWriter.append(SSTableTxnWriter.java:52)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.Memtable$FlushRunnable.writeSortedContents(Memtable.java:389)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.Memtable$FlushRunnable.runMayThrow(Memtable.java:352) 
> ~[main/:na]
>   at 
> org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) 
> ~[main/:na]
>   at 
> com.google.common.util.concurrent.MoreExecutors$DirectExecutorService.execute(MoreExecutors.java:299)
>  ~[guava-18.0.jar:na]
>   at 
> org.apache.cassandra.db.ColumnFamilyStore$Flush.run(ColumnFamilyStore.java:1037)
>  ~[main/:na]
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  ~[na:1.8.0_45]
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  ~[na:1.8.0_45]
>   at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_45]
> {noformat}
> To reproduce, run mvbench with the regular schema and the following arguments:
> {noformat}
> mvn exec:java -Dexec.args="--num-users 10 --num-songs 100 
> --num-artists 1 -n 50 --endpoint 127.0.0.1"
> {noformat}



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


[jira] [Commented] (CASSANDRA-10614) AsertionError while flushing memtables

2015-10-28 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne commented on CASSANDRA-10614:
--

>From the assertion, it sounds like an empty row had made its way in the 
>memtable. Maybe the MV code can generate an empty row in some conditions?

> AsertionError while flushing memtables
> --
>
> Key: CASSANDRA-10614
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10614
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core, Local Write-Read Paths
>Reporter: Tyler Hobbs
>Assignee: T Jake Luciani
>Priority: Critical
> Fix For: 3.0.0
>
>
> While running mvbench against a single local node, I noticed this stacktrace 
> showing up multiple times in the logs:
> {noformat}
> ERROR 16:40:01 Exception in thread Thread[MemtableFlushWriter:1,5,main]
> java.lang.AssertionError: null
>   at org.apache.cassandra.db.rows.Rows.collectStats(Rows.java:70) 
> ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.format.big.BigTableWriter$StatsCollector.applyToRow(BigTableWriter.java:197)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.transform.BaseRows.hasNext(BaseRows.java:116) 
> ~[main/:na]
>   at 
> org.apache.cassandra.db.transform.UnfilteredRows.isEmpty(UnfilteredRows.java:38)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.ColumnIndex.writeAndBuildIndex(ColumnIndex.java:49) 
> ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.format.big.BigTableWriter.append(BigTableWriter.java:149)
>  ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.SimpleSSTableMultiWriter.append(SimpleSSTableMultiWriter.java:45)
>  ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.SSTableTxnWriter.append(SSTableTxnWriter.java:52)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.Memtable$FlushRunnable.writeSortedContents(Memtable.java:389)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.Memtable$FlushRunnable.runMayThrow(Memtable.java:352) 
> ~[main/:na]
>   at 
> org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) 
> ~[main/:na]
>   at 
> com.google.common.util.concurrent.MoreExecutors$DirectExecutorService.execute(MoreExecutors.java:299)
>  ~[guava-18.0.jar:na]
>   at 
> org.apache.cassandra.db.ColumnFamilyStore$Flush.run(ColumnFamilyStore.java:1037)
>  ~[main/:na]
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  ~[na:1.8.0_45]
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  ~[na:1.8.0_45]
>   at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_45]
> {noformat}
> To reproduce, run mvbench with the regular schema and the following arguments:
> {noformat}
> mvn exec:java -Dexec.args="--num-users 10 --num-songs 100 
> --num-artists 1 -n 50 --endpoint 127.0.0.1"
> {noformat}



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


[jira] [Assigned] (CASSANDRA-10614) AsertionError while flushing memtables

2015-10-28 Thread Joshua McKenzie (JIRA)

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

Joshua McKenzie reassigned CASSANDRA-10614:
---

Assignee: T Jake Luciani

> AsertionError while flushing memtables
> --
>
> Key: CASSANDRA-10614
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10614
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core, Local Write-Read Paths
>Reporter: Tyler Hobbs
>Assignee: T Jake Luciani
>Priority: Critical
> Fix For: 3.0.0
>
>
> While running mvbench against a single local node, I noticed this stacktrace 
> showing up multiple times in the logs:
> {noformat}
> ERROR 16:40:01 Exception in thread Thread[MemtableFlushWriter:1,5,main]
> java.lang.AssertionError: null
>   at org.apache.cassandra.db.rows.Rows.collectStats(Rows.java:70) 
> ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.format.big.BigTableWriter$StatsCollector.applyToRow(BigTableWriter.java:197)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.transform.BaseRows.hasNext(BaseRows.java:116) 
> ~[main/:na]
>   at 
> org.apache.cassandra.db.transform.UnfilteredRows.isEmpty(UnfilteredRows.java:38)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.ColumnIndex.writeAndBuildIndex(ColumnIndex.java:49) 
> ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.format.big.BigTableWriter.append(BigTableWriter.java:149)
>  ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.SimpleSSTableMultiWriter.append(SimpleSSTableMultiWriter.java:45)
>  ~[main/:na]
>   at 
> org.apache.cassandra.io.sstable.SSTableTxnWriter.append(SSTableTxnWriter.java:52)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.Memtable$FlushRunnable.writeSortedContents(Memtable.java:389)
>  ~[main/:na]
>   at 
> org.apache.cassandra.db.Memtable$FlushRunnable.runMayThrow(Memtable.java:352) 
> ~[main/:na]
>   at 
> org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) 
> ~[main/:na]
>   at 
> com.google.common.util.concurrent.MoreExecutors$DirectExecutorService.execute(MoreExecutors.java:299)
>  ~[guava-18.0.jar:na]
>   at 
> org.apache.cassandra.db.ColumnFamilyStore$Flush.run(ColumnFamilyStore.java:1037)
>  ~[main/:na]
>   at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  ~[na:1.8.0_45]
>   at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  ~[na:1.8.0_45]
>   at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_45]
> {noformat}
> To reproduce, run mvbench with the regular schema and the following arguments:
> {noformat}
> mvn exec:java -Dexec.args="--num-users 10 --num-songs 100 
> --num-artists 1 -n 50 --endpoint 127.0.0.1"
> {noformat}



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


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

2015-10-28 Thread blerer
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/a4fe865d
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/a4fe865d
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/a4fe865d

Branch: refs/heads/trunk
Commit: a4fe865d4f8cb7ca8d14191d6d9ccf6ac1f79eb3
Parents: 9be01e3 3615da5
Author: Benjamin Lerer 
Authored: Wed Oct 28 17:47:07 2015 +0100
Committer: Benjamin Lerer 
Committed: Wed Oct 28 17:47:33 2015 +0100

--
 CHANGES.txt |  1 +
 .../db/partitions/PartitionUpdate.java  |  1 +
 .../db/partition/PartitionUpdateTest.java   | 67 
 3 files changed, 69 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/a4fe865d/CHANGES.txt
--
diff --cc CHANGES.txt
index 04cefae,c51cb51..29117e0
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,10 -1,5 +1,11 @@@
 +3.2
 + * Added graphing option to cassandra-stress (CASSANDRA-7918)
 + * Abort in-progress queries that time out (CASSANDRA-7392)
 + * Add transparent data encryption core classes (CASSANDRA-9945)
 +
 +
  3.0
+  * Fix PartitionUpdate.operationCount()for updates with static column 
operations (CASSANDRA-10606)
   * Fix thrift get() queries with defined columns (CASSANDRA-10586)
   * Fix marking of indexes as built and removed (CASSANDRA-10601)
   * Skip initialization of non-registered 2i instances, remove 
Index::getIndexName (CASSANDRA-10595)



[jira] [Commented] (CASSANDRA-10581) Update cassandra.yaml comments to reflect memory_allocator deprecation, remove in 3.0

2015-10-28 Thread Jim Witschey (JIRA)

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

Jim Witschey commented on CASSANDRA-10581:
--

The documentation changes look good to me. If it's not already logged somewhere 
that I missed it, could you add some kind of logging indicating when Cassandra 
used JEMAlloc? As is, it's difficult to determine if it's actually used, as far 
as I can tell.

> Update cassandra.yaml comments to reflect memory_allocator deprecation, 
> remove in 3.0
> -
>
> Key: CASSANDRA-10581
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10581
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Jim Witschey
>Assignee: Robert Stupp
> Fix For: 2.2.x, 3.0.0
>
>
> Looks like in 2.2+ changing the {{memory_allocator}} field in cassandra.yaml 
> has no effect:
> https://github.com/apache/cassandra/commit/0d2ec11c7e0abfb84d872289af6d3ac386cf381f#diff-b66584c9ce7b64019b5db5a531deeda1R207
> The instructions in comments on how to use jemalloc haven't been updated to 
> reflect this change. [~snazy], is that an accurate assessment?
> [~iamaleksey] How do we want to handle the deprecation more generally? Warn 
> on 2.2, remove in 3.0?
> EDIT: I described this in a way that isn't very clear to those unfamiliar 
> with Robert's change. To be clear: You can still use JEMAlloc with Cassandra. 
> The {{memory_allocator}} option was deprecated in favor of automatically 
> detecting if JEMAlloc is installed, and, if so, using it. 



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


[1/2] cassandra git commit: Fix PartitionUpdate.operationCount()for updates with static column

2015-10-28 Thread blerer
Repository: cassandra
Updated Branches:
  refs/heads/trunk 9be01e34c -> a4fe865d4


Fix PartitionUpdate.operationCount()for updates with static column

patch by Benjamin Lerer; reviewed by Sylvain Lebresne for CASSANDRA-10606


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

Branch: refs/heads/trunk
Commit: 3615da58310a778c7ee6d9b2d77fd3fb7a6700f4
Parents: 4d00468
Author: Benjamin Lerer 
Authored: Wed Oct 28 17:41:03 2015 +0100
Committer: Benjamin Lerer 
Committed: Wed Oct 28 17:41:03 2015 +0100

--
 CHANGES.txt |  1 +
 .../db/partitions/PartitionUpdate.java  |  1 +
 .../db/partition/PartitionUpdateTest.java   | 67 
 3 files changed, 69 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/3615da58/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 3423a1e..c51cb51 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.0
+ * Fix PartitionUpdate.operationCount()for updates with static column 
operations (CASSANDRA-10606)
  * Fix thrift get() queries with defined columns (CASSANDRA-10586)
  * Fix marking of indexes as built and removed (CASSANDRA-10601)
  * Skip initialization of non-registered 2i instances, remove 
Index::getIndexName (CASSANDRA-10595)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/3615da58/src/java/org/apache/cassandra/db/partitions/PartitionUpdate.java
--
diff --git a/src/java/org/apache/cassandra/db/partitions/PartitionUpdate.java 
b/src/java/org/apache/cassandra/db/partitions/PartitionUpdate.java
index b1776ca..52f8f67 100644
--- a/src/java/org/apache/cassandra/db/partitions/PartitionUpdate.java
+++ b/src/java/org/apache/cassandra/db/partitions/PartitionUpdate.java
@@ -334,6 +334,7 @@ public class PartitionUpdate extends AbstractBTreePartition
 public int operationCount()
 {
 return rowCount()
+ + (staticRow().isEmpty() ? 0 : 1)
  + deletionInfo.rangeCount()
  + (deletionInfo.getPartitionDeletion().isLive() ? 0 : 1);
 }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/3615da58/test/unit/org/apache/cassandra/db/partition/PartitionUpdateTest.java
--
diff --git 
a/test/unit/org/apache/cassandra/db/partition/PartitionUpdateTest.java 
b/test/unit/org/apache/cassandra/db/partition/PartitionUpdateTest.java
new file mode 100644
index 000..a069db1
--- /dev/null
+++ b/test/unit/org/apache/cassandra/db/partition/PartitionUpdateTest.java
@@ -0,0 +1,67 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cassandra.db.partition;
+
+import org.apache.cassandra.config.CFMetaData;
+import org.apache.cassandra.cql3.CQLTester;
+import org.apache.cassandra.db.RowUpdateBuilder;
+import org.apache.cassandra.db.partitions.PartitionUpdate;
+import org.apache.cassandra.utils.FBUtilities;
+import org.junit.Test;
+
+import junit.framework.Assert;
+
+public class PartitionUpdateTest extends CQLTester
+{
+@Test
+public void testOperationCount()
+{
+createTable("CREATE TABLE %s (key text, clustering int, a int, s int 
static, PRIMARY KEY(key, clustering))");
+CFMetaData cfm = currentTableMetadata();
+
+long timestamp = FBUtilities.timestampMicros();
+PartitionUpdate update = new RowUpdateBuilder(cfm, timestamp, 
"key0").clustering(1).add("a", 1).buildUpdate();
+Assert.assertEquals(1, update.operationCount());
+
+update = new RowUpdateBuilder(cfm, timestamp, "key0").buildUpdate();
+Assert.assertEquals(0, update.operationCount());
+
+update = new RowUpdateBuilder(cfm, timestamp, "key0").add("s", 
1).buildUpdate();
+Assert.assert

[jira] [Updated] (CASSANDRA-9829) Dynamically adjust LCS level sizes

2015-10-28 Thread Paulo Motta (JIRA)

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

Paulo Motta updated CASSANDRA-9829:
---
Assignee: (was: Paulo Motta)

> Dynamically adjust LCS level sizes
> --
>
> Key: CASSANDRA-9829
> URL: https://issues.apache.org/jira/browse/CASSANDRA-9829
> Project: Cassandra
>  Issue Type: New Feature
>Reporter: Jonathan Ellis
>  Labels: compaction, performance
> Fix For: 3.x
>
>
> LCS works best when the top level is full.  Then 90% of reads can be served 
> from a single sstable.  By contrast if the top level is only 10% full then 
> 90% of reads will be served from two.  This results in worse performance as 
> well as confused users.
> To address this, we can adjust the ideal top level size to how much data is 
> actually in it (and set each corresponding lower level to 1/10 of the next 
> one above).
> (This is an idea [from 
> rocksdb|https://www.reddit.com/r/IAmA/comments/3de3cv/we_are_rocksdb_engineering_team_ask_us_anything/ct4asen].)



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


cassandra git commit: Fix PartitionUpdate.operationCount()for updates with static column

2015-10-28 Thread blerer
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-3.0 4d00468cc -> 3615da583


Fix PartitionUpdate.operationCount()for updates with static column

patch by Benjamin Lerer; reviewed by Sylvain Lebresne for CASSANDRA-10606


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

Branch: refs/heads/cassandra-3.0
Commit: 3615da58310a778c7ee6d9b2d77fd3fb7a6700f4
Parents: 4d00468
Author: Benjamin Lerer 
Authored: Wed Oct 28 17:41:03 2015 +0100
Committer: Benjamin Lerer 
Committed: Wed Oct 28 17:41:03 2015 +0100

--
 CHANGES.txt |  1 +
 .../db/partitions/PartitionUpdate.java  |  1 +
 .../db/partition/PartitionUpdateTest.java   | 67 
 3 files changed, 69 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/3615da58/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 3423a1e..c51cb51 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.0
+ * Fix PartitionUpdate.operationCount()for updates with static column 
operations (CASSANDRA-10606)
  * Fix thrift get() queries with defined columns (CASSANDRA-10586)
  * Fix marking of indexes as built and removed (CASSANDRA-10601)
  * Skip initialization of non-registered 2i instances, remove 
Index::getIndexName (CASSANDRA-10595)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/3615da58/src/java/org/apache/cassandra/db/partitions/PartitionUpdate.java
--
diff --git a/src/java/org/apache/cassandra/db/partitions/PartitionUpdate.java 
b/src/java/org/apache/cassandra/db/partitions/PartitionUpdate.java
index b1776ca..52f8f67 100644
--- a/src/java/org/apache/cassandra/db/partitions/PartitionUpdate.java
+++ b/src/java/org/apache/cassandra/db/partitions/PartitionUpdate.java
@@ -334,6 +334,7 @@ public class PartitionUpdate extends AbstractBTreePartition
 public int operationCount()
 {
 return rowCount()
+ + (staticRow().isEmpty() ? 0 : 1)
  + deletionInfo.rangeCount()
  + (deletionInfo.getPartitionDeletion().isLive() ? 0 : 1);
 }

http://git-wip-us.apache.org/repos/asf/cassandra/blob/3615da58/test/unit/org/apache/cassandra/db/partition/PartitionUpdateTest.java
--
diff --git 
a/test/unit/org/apache/cassandra/db/partition/PartitionUpdateTest.java 
b/test/unit/org/apache/cassandra/db/partition/PartitionUpdateTest.java
new file mode 100644
index 000..a069db1
--- /dev/null
+++ b/test/unit/org/apache/cassandra/db/partition/PartitionUpdateTest.java
@@ -0,0 +1,67 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.cassandra.db.partition;
+
+import org.apache.cassandra.config.CFMetaData;
+import org.apache.cassandra.cql3.CQLTester;
+import org.apache.cassandra.db.RowUpdateBuilder;
+import org.apache.cassandra.db.partitions.PartitionUpdate;
+import org.apache.cassandra.utils.FBUtilities;
+import org.junit.Test;
+
+import junit.framework.Assert;
+
+public class PartitionUpdateTest extends CQLTester
+{
+@Test
+public void testOperationCount()
+{
+createTable("CREATE TABLE %s (key text, clustering int, a int, s int 
static, PRIMARY KEY(key, clustering))");
+CFMetaData cfm = currentTableMetadata();
+
+long timestamp = FBUtilities.timestampMicros();
+PartitionUpdate update = new RowUpdateBuilder(cfm, timestamp, 
"key0").clustering(1).add("a", 1).buildUpdate();
+Assert.assertEquals(1, update.operationCount());
+
+update = new RowUpdateBuilder(cfm, timestamp, "key0").buildUpdate();
+Assert.assertEquals(0, update.operationCount());
+
+update = new RowUpdateBuilder(cfm, timestamp, "key0").add("s", 
1).buildUpdate();
+ 

[jira] [Created] (CASSANDRA-10614) AsertionError while flushing memtables

2015-10-28 Thread Tyler Hobbs (JIRA)
Tyler Hobbs created CASSANDRA-10614:
---

 Summary: AsertionError while flushing memtables
 Key: CASSANDRA-10614
 URL: https://issues.apache.org/jira/browse/CASSANDRA-10614
 Project: Cassandra
  Issue Type: Bug
  Components: Core
Reporter: Tyler Hobbs
Priority: Critical
 Fix For: 3.0.0


While running mvbench against a single local node, I noticed this stacktrace 
showing up multiple times in the logs:

{noformat}
ERROR 16:40:01 Exception in thread Thread[MemtableFlushWriter:1,5,main]
java.lang.AssertionError: null
at org.apache.cassandra.db.rows.Rows.collectStats(Rows.java:70) 
~[main/:na]
at 
org.apache.cassandra.io.sstable.format.big.BigTableWriter$StatsCollector.applyToRow(BigTableWriter.java:197)
 ~[main/:na]
at 
org.apache.cassandra.db.transform.BaseRows.hasNext(BaseRows.java:116) 
~[main/:na]
at 
org.apache.cassandra.db.transform.UnfilteredRows.isEmpty(UnfilteredRows.java:38)
 ~[main/:na]
at 
org.apache.cassandra.db.ColumnIndex.writeAndBuildIndex(ColumnIndex.java:49) 
~[main/:na]
at 
org.apache.cassandra.io.sstable.format.big.BigTableWriter.append(BigTableWriter.java:149)
 ~[main/:na]
at 
org.apache.cassandra.io.sstable.SimpleSSTableMultiWriter.append(SimpleSSTableMultiWriter.java:45)
 ~[main/:na]
at 
org.apache.cassandra.io.sstable.SSTableTxnWriter.append(SSTableTxnWriter.java:52)
 ~[main/:na]
at 
org.apache.cassandra.db.Memtable$FlushRunnable.writeSortedContents(Memtable.java:389)
 ~[main/:na]
at 
org.apache.cassandra.db.Memtable$FlushRunnable.runMayThrow(Memtable.java:352) 
~[main/:na]
at 
org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) 
~[main/:na]
at 
com.google.common.util.concurrent.MoreExecutors$DirectExecutorService.execute(MoreExecutors.java:299)
 ~[guava-18.0.jar:na]
at 
org.apache.cassandra.db.ColumnFamilyStore$Flush.run(ColumnFamilyStore.java:1037)
 ~[main/:na]
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
~[na:1.8.0_45]
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
~[na:1.8.0_45]
at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_45]
{noformat}

To reproduce, run mvbench with the regular schema and the following arguments:

{noformat}
mvn exec:java -Dexec.args="--num-users 10 --num-songs 100 --num-artists 
1 -n 50 --endpoint 127.0.0.1"
{noformat}



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


[jira] [Updated] (CASSANDRA-10581) Update cassandra.yaml comments to reflect memory_allocator deprecation, remove in 3.0

2015-10-28 Thread Jim Witschey (JIRA)

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

Jim Witschey updated CASSANDRA-10581:
-
Description: 
Looks like in 2.2+ changing the {{memory_allocator}} field in cassandra.yaml 
has no effect:

https://github.com/apache/cassandra/commit/0d2ec11c7e0abfb84d872289af6d3ac386cf381f#diff-b66584c9ce7b64019b5db5a531deeda1R207

The instructions in comments on how to use jemalloc haven't been updated to 
reflect this change. [~snazy], is that an accurate assessment?

[~iamaleksey] How do we want to handle the deprecation more generally? Warn on 
2.2, remove in 3.0?

EDIT: I described this in a way that isn't very clear to those unfamiliar with 
Robert's change. To be clear: You can still use JEMAlloc with Cassandra. The 
{{memory_allocator}} option was deprecated in favor of automatically detecting 
if JEMAlloc is installed, and, if so, using it. 

  was:
Looks like in 2.2+ changing the {{memory_allocator}} field in cassandra.yaml 
has no effect:

https://github.com/apache/cassandra/commit/0d2ec11c7e0abfb84d872289af6d3ac386cf381f#diff-b66584c9ce7b64019b5db5a531deeda1R207

The instructions in comments on how to use jemalloc haven't been updated to 
reflect this change. [~snazy], is that an accurate assessment?

[~iamaleksey] How do we want to handle the deprecation more generally? Warn on 
2.2, remove in 3.0?


> Update cassandra.yaml comments to reflect memory_allocator deprecation, 
> remove in 3.0
> -
>
> Key: CASSANDRA-10581
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10581
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Jim Witschey
>Assignee: Robert Stupp
> Fix For: 2.2.x, 3.0.0
>
>
> Looks like in 2.2+ changing the {{memory_allocator}} field in cassandra.yaml 
> has no effect:
> https://github.com/apache/cassandra/commit/0d2ec11c7e0abfb84d872289af6d3ac386cf381f#diff-b66584c9ce7b64019b5db5a531deeda1R207
> The instructions in comments on how to use jemalloc haven't been updated to 
> reflect this change. [~snazy], is that an accurate assessment?
> [~iamaleksey] How do we want to handle the deprecation more generally? Warn 
> on 2.2, remove in 3.0?
> EDIT: I described this in a way that isn't very clear to those unfamiliar 
> with Robert's change. To be clear: You can still use JEMAlloc with Cassandra. 
> The {{memory_allocator}} option was deprecated in favor of automatically 
> detecting if JEMAlloc is installed, and, if so, using it. 



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


[jira] [Updated] (CASSANDRA-8844) Change Data Capture (CDC)

2015-10-28 Thread Joshua McKenzie (JIRA)

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

Joshua McKenzie updated CASSANDRA-8844:
---
Component/s: Local Write-Read Paths
 Coordination

> Change Data Capture (CDC)
> -
>
> Key: CASSANDRA-8844
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8844
> Project: Cassandra
>  Issue Type: New Feature
>  Components: Coordination, Local Write-Read Paths
>Reporter: Tupshin Harper
>Assignee: Joshua McKenzie
>Priority: Critical
> Fix For: 3.x
>
>
> "In databases, change data capture (CDC) is a set of software design patterns 
> used to determine (and track) the data that has changed so that action can be 
> taken using the changed data. Also, Change data capture (CDC) is an approach 
> to data integration that is based on the identification, capture and delivery 
> of the changes made to enterprise data sources."
> -Wikipedia
> As Cassandra is increasingly being used as the Source of Record (SoR) for 
> mission critical data in large enterprises, it is increasingly being called 
> upon to act as the central hub of traffic and data flow to other systems. In 
> order to try to address the general need, we (cc [~brianmhess]), propose 
> implementing a simple data logging mechanism to enable per-table CDC patterns.
> h2. The goals:
> # Use CQL as the primary ingestion mechanism, in order to leverage its 
> Consistency Level semantics, and in order to treat it as the single 
> reliable/durable SoR for the data.
> # To provide a mechanism for implementing good and reliable 
> (deliver-at-least-once with possible mechanisms for deliver-exactly-once ) 
> continuous semi-realtime feeds of mutations going into a Cassandra cluster.
> # To eliminate the developmental and operational burden of users so that they 
> don't have to do dual writes to other systems.
> # For users that are currently doing batch export from a Cassandra system, 
> give them the opportunity to make that realtime with a minimum of coding.
> h2. The mechanism:
> We propose a durable logging mechanism that functions similar to a commitlog, 
> with the following nuances:
> - Takes place on every node, not just the coordinator, so RF number of copies 
> are logged.
> - Separate log per table.
> - Per-table configuration. Only tables that are specified as CDC_LOG would do 
> any logging.
> - Per DC. We are trying to keep the complexity to a minimum to make this an 
> easy enhancement, but most likely use cases would prefer to only implement 
> CDC logging in one (or a subset) of the DCs that are being replicated to
> - In the critical path of ConsistencyLevel acknowledgment. Just as with the 
> commitlog, failure to write to the CDC log should fail that node's write. If 
> that means the requested consistency level was not met, then clients *should* 
> experience UnavailableExceptions.
> - Be written in a Row-centric manner such that it is easy for consumers to 
> reconstitute rows atomically.
> - Written in a simple format designed to be consumed *directly* by daemons 
> written in non JVM languages
> h2. Nice-to-haves
> I strongly suspect that the following features will be asked for, but I also 
> believe that they can be deferred for a subsequent release, and to guage 
> actual interest.
> - Multiple logs per table. This would make it easy to have multiple 
> "subscribers" to a single table's changes. A workaround would be to create a 
> forking daemon listener, but that's not a great answer.
> - Log filtering. Being able to apply filters, including UDF-based filters 
> would make Casandra a much more versatile feeder into other systems, and 
> again, reduce complexity that would otherwise need to be built into the 
> daemons.
> h2. Format and Consumption
> - Cassandra would only write to the CDC log, and never delete from it. 
> - Cleaning up consumed logfiles would be the client daemon's responibility
> - Logfile size should probably be configurable.
> - Logfiles should be named with a predictable naming schema, making it 
> triivial to process them in order.
> - Daemons should be able to checkpoint their work, and resume from where they 
> left off. This means they would have to leave some file artifact in the CDC 
> log's directory.
> - A sophisticated daemon should be able to be written that could 
> -- Catch up, in written-order, even when it is multiple logfiles behind in 
> processing
> -- Be able to continuously "tail" the most recent logfile and get 
> low-latency(ms?) access to the data as it is written.
> h2. Alternate approach
> In order to make consuming a change log easy and efficient to do with low 
> latency, the following could supplement the approach outlined above
> - Instead of writing to a logfile, by default, Cassandra could expose a 
> socket for a daemon 

[jira] [Updated] (CASSANDRA-8895) Compressed sstables should only compress if the win is above a certain threshold, and should use a variable block size

2015-10-28 Thread Paulo Motta (JIRA)

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

Paulo Motta updated CASSANDRA-8895:
---
Assignee: (was: Paulo Motta)

> Compressed sstables should only compress if the win is above a certain 
> threshold, and should use a variable block size
> --
>
> Key: CASSANDRA-8895
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8895
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Benedict
>  Labels: performance
> Fix For: 3.x
>
>
> On performing a flush to disk, we should assess if the data we're flushing 
> will actually be substantively compressed, and how large the page should be 
> to get optimal compression ratio versus read latency. Decompressing 64Kb 
> chunks is wasteful when reading small records.



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


[jira] [Commented] (CASSANDRA-10604) Secondary index metadata is not reloaded when table is altered

2015-10-28 Thread Tyler Hobbs (JIRA)

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

Tyler Hobbs commented on CASSANDRA-10604:
-

+1 on the code changes.  The testall failures either don't seem to be related 
or are not regressions.  Assuming the dtest results look okay, you should be 
good to commit.

> Secondary index metadata is not reloaded when table is altered
> --
>
> Key: CASSANDRA-10604
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10604
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Reporter: Tyler Hobbs
>Assignee: Sam Tunnicliffe
> Fix For: 3.x
>
>
> The javadocs for {{Index.getMetadataReloadTask()}} state the following:
> {quote}
> Returns a task to reload the internal metadata of an index.
> Called when the base table metadata is modified or when the configuration of 
> the Index is updated.
> {quote}
> However, altering a table does not result in the reload task being executed.  
> I think the root of the problem is that in 
> {{SecondaryIndexManager.reloadIndex()}}, we only execute the reload task when 
> the old {{IndexMetadata}} does not equal the current {{IndexMetadata}}.  
> Altering the table does not change the index metadata, so this check always 
> fails.
> This especially affects per-row secondary indexes, where the index may need 
> to handle columns being added or dropped.



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


[jira] [Updated] (CASSANDRA-10605) MessagingService: COUNTER_MUTATION verb is associated with MUTATION stage

2015-10-28 Thread Anubhav Kale (JIRA)

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

Anubhav Kale updated CASSANDRA-10605:
-
Reproduced In: 3.x  (was: 2.1.11)

> MessagingService: COUNTER_MUTATION verb is associated with MUTATION stage
> -
>
> Key: CASSANDRA-10605
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10605
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Reporter: Anubhav Kale
> Fix For: 2.1.10
>
> Attachments: trunk-10605.patch
>
>
> In MessagingService.java, I see that the verb COUNTER_MUTATION is associated 
> with COUNTER_MUTATION stage first, and later with MUTATION stage. We should 
> remove appropriate entry.
> I marked this as Major because I think the stage assignment is wrong.
> What should this be assigned to ?
> public static final EnumMap verbStages = new 
> EnumMap(MessagingService.Verb.class)
> {{
> put(Verb.MUTATION, Stage.MUTATION);
> put(Verb.COUNTER_MUTATION, Stage.COUNTER_MUTATION);*
> put(Verb.READ_REPAIR, Stage.MUTATION);
> put(Verb.HINT, Stage.MUTATION);
> put(Verb.TRUNCATE, Stage.MUTATION);
> put(Verb.PAXOS_PREPARE, Stage.MUTATION);
> put(Verb.PAXOS_PROPOSE, Stage.MUTATION);
> put(Verb.PAXOS_COMMIT, Stage.MUTATION);
> put(Verb.BATCH_STORE, Stage.MUTATION);
> put(Verb.BATCH_REMOVE, Stage.MUTATION);
> put(Verb.READ, Stage.READ);
> put(Verb.RANGE_SLICE, Stage.READ);
> put(Verb.INDEX_SCAN, Stage.READ);
> put(Verb.PAGED_RANGE, Stage.READ);
> put(Verb.REQUEST_RESPONSE, Stage.REQUEST_RESPONSE);
> put(Verb.INTERNAL_RESPONSE, Stage.INTERNAL_RESPONSE);
> put(Verb.STREAM_REPLY, Stage.MISC); // actually handled by 
> FileStreamTask and streamExecutors
> put(Verb.STREAM_REQUEST, Stage.MISC);
> put(Verb.REPLICATION_FINISHED, Stage.MISC);
> put(Verb.SNAPSHOT, Stage.MISC);
> put(Verb.TREE_REQUEST, Stage.ANTI_ENTROPY);
> put(Verb.TREE_RESPONSE, Stage.ANTI_ENTROPY);
> put(Verb.STREAMING_REPAIR_REQUEST, Stage.ANTI_ENTROPY);
> put(Verb.STREAMING_REPAIR_RESPONSE, Stage.ANTI_ENTROPY);
> put(Verb.REPAIR_MESSAGE, Stage.ANTI_ENTROPY);
> put(Verb.GOSSIP_DIGEST_ACK, Stage.GOSSIP);
> put(Verb.GOSSIP_DIGEST_ACK2, Stage.GOSSIP);
> put(Verb.GOSSIP_DIGEST_SYN, Stage.GOSSIP);
> put(Verb.GOSSIP_SHUTDOWN, Stage.GOSSIP);
> put(Verb.DEFINITIONS_UPDATE, Stage.MIGRATION);
> put(Verb.SCHEMA_CHECK, Stage.MIGRATION);
> put(Verb.MIGRATION_REQUEST, Stage.MIGRATION);
> put(Verb.INDEX_SCAN, Stage.READ);
> put(Verb.REPLICATION_FINISHED, Stage.MISC);
> *put(Verb.COUNTER_MUTATION, Stage.MUTATION);**
> put(Verb.SNAPSHOT, Stage.MISC);
> put(Verb.ECHO, Stage.GOSSIP);
> put(Verb.UNUSED_1, Stage.INTERNAL_RESPONSE);
> put(Verb.UNUSED_2, Stage.INTERNAL_RESPONSE);
> put(Verb.UNUSED_3, Stage.INTERNAL_RESPONSE);
> }};



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


[jira] [Updated] (CASSANDRA-10605) MessagingService: COUNTER_MUTATION verb is associated with MUTATION stage

2015-10-28 Thread Anubhav Kale (JIRA)

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

Anubhav Kale updated CASSANDRA-10605:
-
Priority: Major  (was: Minor)

> MessagingService: COUNTER_MUTATION verb is associated with MUTATION stage
> -
>
> Key: CASSANDRA-10605
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10605
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Reporter: Anubhav Kale
> Fix For: 2.1.10
>
> Attachments: trunk-10605.patch
>
>
> In MessagingService.java, I see that the verb COUNTER_MUTATION is associated 
> with COUNTER_MUTATION stage first, and later with MUTATION stage. We should 
> remove appropriate entry.
> I marked this as Major because I think the stage assignment is wrong.
> What should this be assigned to ?
> public static final EnumMap verbStages = new 
> EnumMap(MessagingService.Verb.class)
> {{
> put(Verb.MUTATION, Stage.MUTATION);
> put(Verb.COUNTER_MUTATION, Stage.COUNTER_MUTATION);*
> put(Verb.READ_REPAIR, Stage.MUTATION);
> put(Verb.HINT, Stage.MUTATION);
> put(Verb.TRUNCATE, Stage.MUTATION);
> put(Verb.PAXOS_PREPARE, Stage.MUTATION);
> put(Verb.PAXOS_PROPOSE, Stage.MUTATION);
> put(Verb.PAXOS_COMMIT, Stage.MUTATION);
> put(Verb.BATCH_STORE, Stage.MUTATION);
> put(Verb.BATCH_REMOVE, Stage.MUTATION);
> put(Verb.READ, Stage.READ);
> put(Verb.RANGE_SLICE, Stage.READ);
> put(Verb.INDEX_SCAN, Stage.READ);
> put(Verb.PAGED_RANGE, Stage.READ);
> put(Verb.REQUEST_RESPONSE, Stage.REQUEST_RESPONSE);
> put(Verb.INTERNAL_RESPONSE, Stage.INTERNAL_RESPONSE);
> put(Verb.STREAM_REPLY, Stage.MISC); // actually handled by 
> FileStreamTask and streamExecutors
> put(Verb.STREAM_REQUEST, Stage.MISC);
> put(Verb.REPLICATION_FINISHED, Stage.MISC);
> put(Verb.SNAPSHOT, Stage.MISC);
> put(Verb.TREE_REQUEST, Stage.ANTI_ENTROPY);
> put(Verb.TREE_RESPONSE, Stage.ANTI_ENTROPY);
> put(Verb.STREAMING_REPAIR_REQUEST, Stage.ANTI_ENTROPY);
> put(Verb.STREAMING_REPAIR_RESPONSE, Stage.ANTI_ENTROPY);
> put(Verb.REPAIR_MESSAGE, Stage.ANTI_ENTROPY);
> put(Verb.GOSSIP_DIGEST_ACK, Stage.GOSSIP);
> put(Verb.GOSSIP_DIGEST_ACK2, Stage.GOSSIP);
> put(Verb.GOSSIP_DIGEST_SYN, Stage.GOSSIP);
> put(Verb.GOSSIP_SHUTDOWN, Stage.GOSSIP);
> put(Verb.DEFINITIONS_UPDATE, Stage.MIGRATION);
> put(Verb.SCHEMA_CHECK, Stage.MIGRATION);
> put(Verb.MIGRATION_REQUEST, Stage.MIGRATION);
> put(Verb.INDEX_SCAN, Stage.READ);
> put(Verb.REPLICATION_FINISHED, Stage.MISC);
> *put(Verb.COUNTER_MUTATION, Stage.MUTATION);**
> put(Verb.SNAPSHOT, Stage.MISC);
> put(Verb.ECHO, Stage.GOSSIP);
> put(Verb.UNUSED_1, Stage.INTERNAL_RESPONSE);
> put(Verb.UNUSED_2, Stage.INTERNAL_RESPONSE);
> put(Verb.UNUSED_3, Stage.INTERNAL_RESPONSE);
> }};



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


[jira] [Commented] (CASSANDRA-10365) Consider storing types by their CQL names in schema tables instead of fully-qualified internal class names

2015-10-28 Thread Adam Holmberg (JIRA)

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

Adam Holmberg commented on CASSANDRA-10365:
---

Repeating here for additional contributors.
Python dev branch for this is 
[422|https://github.com/datastax/python-driver/tree/422]

- Requires CASSANDRA-10513 patch for use with cqlsh
- Still testing functionality outside of metadata integration

> Consider storing types by their CQL names in schema tables instead of 
> fully-qualified internal class names
> --
>
> Key: CASSANDRA-10365
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10365
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Aleksey Yeschenko
>Assignee: Aleksey Yeschenko
>  Labels: client-impacting
> Fix For: 3.0.0
>
>
> Consider saving CQL types names for column, UDF/UDA arguments and return 
> types, and UDT components.



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


[jira] [Commented] (CASSANDRA-10576) Thrift CAS on static columns doesn't work as expected

2015-10-28 Thread Sylvain Lebresne (JIRA)

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

Sylvain Lebresne commented on CASSANDRA-10576:
--

+1

Nit: in {{ThriftCasRequest}}, there is 2 places where we do {{if (expected == 
null || expected.isEmpty())}}: we can ditch the {{expected == null}} now. 

> Thrift CAS on static columns doesn't work as expected
> -
>
> Key: CASSANDRA-10576
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10576
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Sam Tunnicliffe
>Assignee: Sam Tunnicliffe
> Fix For: 3.0.0
>
>
> Although the thrift cas call works as expected for dynamic column families, 
> using it on tables with statically defined columns produces unexpected 
> results. The problem, in {{ThriftCASRequest}}, is that while the {{expected}} 
> partition contains a static row, the {{current}} partition has been processed 
> by {{ThriftResultsMerger}} during the read, converting the static columns to 
> clusterings. If {{expected}} contains only a static row, no further checking 
> is carried out, {{appliesTo}} erroneously returns true and the conditional 
> update is performed regardless of the current state of the partition.



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


[jira] [Updated] (CASSANDRA-10606) PartitionUpdate.operationCount() return the wrong number of operation for compact tables

2015-10-28 Thread Joshua McKenzie (JIRA)

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

Joshua McKenzie updated CASSANDRA-10606:

Reviewer: Sylvain Lebresne

> PartitionUpdate.operationCount() return the wrong number of operation for 
> compact tables
> 
>
> Key: CASSANDRA-10606
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10606
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Benjamin Lerer
>Assignee: Benjamin Lerer
> Fix For: 3.0.0
>
> Attachments: 10606-3.0-V2.txt, 10606-3.0-V3.txt, 10606-3.0.txt
>
>
> For compact tables {{PartitionUpdate.operationCount()}} return the wrong 
> number of operation as it does not take into operation on static rows.



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


[jira] [Updated] (CASSANDRA-10608) Adding a dynamic column to a compact storage table with the same name as the partition key causes a memtable flush deadlock

2015-10-28 Thread Joshua McKenzie (JIRA)

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

Joshua McKenzie updated CASSANDRA-10608:

Reviewer: T Jake Luciani

> Adding a dynamic column to a compact storage table with the same name as the 
> partition key causes a memtable flush deadlock
> ---
>
> Key: CASSANDRA-10608
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10608
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Reporter: Mike Adamson
>Assignee: Mike Adamson
>Priority: Minor
> Fix For: 3.0.0
>
> Attachments: 10608.txt
>
>
> The reproduction steps for this are as follows: 
> # Create the following schema:
> {noformat}
> CREATE KEYSPACE ks WITH replication = { 'class': 'SimpleStrategy', 
> 'replication_factor': '1'};
> CREATE TABLE ks.cf (k int, v int, PRIMARY KEY(k)) WITH COMPACT STORAGE;
> {noformat}
> # Using the thrift client execute the following:
> {noformat}
> Column column = new Column(ByteBufferUtil.bytes("k"));
> column.setValue(ByteBufferUtil.bytes(1));
> column.setTimestamp(1);
> client.insert(key, new ColumnParent(compactCf), column, 
> ConsistencyLevel.ONE);
> {noformat}
> This causes an invalid {{PartitionUpdate}} to be added to {{Memtable}} 
> containing a {{PartitionColumns}} containing the partition key 
> {{ColumnDefinition}}.
> This happens because {{LegacyLayout.decodeCellName}} does not check whether 
> the {{ColumnDefinition}} is a partition key 



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


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

2015-10-28 Thread slebresne
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/9be01e34
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/9be01e34
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/9be01e34

Branch: refs/heads/trunk
Commit: 9be01e34c8adaa9558458e864969d22b05cb8e87
Parents: 30d5b65 4d00468
Author: Sylvain Lebresne 
Authored: Wed Oct 28 16:14:10 2015 +0100
Committer: Sylvain Lebresne 
Committed: Wed Oct 28 16:14:10 2015 +0100

--
 CHANGES.txt|  1 +
 .../apache/cassandra/thrift/CassandraServer.java   | 17 +++--
 2 files changed, 16 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/9be01e34/CHANGES.txt
--
diff --cc CHANGES.txt
index 5f3abbe,3423a1e..04cefae
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,10 -1,5 +1,11 @@@
 +3.2
 + * Added graphing option to cassandra-stress (CASSANDRA-7918)
 + * Abort in-progress queries that time out (CASSANDRA-7392)
 + * Add transparent data encryption core classes (CASSANDRA-9945)
 +
 +
  3.0
+  * Fix thrift get() queries with defined columns (CASSANDRA-10586)
   * Fix marking of indexes as built and removed (CASSANDRA-10601)
   * Skip initialization of non-registered 2i instances, remove 
Index::getIndexName (CASSANDRA-10595)
   * Fix batches on multiple tables (CASSANDRA-10554)



[1/2] cassandra git commit: Fix thrift get() when reading regular columns

2015-10-28 Thread slebresne
Repository: cassandra
Updated Branches:
  refs/heads/trunk 30d5b6543 -> 9be01e34c


Fix thrift get() when reading regular columns

patch by slebresne; reviewed by iamaleksey for CASSANDRA-10586


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

Branch: refs/heads/trunk
Commit: 4d00468cc38014ed1bd7f9da93ef3a339682f7c1
Parents: 6903727
Author: Sylvain Lebresne 
Authored: Tue Oct 27 14:46:56 2015 +0100
Committer: Sylvain Lebresne 
Committed: Wed Oct 28 16:10:51 2015 +0100

--
 CHANGES.txt|  1 +
 .../apache/cassandra/thrift/CassandraServer.java   | 17 +++--
 2 files changed, 16 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/4d00468c/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index b4cc43b..3423a1e 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.0
+ * Fix thrift get() queries with defined columns (CASSANDRA-10586)
  * Fix marking of indexes as built and removed (CASSANDRA-10601)
  * Skip initialization of non-registered 2i instances, remove 
Index::getIndexName (CASSANDRA-10595)
  * Fix batches on multiple tables (CASSANDRA-10554)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/4d00468c/src/java/org/apache/cassandra/thrift/CassandraServer.java
--
diff --git a/src/java/org/apache/cassandra/thrift/CassandraServer.java 
b/src/java/org/apache/cassandra/thrift/CassandraServer.java
index 538d128..2a3f73d 100644
--- a/src/java/org/apache/cassandra/thrift/CassandraServer.java
+++ b/src/java/org/apache/cassandra/thrift/CassandraServer.java
@@ -623,8 +623,21 @@ public class CassandraServer implements Cassandra.Iface
 else
 {
 LegacyLayout.LegacyCellName cellname = 
LegacyLayout.decodeCellName(metadata, column_path.super_column, 
column_path.column);
-columns = 
ColumnFilter.selection(PartitionColumns.of(cellname.column));
-filter = new 
ClusteringIndexNamesFilter(FBUtilities.singleton(cellname.clustering, 
metadata.comparator), false);
+if (cellname.clustering == Clustering.STATIC_CLUSTERING)
+{
+// Same as above: even if we're querying a static column, 
we still query the equivalent dynamic column and value as some
+// values might have been created post creation of the 
column (ThriftResultMerger then ensures we get only one result).
+ColumnFilter.Builder builder = 
ColumnFilter.selectionBuilder();
+builder.add(cellname.column);
+builder.add(metadata.compactValueColumn());
+columns = builder.build();
+filter = new 
ClusteringIndexNamesFilter(FBUtilities.singleton(new 
Clustering(column_path.column), metadata.comparator), false);
+}
+else
+{
+columns = 
ColumnFilter.selection(PartitionColumns.of(cellname.column));
+filter = new 
ClusteringIndexNamesFilter(FBUtilities.singleton(cellname.clustering, 
metadata.comparator), false);
+}
 }
 
 DecoratedKey dk = metadata.decorateKey(key);



cassandra git commit: Fix thrift get() when reading regular columns

2015-10-28 Thread slebresne
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-3.0 690372755 -> 4d00468cc


Fix thrift get() when reading regular columns

patch by slebresne; reviewed by iamaleksey for CASSANDRA-10586


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

Branch: refs/heads/cassandra-3.0
Commit: 4d00468cc38014ed1bd7f9da93ef3a339682f7c1
Parents: 6903727
Author: Sylvain Lebresne 
Authored: Tue Oct 27 14:46:56 2015 +0100
Committer: Sylvain Lebresne 
Committed: Wed Oct 28 16:10:51 2015 +0100

--
 CHANGES.txt|  1 +
 .../apache/cassandra/thrift/CassandraServer.java   | 17 +++--
 2 files changed, 16 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/4d00468c/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index b4cc43b..3423a1e 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 3.0
+ * Fix thrift get() queries with defined columns (CASSANDRA-10586)
  * Fix marking of indexes as built and removed (CASSANDRA-10601)
  * Skip initialization of non-registered 2i instances, remove 
Index::getIndexName (CASSANDRA-10595)
  * Fix batches on multiple tables (CASSANDRA-10554)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/4d00468c/src/java/org/apache/cassandra/thrift/CassandraServer.java
--
diff --git a/src/java/org/apache/cassandra/thrift/CassandraServer.java 
b/src/java/org/apache/cassandra/thrift/CassandraServer.java
index 538d128..2a3f73d 100644
--- a/src/java/org/apache/cassandra/thrift/CassandraServer.java
+++ b/src/java/org/apache/cassandra/thrift/CassandraServer.java
@@ -623,8 +623,21 @@ public class CassandraServer implements Cassandra.Iface
 else
 {
 LegacyLayout.LegacyCellName cellname = 
LegacyLayout.decodeCellName(metadata, column_path.super_column, 
column_path.column);
-columns = 
ColumnFilter.selection(PartitionColumns.of(cellname.column));
-filter = new 
ClusteringIndexNamesFilter(FBUtilities.singleton(cellname.clustering, 
metadata.comparator), false);
+if (cellname.clustering == Clustering.STATIC_CLUSTERING)
+{
+// Same as above: even if we're querying a static column, 
we still query the equivalent dynamic column and value as some
+// values might have been created post creation of the 
column (ThriftResultMerger then ensures we get only one result).
+ColumnFilter.Builder builder = 
ColumnFilter.selectionBuilder();
+builder.add(cellname.column);
+builder.add(metadata.compactValueColumn());
+columns = builder.build();
+filter = new 
ClusteringIndexNamesFilter(FBUtilities.singleton(new 
Clustering(column_path.column), metadata.comparator), false);
+}
+else
+{
+columns = 
ColumnFilter.selection(PartitionColumns.of(cellname.column));
+filter = new 
ClusteringIndexNamesFilter(FBUtilities.singleton(cellname.clustering, 
metadata.comparator), false);
+}
 }
 
 DecoratedKey dk = metadata.decorateKey(key);



[jira] [Created] (CASSANDRA-10613) Upgrade test on 2.1->3.0 path fails with NPE in getExistingFiles (likely known bug)

2015-10-28 Thread Jim Witschey (JIRA)
Jim Witschey created CASSANDRA-10613:


 Summary: Upgrade test on 2.1->3.0 path fails with NPE in 
getExistingFiles (likely known bug)
 Key: CASSANDRA-10613
 URL: https://issues.apache.org/jira/browse/CASSANDRA-10613
 Project: Cassandra
  Issue Type: Sub-task
Reporter: Jim Witschey
Assignee: Russ Hatch


In this job:

http://cassci.datastax.com/view/Upgrades/job/cassandra_upgrade_2.1_to_3.0_proto_v3/10/

The following tests fail due to an NPE in 
{{org.apache.cassandra.db.lifecycle.LogRecord.getExistingFiles}}:

upgrade_through_versions_test.py:TestUpgrade_from_3_0_latest_tag_to_3_0_HEAD.bootstrap_test
upgrade_through_versions_test.py:TestUpgrade_from_3_0_latest_tag_to_3_0_HEAD.rolling_upgrade_test
upgrade_through_versions_test.py:TestUpgrade_from_3_0_latest_tag_to_3_0_HEAD.parallel_upgrade_with_internode_ssl_test
upgrade_through_versions_test.py:TestUpgrade_from_3_0_latest_tag_to_3_0_HEAD.rolling_upgrade_with_internode_ssl_test
upgrade_through_versions_test.py:TestUpgrade_from_cassandra_2_1_HEAD_to_cassandra_3_0_HEAD.rolling_upgrade_with_internode_ssl_test
upgrade_through_versions_test.py:TestUpgrade_from_3_0_latest_tag_to_3_0_HEAD.parallel_upgrade_test

I believe this is likely happening because of CASSANDRA-10602, so let's hold 
off on messing with this until that's merged.



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


[jira] [Commented] (CASSANDRA-10365) Consider storing types by their CQL names in schema tables instead of fully-qualified internal class names

2015-10-28 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko commented on CASSANDRA-10365:
---

bq. Curious if you have given any thought to storing 
system_schema.aggregates.initcond as a text CQL literal. This is the only thing 
I have come across in my integration thus far that requires the client to parse 
types in order to reproduce DDL.

[~snazy] was kind enough to volunteer to deal with that bit of the ticket - 
will most likely be done tomorrow, no objections.

> Consider storing types by their CQL names in schema tables instead of 
> fully-qualified internal class names
> --
>
> Key: CASSANDRA-10365
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10365
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Aleksey Yeschenko
>Assignee: Aleksey Yeschenko
>  Labels: client-impacting
> Fix For: 3.0.0
>
>
> Consider saving CQL types names for column, UDF/UDA arguments and return 
> types, and UDT components.



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


[jira] [Created] (CASSANDRA-10612) Protocol v3 upgrade tests on 2.1->3.0 path fail when compaction is interrupted

2015-10-28 Thread Jim Witschey (JIRA)
Jim Witschey created CASSANDRA-10612:


 Summary: Protocol v3 upgrade tests on 2.1->3.0 path fail when 
compaction is interrupted
 Key: CASSANDRA-10612
 URL: https://issues.apache.org/jira/browse/CASSANDRA-10612
 Project: Cassandra
  Issue Type: Sub-task
Reporter: Jim Witschey
Assignee: Russ Hatch


The following tests in the upgrade_through_versions dtest suite fail:

* 
upgrade_through_versions_test.py:TestRandomPartitionerUpgrade.rolling_upgrade_test
* 
upgrade_through_versions_test.py:TestRandomPartitionerUpgrade.rolling_upgrade_with_internode_ssl_test
* 
upgrade_through_versions_test.py:TestUpgradeThroughVersions.rolling_upgrade_with_internode_ssl_test
* 
upgrade_through_versions_test.py:TestUpgradeThroughVersions.rolling_upgrade_test
* 
upgrade_through_versions_test.py:TestUpgrade_from_2_1_latest_tag_to_cassandra_3_0_HEAD.rolling_upgrade_test
* 
upgrade_through_versions_test.py:TestUpgrade_from_2_1_latest_tag_to_cassandra_3_0_HEAD.rolling_upgrade_with_internode_ssl_test
* 
upgrade_through_versions_test.py:TestUpgrade_from_cassandra_2_1_HEAD_to_cassandra_3_0_latest_tag.rolling_upgrade_test
* 
upgrade_through_versions_test.py:TestUpgrade_from_cassandra_2_1_HEAD_to_cassandra_3_0_latest_tag.rolling_upgrade_with_internode_ssl_test
* 
upgrade_through_versions_test.py:TestUpgrade_from_cassandra_2_1_HEAD_to_cassandra_3_0_HEAD.rolling_upgrade_test

See this report:

http://cassci.datastax.com/view/Upgrades/job/cassandra_upgrade_2.1_to_3.0_proto_v3/10/testReport/

They fail with the following error:


{code}
A subprocess has terminated early. Subprocess statuses: Process-41 (is_alive: 
True), Process-42 (is_alive: False), Process-43 (is_alive: True), Process-44 
(is_alive: False), attempting to terminate remaining subprocesses now.
{code}

and with logs that look like this:

{code}
Unexpected error in node1 node log: ['ERROR [SecondaryIndexManagement:1] 
2015-10-27 00:06:52,335 CassandraDaemon.java:195 - Exception in thread 
Thread[SecondaryIndexManagement:1,5,main] java.lang.RuntimeException: 
java.util.concurrent.ExecutionException: 
org.apache.cassandra.db.compaction.CompactionInterruptedException: Compaction 
interrupted: Secondary index 
build@41202370-7c3e-11e5-9331-6bb6e58f8b1b(upgrade, cf, 578160/1663620)bytes
at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:368) 
~[main/:na]
at 
org.apache.cassandra.index.internal.CassandraIndex.buildBlocking(CassandraIndex.java:688)
 ~[main/:na]
at 
org.apache.cassandra.index.internal.CassandraIndex.lambda$getBuildIndexTask$206(CassandraIndex.java:658)
 ~[main/:na]
at 
org.apache.cassandra.index.internal.CassandraIndex$$Lambda$151/1841229245.call(Unknown
 Source) ~[na:na]
at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_51]
at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
~[na:1.8.0_51]
at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
[na:1.8.0_51]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_51] Caused by: 
java.util.concurrent.ExecutionException: 
org.apache.cassandra.db.compaction.CompactionInterruptedException: Compaction 
interrupted: Secondary index 
build@41202370-7c3e-11e5-9331-6bb6e58f8b1b(upgrade, cf, 
578160/{code}1663620)bytes
at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[na:1.8.0_51]
at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[na:1.8.0_51]
at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:364) 
~[main/:na]
... 7 common frames omitted Caused by: 
org.apache.cassandra.db.compaction.CompactionInterruptedException: Compaction 
interrupted: Secondary index 
build@41202370-7c3e-11e5-9331-6bb6e58f8b1b(upgrade, cf, 578160/1663620)bytes
at 
org.apache.cassandra.index.SecondaryIndexBuilder.build(SecondaryIndexBuilder.java:67)
 ~[main/:na]
at 
org.apache.cassandra.db.compaction.CompactionManager$11.run(CompactionManager.java:1269)
 ~[main/:na]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
~[na:1.8.0_51]
... 4 common frames omitted', 'ERROR [HintsDispatcher:2] 2015-10-27 
00:08:48,520 CassandraDaemon.java:195 - Exception in thread 
Thread[HintsDispatcher:2,1,main]', 'ERROR [HintsDispatcher:2] 2015-10-27 
00:11:58,336 CassandraDaemon.java:195 - Exception in thread 
Thread[HintsDispatcher:2,1,main]']
{code}



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


[jira] [Commented] (CASSANDRA-10586) thrift get on compact storage table broken

2015-10-28 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko commented on CASSANDRA-10586:
---

+1

> thrift get on compact storage table broken
> --
>
> Key: CASSANDRA-10586
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10586
> Project: Cassandra
>  Issue Type: Sub-task
>  Components: Core
>Reporter: Jeremiah Jordan
>Assignee: Sylvain Lebresne
>Priority: Critical
> Fix For: 3.0.0
>
>
> dtest here that triggers the issue:
> https://github.com/riptano/cassandra-dtest/pull/629
> {code}
> class TestCompactStorageThriftAccesses(ThriftTester):
> def test_get(self):
> node1, = self.cluster.nodelist()
> session = self.patient_cql_connection(node1)
> # Create a CQL table with a static column and insert a row
> session.execute("USE \"Keyspace1\"");
> session.execute("CREATE TABLE IF NOT EXISTS cs1 (k int PRIMARY KEY,v 
> int) WITH COMPACT STORAGE");
> _set_keyspace('Keyspace1')
> CL = ConsistencyLevel.ONE
> i=1
> client.insert(_i32(i), ColumnParent('cs1'), Column('v', _i32(i), 0), 
> CL)
> _assert_column('cs1', _i32(i), 'v', _i32(i), 0)
> {code}
> {noformat}
> $ CASSANDRA_DIR=../cassandra nosetests 
> thrift_tests:TestCompactStorageThriftAccesses
> EE
> ==
> ERROR: test_get (thrift_tests.TestCompactStorageThriftAccesses)
> --
> Traceback (most recent call last):
>   File "/Users/jeremiah/github/cassandra-dtest/thrift_tests.py", line 2342, 
> in test_get
> _assert_column('cs1', _i32(i), 'v', _i32(i), 0)
>   File "/Users/jeremiah/github/cassandra-dtest/thrift_tests.py", line 138, in 
> _assert_column
> assert client.get(key, ColumnPath(column_family, column=column), 
> ConsistencyLevel.ONE).column == Column(column, value, ts)
>   File 
> "/Users/jeremiah/github/cassandra-dtest/thrift_bindings/v22/Cassandra.py", 
> line 585, in get
> return self.recv_get()
>   File 
> "/Users/jeremiah/github/cassandra-dtest/thrift_bindings/v22/Cassandra.py", 
> line 598, in recv_get
> (fname, mtype, rseqid) = self._iprot.readMessageBegin()
>   File 
> "/Users/jeremiah/.virtualenvs/py27/lib/python2.7/site-packages/thrift/protocol/TBinaryProtocol.py",
>  line 126, in readMessageBegin
> sz = self.readI32()
>   File 
> "/Users/jeremiah/.virtualenvs/py27/lib/python2.7/site-packages/thrift/protocol/TBinaryProtocol.py",
>  line 206, in readI32
> buff = self.trans.readAll(4)
>   File 
> "/Users/jeremiah/.virtualenvs/py27/lib/python2.7/site-packages/thrift/transport/TTransport.py",
>  line 58, in readAll
> chunk = self.read(sz - have)
>   File 
> "/Users/jeremiah/.virtualenvs/py27/lib/python2.7/site-packages/thrift/transport/TTransport.py",
>  line 276, in read
> self.readFrame()
>   File 
> "/Users/jeremiah/.virtualenvs/py27/lib/python2.7/site-packages/thrift/transport/TTransport.py",
>  line 280, in readFrame
> buff = self.__trans.readAll(4)
>   File 
> "/Users/jeremiah/.virtualenvs/py27/lib/python2.7/site-packages/thrift/transport/TTransport.py",
>  line 58, in readAll
> chunk = self.read(sz - have)
>   File 
> "/Users/jeremiah/.virtualenvs/py27/lib/python2.7/site-packages/thrift/transport/TSocket.py",
>  line 120, in read
> message='TSocket read 0 bytes')
> TTransportException: TSocket read 0 bytes
>  >> begin captured stdout << -
> [node1 ERROR] objc[10539]: Class JavaLaunchHelper is implemented in both 
> /Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home//bin/java and 
> /Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home/jre/lib/libinstrument.dylib.
>  One of the two will be used. Which one is undefined.
> - >> end captured stdout << --
>  >> begin captured logging << 
> dtest: DEBUG: cluster ccm directory: 
> /var/folders/t4/rlc2b6450qbg92762l9l4mt8gn/T/dtest-HtfTkF
> - >> end captured logging << -
> ==
> ERROR: test_get (thrift_tests.TestCompactStorageThriftAccesses)
> --
> Traceback (most recent call last):
>   File "/Users/jeremiah/github/cassandra-dtest/dtest.py", line 550, in 
> tearDown
> raise AssertionError('Unexpected error in %s node log: %s' % (node.name, 
> errors))
> AssertionError: Unexpected error in node1 node log: ['ERROR [Thrift:1] 
> 2015-10-24 02:50:02,460 CassandraDaemon.java:195 - Exception in thread

[jira] [Created] (CASSANDRA-10611) Upgrade test on 2.1->3.0 path fails with configuration problems

2015-10-28 Thread Jim Witschey (JIRA)
Jim Witschey created CASSANDRA-10611:


 Summary: Upgrade test on 2.1->3.0 path fails with configuration 
problems
 Key: CASSANDRA-10611
 URL: https://issues.apache.org/jira/browse/CASSANDRA-10611
 Project: Cassandra
  Issue Type: Sub-task
Reporter: Jim Witschey
Assignee: Russ Hatch


The following test fails on the uprgrade path from 2.1 to 3.0:

http://cassci.datastax.com/view/Upgrades/job/cassandra_upgrade_2.1_to_3.0_proto_v3/10/testReport/upgrade_through_versions_test/TestUpgrade_from_3_0_latest_tag_to_3_0_HEAD/bootstrap_multidc_test/

I believe it's basically a configuration error; the cluster likely just needs 
to be reconfigured in the test:

{code}
code=2200 [Invalid query] message="User-defined functions are disabled in 
cassandra.yaml - set enable_user_defined_functions=true to enable"
{code}

Assigning to [~rhatch] for now.



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


[jira] [Updated] (CASSANDRA-10608) Adding a dynamic column to a compact storage table with the same name as the partition key causes a memtable flush deadlock

2015-10-28 Thread Mike Adamson (JIRA)

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

Mike Adamson updated CASSANDRA-10608:
-
Attachment: 10608.txt

> Adding a dynamic column to a compact storage table with the same name as the 
> partition key causes a memtable flush deadlock
> ---
>
> Key: CASSANDRA-10608
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10608
> Project: Cassandra
>  Issue Type: Bug
>  Components: Core
>Reporter: Mike Adamson
>Assignee: Mike Adamson
>Priority: Minor
> Fix For: 3.0.0
>
> Attachments: 10608.txt
>
>
> The reproduction steps for this are as follows: 
> # Create the following schema:
> {noformat}
> CREATE KEYSPACE ks WITH replication = { 'class': 'SimpleStrategy', 
> 'replication_factor': '1'};
> CREATE TABLE ks.cf (k int, v int, PRIMARY KEY(k)) WITH COMPACT STORAGE;
> {noformat}
> # Using the thrift client execute the following:
> {noformat}
> Column column = new Column(ByteBufferUtil.bytes("k"));
> column.setValue(ByteBufferUtil.bytes(1));
> column.setTimestamp(1);
> client.insert(key, new ColumnParent(compactCf), column, 
> ConsistencyLevel.ONE);
> {noformat}
> This causes an invalid {{PartitionUpdate}} to be added to {{Memtable}} 
> containing a {{PartitionColumns}} containing the partition key 
> {{ColumnDefinition}}.
> This happens because {{LegacyLayout.decodeCellName}} does not check whether 
> the {{ColumnDefinition}} is a partition key 



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


[jira] [Commented] (CASSANDRA-10365) Consider storing types by their CQL names in schema tables instead of fully-qualified internal class names

2015-10-28 Thread Aleksey Yeschenko (JIRA)

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

Aleksey Yeschenko commented on CASSANDRA-10365:
---

Force-pushed updates to the same branch.

Everything besides UDTs that refer to other UDTs should work now (except maybe 
certain parts of UDFs/UDAs, but I need the driver fixed first to verify them).

Otherwise the last remaining bits is cross-UDT dependencies. Finalising that, 
will push soon-ish.

> Consider storing types by their CQL names in schema tables instead of 
> fully-qualified internal class names
> --
>
> Key: CASSANDRA-10365
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10365
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Aleksey Yeschenko
>Assignee: Aleksey Yeschenko
>  Labels: client-impacting
> Fix For: 3.0.0
>
>
> Consider saving CQL types names for column, UDF/UDA arguments and return 
> types, and UDT components.



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


[jira] [Commented] (CASSANDRA-10513) Update cqlsh for new driver execution API

2015-10-28 Thread Paulo Motta (JIRA)

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

Paulo Motta commented on CASSANDRA-10513:
-

* Added new 
[commit|https://github.com/apache/cassandra/commit/c3b58a2925780388d3ee7b9db30e3792edb2351b]
 fixing table metadata access on {{cqlsh.py}}.
* Created cassandra-dtest 
[PR|https://github.com/riptano/cassandra-dtest/pull/631] with simple fix on 
index tests.
* Submitted new test runs:
||2.2||3.0||trunk||
|[branch|https://github.com/apache/cassandra/compare/cassandra-2.2...pauloricardomg:2.2-10513]|[branch|https://github.com/apache/cassandra/compare/cassandra-3.0...pauloricardomg:3.0-10513]|[branch|https://github.com/apache/cassandra/compare/trunk...pauloricardomg:trunk-10513]|
|[dtests|http://cassci.datastax.com/view/Dev/view/paulomotta/job/pauloricardomg-2.2-10513-dtest/lastCompletedBuild/testReport/]|[dtests|http://cassci.datastax.com/view/Dev/view/paulomotta/job/pauloricardomg-3.0-10513-dtest/lastCompletedBuild/testReport/]|[dtests|http://cassci.datastax.com/view/Dev/view/paulomotta/job/pauloricardomg-trunk-10513-dtest/lastCompletedBuild/testReport/]|

> Update cqlsh for new driver execution API
> -
>
> Key: CASSANDRA-10513
> URL: https://issues.apache.org/jira/browse/CASSANDRA-10513
> Project: Cassandra
>  Issue Type: New Feature
>  Components: Tools
>Reporter: Adam Holmberg
>Assignee: Paulo Motta
>Priority: Minor
>  Labels: cqlsh
> Fix For: 2.2.x, 3.0.x
>
> Attachments: 10513-2.1.txt, 10513-2.2.txt, 10513.txt
>
>
> The 3.0 Python driver will have a few tweaks to the execution API. We'll need 
> to update cqlsh in a couple of minor ways.
> [Results are always returned as an iterable 
> ResultSet|https://datastax-oss.atlassian.net/browse/PYTHON-368]
> [Trace data is always attached to the 
> ResultSet|https://datastax-oss.atlassian.net/browse/PYTHON-318] (instead of 
> being attached to a statement)



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


[jira] [Resolved] (CASSANDRA-9664) Allow MV's select statements to be more complex

2015-10-28 Thread Alan Boudreault (JIRA)

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

Alan Boudreault resolved CASSANDRA-9664.

Resolution: Fixed

Closing in favor of CASSANDRA-10609.

> Allow MV's select statements to be more complex
> ---
>
> Key: CASSANDRA-9664
> URL: https://issues.apache.org/jira/browse/CASSANDRA-9664
> Project: Cassandra
>  Issue Type: New Feature
>Reporter: Carl Yeksigian
>Assignee: Tyler Hobbs
>  Labels: client-impacting, doc-impacting
> Fix For: 3.0.0 rc1
>
>
> [Materialized Views|https://issues.apache.org/jira/browse/CASSANDRA-6477] add 
> support for a syntax which includes a {{SELECT}} statement, but only allows 
> selection of direct columns, and does not allow any filtering to take place.
> We should add support to the MV {{SELECT}} statement to bring better parity 
> with the normal CQL {{SELECT}} statement, specifically simple functions in 
> the selected columns, as well as specifying a {{WHERE}} clause.



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


[jira] [Created] (CASSANDRA-10610) Protocol upgrade tests for bootstrapping failing on 2.1->3.0 path

2015-10-28 Thread Jim Witschey (JIRA)
Jim Witschey created CASSANDRA-10610:


 Summary: Protocol upgrade tests for bootstrapping failing on 
2.1->3.0 path
 Key: CASSANDRA-10610
 URL: https://issues.apache.org/jira/browse/CASSANDRA-10610
 Project: Cassandra
  Issue Type: Sub-task
Reporter: Jim Witschey
Assignee: Russ Hatch


This ticket is for a couple failures on protocol v3 upgrade test job on CassCI:

http://cassci.datastax.com/view/Upgrades/job/cassandra_upgrade_2.1_to_3.0_proto_v3/10/testReport/

The failures are:

* 
[upgrade_through_versions_test.py:TestUpgrade_from_cassandra_2_1_HEAD_to_cassandra_3_0_HEAD.bootstrap_multidc_test|http://cassci.datastax.com/view/Upgrades/job/cassandra_upgrade_2.1_to_3.0_proto_v3/10/testReport/upgrade_through_versions_test/TestUpgrade_from_cassandra_2_1_HEAD_to_cassandra_3_0_HEAD/bootstrap_multidc_test/]
* 
[upgrade_through_versions_test.py:TestUpgrade_from_cassandra_2_1_HEAD_to_cassandra_3_0_latest_tag.bootstrap_multidc_test|http://cassci.datastax.com/view/Upgrades/job/cassandra_upgrade_2.1_to_3.0_proto_v3/10/testReport/upgrade_through_versions_test/TestUpgrade_from_cassandra_2_1_HEAD_to_cassandra_3_0_latest_tag/bootstrap_multidc_test/]

They fail with the following error:

{code}
code=1000 [Unavailable exception] message="Cannot achieve consistency level 
ALL" info={'required_replicas': 3, 'alive_replicas': 0, 'consistency': 'ALL'}
{code}

Assigning [~rhatch], since you're the most likely to understand what's going on 
here.



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


  1   2   >