[jira] [Commented] (CASSANDRA-13348) Duplicate tokens after bootstrap

2017-04-26 Thread Dikang Gu (JIRA)

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

Dikang Gu commented on CASSANDRA-13348:
---

This is the patch we maintained internally, 
https://gist.github.com/DikangGu/cc59a846f6fb90120193fa08ef18fe1b, it will 
increase the chance that gossip is already settled down before allocating new 
tokens. Feel free to patch if you want, I'm thinking if there are more general 
way to do it. (I discussed with [~jasobrown] offline about this)

> Duplicate tokens after bootstrap
> 
>
> Key: CASSANDRA-13348
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13348
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Tom van der Woerdt
>Assignee: Dikang Gu
>Priority: Blocker
> Fix For: 3.0.x
>
>
> This one is a bit scary, and probably results in data loss. After a bootstrap 
> of a few new nodes into an existing cluster, two new nodes have chosen some 
> overlapping tokens.
> In fact, of the 256 tokens chosen, 51 tokens were already in use on the other 
> node.
> Node 1 log :
> {noformat}
> INFO  [RMI TCP Connection(107)-127.0.0.1] 2017-03-09 07:42:43,461 
> StorageService.java:1160 - JOINING: waiting for ring information
> INFO  [RMI TCP Connection(107)-127.0.0.1] 2017-03-09 07:42:43,461 
> StorageService.java:1160 - JOINING: waiting for schema information to complete
> INFO  [RMI TCP Connection(107)-127.0.0.1] 2017-03-09 07:42:43,461 
> StorageService.java:1160 - JOINING: schema complete, ready to bootstrap
> INFO  [RMI TCP Connection(107)-127.0.0.1] 2017-03-09 07:42:43,462 
> StorageService.java:1160 - JOINING: waiting for pending range calculation
> INFO  [RMI TCP Connection(107)-127.0.0.1] 2017-03-09 07:42:43,462 
> StorageService.java:1160 - JOINING: calculation complete, ready to bootstrap
> INFO  [RMI TCP Connection(107)-127.0.0.1] 2017-03-09 07:42:43,462 
> StorageService.java:1160 - JOINING: getting bootstrap token
> WARN  [RMI TCP Connection(107)-127.0.0.1] 2017-03-09 07:42:43,564 
> TokenAllocation.java:61 - Selected tokens [, 2959334889475814712, 
> 3727103702384420083, 7183119311535804926, 6013900799616279548, 
> -1222135324851761575, 1645259890258332163, -1213352346686661387, 
> 7604192574911909354]
> WARN  [RMI TCP Connection(107)-127.0.0.1] 2017-03-09 07:42:43,729 
> TokenAllocation.java:65 - Replicated node load in datacentre before 
> allocation max 1.00 min 1.00 stddev 0.
> WARN  [RMI TCP Connection(107)-127.0.0.1] 2017-03-09 07:42:43,729 
> TokenAllocation.java:66 - Replicated node load in datacentre after allocation 
> max 1.00 min 1.00 stddev 0.
> WARN  [RMI TCP Connection(107)-127.0.0.1] 2017-03-09 07:42:43,729 
> TokenAllocation.java:70 - Unexpected growth in standard deviation after 
> allocation.
> INFO  [RMI TCP Connection(107)-127.0.0.1] 2017-03-09 07:42:44,150 
> StorageService.java:1160 - JOINING: sleeping 3 ms for pending range setup
> INFO  [RMI TCP Connection(107)-127.0.0.1] 2017-03-09 07:43:14,151 
> StorageService.java:1160 - JOINING: Starting to bootstrap...
> {noformat}
> Node 2 log:
> {noformat}
> INFO  [RMI TCP Connection(380)-127.0.0.1] 2017-03-17 15:55:51,937 
> StorageService.java:971 - Joining ring by operator request
> INFO  [RMI TCP Connection(380)-127.0.0.1] 2017-03-17 15:55:52,513 
> StorageService.java:1160 - JOINING: waiting for ring information
> INFO  [RMI TCP Connection(380)-127.0.0.1] 2017-03-17 15:55:52,513 
> StorageService.java:1160 - JOINING: waiting for schema information to complete
> INFO  [RMI TCP Connection(380)-127.0.0.1] 2017-03-17 15:55:52,513 
> StorageService.java:1160 - JOINING: schema complete, ready to bootstrap
> INFO  [RMI TCP Connection(380)-127.0.0.1] 2017-03-17 15:55:52,513 
> StorageService.java:1160 - JOINING: waiting for pending range calculation
> INFO  [RMI TCP Connection(380)-127.0.0.1] 2017-03-17 15:55:52,514 
> StorageService.java:1160 - JOINING: calculation complete, ready to bootstrap
> INFO  [RMI TCP Connection(380)-127.0.0.1] 2017-03-17 15:55:52,514 
> StorageService.java:1160 - JOINING: getting bootstrap token
> WARN  [RMI TCP Connection(380)-127.0.0.1] 2017-03-17 15:55:52,630 
> TokenAllocation.java:61 - Selected tokens [.., 2890709530010722764, 
> -2416006722819773829, -5820248611267569511, -5990139574852472056, 
> 1645259890258332163, 9135021011763659240, -5451286144622276797, 
> 7604192574911909354]
> WARN  [RMI TCP Connection(380)-127.0.0.1] 2017-03-17 15:55:52,794 
> TokenAllocation.java:65 - Replicated node load in datacentre before 
> allocation max 1.02 min 0.98 stddev 0.
> WARN  [RMI TCP Connection(380)-127.0.0.1] 2017-03-17 15:55:52,795 
> TokenAllocation.java:66 - Replicated node load in datacentre after allocation 
> max 1.00 min 1.00 stddev 0.
> INFO  [RMI TCP Connection(380)-127.0.0.1] 2017-03-17 

[jira] [Comment Edited] (CASSANDRA-13346) Failed unregistering mbean during drop keyspace

2017-04-26 Thread Lerh Chuan Low (JIRA)

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

Lerh Chuan Low edited comment on CASSANDRA-13346 at 4/27/17 4:28 AM:
-

Hey Chris,

Thanks for answering. I'll try to fit dtests into my schedule and take a look 
at how it works/how to write one. 

With regards to your more recent comment, my impression is {{all}} is a hashmap 
of metric names to their aliases.
 {{allTableMetrics}} is a map of each metric to their set of metrics for each 
Table ({{String, Set}}, which is used in the aggregation metrics over 
all Tables (e.g Readlatency key will have all the tables' read latency in its 
Set of values). If we had it use a local one to store the ones we create for 
the table, then it would be harder to aggregate over all known Tables. 

Open to any suggestions though, as usual :) 


was (Author: lerh low):
Hey Chris,

Thanks for answering. I'll try to fit dtests into my schedule and take a look 
at how it works/how to write one. 

With regards to your more recent comment, my impression is {{all}} is a hashmap 
of metric names to their aliases.
 {{allTableMetrics}} is a map of each metric to their set of metrics for each 
Table ({{String, Set}}, which is used in the aggregation metrics over 
all Tables (e.g Readlatency key will have all the tables' read latency in its 
Set of values). If we had it use a local one to store the ones we create for 
the table, then we would need some way to aggregate over all known Tables. 

Open to any suggestions though, as usual :) 

> Failed unregistering mbean during drop keyspace
> ---
>
> Key: CASSANDRA-13346
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13346
> Project: Cassandra
>  Issue Type: Bug
>  Components: Materialized Views
> Environment: Cassandra 3.9
>Reporter: Gábor Auth
>Priority: Minor
>  Labels: lhf
> Fix For: 3.0.x, 3.11.x
>
> Attachments: 13346-3.0.X.txt, 13346-3.X.txt
>
>
> All node throw exceptions about materialized views during drop keyspace:
> {code}
> WARN  [MigrationStage:1] 2017-03-16 16:54:25,016 ColumnFamilyStore.java:535 - 
> Failed unregistering mbean: 
> org.apache.cassandra.db:type=Tables,keyspace=test20160810,table=unit_by_account
> java.lang.NullPointerException: null
> at 
> java.util.concurrent.ConcurrentHashMap.replaceNode(ConcurrentHashMap.java:1106)
>  ~[na:1.8.0_121]
> at 
> java.util.concurrent.ConcurrentHashMap.remove(ConcurrentHashMap.java:1097) 
> ~[na:1.8.0_121]
> at 
> java.util.concurrent.ConcurrentHashMap$KeySetView.remove(ConcurrentHashMap.java:4569)
>  ~[na:1.8.0_121]
> at 
> org.apache.cassandra.metrics.TableMetrics.release(TableMetrics.java:712) 
> ~[apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.db.ColumnFamilyStore.unregisterMBean(ColumnFamilyStore.java:570)
>  [apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.db.ColumnFamilyStore.invalidate(ColumnFamilyStore.java:527)
>  [apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.db.ColumnFamilyStore.invalidate(ColumnFamilyStore.java:517)
>  [apache-cassandra-3.9.0.jar:3.9.0]
> at org.apache.cassandra.db.Keyspace.unloadCf(Keyspace.java:365) 
> [apache-cassandra-3.9.0.jar:3.9.0]
> at org.apache.cassandra.db.Keyspace.dropCf(Keyspace.java:358) 
> [apache-cassandra-3.9.0.jar:3.9.0]
> at org.apache.cassandra.config.Schema.dropView(Schema.java:744) 
> [apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.schema.SchemaKeyspace.lambda$mergeSchema$373(SchemaKeyspace.java:1287)
>  [apache-cassandra-3.9.0.jar:3.9.0]
> at java.lang.Iterable.forEach(Iterable.java:75) ~[na:1.8.0_121]
> at 
> org.apache.cassandra.schema.SchemaKeyspace.mergeSchema(SchemaKeyspace.java:1287)
>  [apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.schema.SchemaKeyspace.mergeSchemaAndAnnounceVersion(SchemaKeyspace.java:1256)
>  [apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.db.DefinitionsUpdateVerbHandler$1.runMayThrow(DefinitionsUpdateVerbHandler.java:51)
>  ~[apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) 
> ~[apache-cassandra-3.9.0.jar:3.9.0]
> at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
> ~[na:1.8.0_121]
> at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
> ~[na:1.8.0_121]
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  ~[na:1.8.0_121]
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  ~[na:1.8.0_121]
> at 

[jira] [Commented] (CASSANDRA-13346) Failed unregistering mbean during drop keyspace

2017-04-26 Thread Lerh Chuan Low (JIRA)

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

Lerh Chuan Low commented on CASSANDRA-13346:


Hey Chris,

Thanks for answering. I'll try to fit dtests into my schedule and take a look 
at how it works/how to write one. 

With regards to your more recent comment, my impression is {{all}} is a hashmap 
of metric names to their aliases.
 {{allTableMetrics}} is a map of each metric to their set of metrics for each 
Table ({{String, Set}}, which is used in the aggregation metrics over 
all Tables (e.g Readlatency key will have all the tables' read latency in its 
Set of values). If we had it use a local one to store the ones we create for 
the table, then we would need some way to aggregate over all known Tables. 

Open to any suggestions though, as usual :) 

> Failed unregistering mbean during drop keyspace
> ---
>
> Key: CASSANDRA-13346
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13346
> Project: Cassandra
>  Issue Type: Bug
>  Components: Materialized Views
> Environment: Cassandra 3.9
>Reporter: Gábor Auth
>Priority: Minor
>  Labels: lhf
> Fix For: 3.0.x, 3.11.x
>
> Attachments: 13346-3.0.X.txt, 13346-3.X.txt
>
>
> All node throw exceptions about materialized views during drop keyspace:
> {code}
> WARN  [MigrationStage:1] 2017-03-16 16:54:25,016 ColumnFamilyStore.java:535 - 
> Failed unregistering mbean: 
> org.apache.cassandra.db:type=Tables,keyspace=test20160810,table=unit_by_account
> java.lang.NullPointerException: null
> at 
> java.util.concurrent.ConcurrentHashMap.replaceNode(ConcurrentHashMap.java:1106)
>  ~[na:1.8.0_121]
> at 
> java.util.concurrent.ConcurrentHashMap.remove(ConcurrentHashMap.java:1097) 
> ~[na:1.8.0_121]
> at 
> java.util.concurrent.ConcurrentHashMap$KeySetView.remove(ConcurrentHashMap.java:4569)
>  ~[na:1.8.0_121]
> at 
> org.apache.cassandra.metrics.TableMetrics.release(TableMetrics.java:712) 
> ~[apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.db.ColumnFamilyStore.unregisterMBean(ColumnFamilyStore.java:570)
>  [apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.db.ColumnFamilyStore.invalidate(ColumnFamilyStore.java:527)
>  [apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.db.ColumnFamilyStore.invalidate(ColumnFamilyStore.java:517)
>  [apache-cassandra-3.9.0.jar:3.9.0]
> at org.apache.cassandra.db.Keyspace.unloadCf(Keyspace.java:365) 
> [apache-cassandra-3.9.0.jar:3.9.0]
> at org.apache.cassandra.db.Keyspace.dropCf(Keyspace.java:358) 
> [apache-cassandra-3.9.0.jar:3.9.0]
> at org.apache.cassandra.config.Schema.dropView(Schema.java:744) 
> [apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.schema.SchemaKeyspace.lambda$mergeSchema$373(SchemaKeyspace.java:1287)
>  [apache-cassandra-3.9.0.jar:3.9.0]
> at java.lang.Iterable.forEach(Iterable.java:75) ~[na:1.8.0_121]
> at 
> org.apache.cassandra.schema.SchemaKeyspace.mergeSchema(SchemaKeyspace.java:1287)
>  [apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.schema.SchemaKeyspace.mergeSchemaAndAnnounceVersion(SchemaKeyspace.java:1256)
>  [apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.db.DefinitionsUpdateVerbHandler$1.runMayThrow(DefinitionsUpdateVerbHandler.java:51)
>  ~[apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) 
> ~[apache-cassandra-3.9.0.jar:3.9.0]
> at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
> ~[na:1.8.0_121]
> at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
> ~[na:1.8.0_121]
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  ~[na:1.8.0_121]
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  ~[na:1.8.0_121]
> at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_121]
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (CASSANDRA-13346) Failed unregistering mbean during drop keyspace

2017-04-26 Thread Chris Lohfink (JIRA)

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

Chris Lohfink commented on CASSANDRA-13346:
---

so actually taking a second look there may be something more to this. The patch 
will still work though.

The {{release}} call is iterating over {{all}} registered mbeans, not just the 
ones for that table so whenever there are metrics that exist in some tables and 
not others, and gets dropped, it will throw the NPE. It really seems we should 
not be using a big static map to store these, but just a local one to store the 
ones we create for that table. The tricky thing is the "all" metrics which span 
multiple tables but that can probably be handled by getting a list of the 
columnfamilystore's and iterating over them instead of trying to keep a 
separate registry in sync.

Patch does fix it though and is a much simpler fix.

> Failed unregistering mbean during drop keyspace
> ---
>
> Key: CASSANDRA-13346
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13346
> Project: Cassandra
>  Issue Type: Bug
>  Components: Materialized Views
> Environment: Cassandra 3.9
>Reporter: Gábor Auth
>Priority: Minor
>  Labels: lhf
> Fix For: 3.0.x, 3.11.x
>
> Attachments: 13346-3.0.X.txt, 13346-3.X.txt
>
>
> All node throw exceptions about materialized views during drop keyspace:
> {code}
> WARN  [MigrationStage:1] 2017-03-16 16:54:25,016 ColumnFamilyStore.java:535 - 
> Failed unregistering mbean: 
> org.apache.cassandra.db:type=Tables,keyspace=test20160810,table=unit_by_account
> java.lang.NullPointerException: null
> at 
> java.util.concurrent.ConcurrentHashMap.replaceNode(ConcurrentHashMap.java:1106)
>  ~[na:1.8.0_121]
> at 
> java.util.concurrent.ConcurrentHashMap.remove(ConcurrentHashMap.java:1097) 
> ~[na:1.8.0_121]
> at 
> java.util.concurrent.ConcurrentHashMap$KeySetView.remove(ConcurrentHashMap.java:4569)
>  ~[na:1.8.0_121]
> at 
> org.apache.cassandra.metrics.TableMetrics.release(TableMetrics.java:712) 
> ~[apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.db.ColumnFamilyStore.unregisterMBean(ColumnFamilyStore.java:570)
>  [apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.db.ColumnFamilyStore.invalidate(ColumnFamilyStore.java:527)
>  [apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.db.ColumnFamilyStore.invalidate(ColumnFamilyStore.java:517)
>  [apache-cassandra-3.9.0.jar:3.9.0]
> at org.apache.cassandra.db.Keyspace.unloadCf(Keyspace.java:365) 
> [apache-cassandra-3.9.0.jar:3.9.0]
> at org.apache.cassandra.db.Keyspace.dropCf(Keyspace.java:358) 
> [apache-cassandra-3.9.0.jar:3.9.0]
> at org.apache.cassandra.config.Schema.dropView(Schema.java:744) 
> [apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.schema.SchemaKeyspace.lambda$mergeSchema$373(SchemaKeyspace.java:1287)
>  [apache-cassandra-3.9.0.jar:3.9.0]
> at java.lang.Iterable.forEach(Iterable.java:75) ~[na:1.8.0_121]
> at 
> org.apache.cassandra.schema.SchemaKeyspace.mergeSchema(SchemaKeyspace.java:1287)
>  [apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.schema.SchemaKeyspace.mergeSchemaAndAnnounceVersion(SchemaKeyspace.java:1256)
>  [apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.db.DefinitionsUpdateVerbHandler$1.runMayThrow(DefinitionsUpdateVerbHandler.java:51)
>  ~[apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) 
> ~[apache-cassandra-3.9.0.jar:3.9.0]
> at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
> ~[na:1.8.0_121]
> at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
> ~[na:1.8.0_121]
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  ~[na:1.8.0_121]
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  ~[na:1.8.0_121]
> at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_121]
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (CASSANDRA-13346) Failed unregistering mbean during drop keyspace

2017-04-26 Thread Chris Lohfink (JIRA)

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

Chris Lohfink commented on CASSANDRA-13346:
---

+1 for patch. Big +1 for some dtests, the registering and removing of metrics 
around keyspace and table drops+creations has come up a few times (notice all 
hard coded entries in {{release}} that has drifted in and out of date).

> Failed unregistering mbean during drop keyspace
> ---
>
> Key: CASSANDRA-13346
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13346
> Project: Cassandra
>  Issue Type: Bug
>  Components: Materialized Views
> Environment: Cassandra 3.9
>Reporter: Gábor Auth
>Priority: Minor
>  Labels: lhf
> Fix For: 3.0.x, 3.11.x
>
> Attachments: 13346-3.0.X.txt, 13346-3.X.txt
>
>
> All node throw exceptions about materialized views during drop keyspace:
> {code}
> WARN  [MigrationStage:1] 2017-03-16 16:54:25,016 ColumnFamilyStore.java:535 - 
> Failed unregistering mbean: 
> org.apache.cassandra.db:type=Tables,keyspace=test20160810,table=unit_by_account
> java.lang.NullPointerException: null
> at 
> java.util.concurrent.ConcurrentHashMap.replaceNode(ConcurrentHashMap.java:1106)
>  ~[na:1.8.0_121]
> at 
> java.util.concurrent.ConcurrentHashMap.remove(ConcurrentHashMap.java:1097) 
> ~[na:1.8.0_121]
> at 
> java.util.concurrent.ConcurrentHashMap$KeySetView.remove(ConcurrentHashMap.java:4569)
>  ~[na:1.8.0_121]
> at 
> org.apache.cassandra.metrics.TableMetrics.release(TableMetrics.java:712) 
> ~[apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.db.ColumnFamilyStore.unregisterMBean(ColumnFamilyStore.java:570)
>  [apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.db.ColumnFamilyStore.invalidate(ColumnFamilyStore.java:527)
>  [apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.db.ColumnFamilyStore.invalidate(ColumnFamilyStore.java:517)
>  [apache-cassandra-3.9.0.jar:3.9.0]
> at org.apache.cassandra.db.Keyspace.unloadCf(Keyspace.java:365) 
> [apache-cassandra-3.9.0.jar:3.9.0]
> at org.apache.cassandra.db.Keyspace.dropCf(Keyspace.java:358) 
> [apache-cassandra-3.9.0.jar:3.9.0]
> at org.apache.cassandra.config.Schema.dropView(Schema.java:744) 
> [apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.schema.SchemaKeyspace.lambda$mergeSchema$373(SchemaKeyspace.java:1287)
>  [apache-cassandra-3.9.0.jar:3.9.0]
> at java.lang.Iterable.forEach(Iterable.java:75) ~[na:1.8.0_121]
> at 
> org.apache.cassandra.schema.SchemaKeyspace.mergeSchema(SchemaKeyspace.java:1287)
>  [apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.schema.SchemaKeyspace.mergeSchemaAndAnnounceVersion(SchemaKeyspace.java:1256)
>  [apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.db.DefinitionsUpdateVerbHandler$1.runMayThrow(DefinitionsUpdateVerbHandler.java:51)
>  ~[apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) 
> ~[apache-cassandra-3.9.0.jar:3.9.0]
> at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
> ~[na:1.8.0_121]
> at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
> ~[na:1.8.0_121]
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  ~[na:1.8.0_121]
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  ~[na:1.8.0_121]
> at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_121]
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Comment Edited] (CASSANDRA-13346) Failed unregistering mbean during drop keyspace

2017-04-26 Thread Lerh Chuan Low (JIRA)

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

Lerh Chuan Low edited comment on CASSANDRA-13346 at 4/27/17 12:31 AM:
--

This is quite easily reproduced, we just have to create a materialized view and 
try to drop keyspace. 

{code}
CREATE KEYSPACE mvtest WITH REPLICATION = { 'class' : 'SimpleStrategy', 
'replication_factor': 1 };
CREATE TABLE mvtest.tobedropped (
foo int,
bar text,
baz text,
PRIMARY KEY (foo, bar)
);

CREATE MATERIALIZED VIEW mvtest.explosion AS
SELECT foo, bar, baz FROM mvtest.tobedropped WHERE
foo IS NOT NULL AND bar IS NOT NULL AND baz IS NOT NULL
PRIMARY KEY (foo, bar, baz);

INSERT INTO mvtest.tobedropped (foo, bar, baz) VALUES (1, 'baz', 'bokusapp');
INSERT INTO mvtest.tobedropped (foo, bar, baz) VALUES (2, 'baz', 'vitamin');
INSERT INTO mvtest.tobedropped (foo, bar, baz) VALUES (2, 'backgammon', 'gin');

DROP KEYSPACE mvtest;
{code}

As [~Andrew Efimov] mentioned, this seems to be because {{ViewLockReadTime}} 
and {{ViewLockAcquireTime}} are both set to null for materialized views (they 
don't make sense for materialized views and was decided to be that way based on 
[CASSANDRA-10323|https://issues.apache.org/jira/browse/CASSANDRA-10323]). So 
the call to {{Metrics.getMetrics().get(name.getMetricName())}} returns null, 
which throws the Exception as the {{remove}} method does not allow {{null}} 
values (For the implementation of the set in {{allTableMetrics}}. I've attached 
a patch for both 3.0.X and 3.X since it's a relatively small change - it looks 
like it's just a case of trying to unregister a metric from the registry that 
doesn't exist so we should just ignore it when it's `null` (which is only when 
it's releasing view metrics). I've retested it on my local and it works...Any 
feedbacks are welcome! ([~carlyeks], [~cnlwsu]]...?), or guidance on writing 
tests if necessary (It doesn't seem like there are any metrics tests though 
there are metrics dtests, I'll try taking a look at dtests). 


was (Author: lerh low):
This is quite easily reproduced, we just have to create a materialized view and 
try to drop keyspace. 

{code}
CREATE KEYSPACE mvtest WITH REPLICATION = { 'class' : 'SimpleStrategy', 
'replication_factor': 1 };
CREATE TABLE mvtest.tobedropped (
foo int,
bar text,
baz text,
PRIMARY KEY (foo, bar)
);

CREATE MATERIALIZED VIEW mvtest.explosion AS
SELECT foo, bar, baz FROM mvtest.tobedropped WHERE
foo IS NOT NULL AND bar IS NOT NULL AND baz IS NOT NULL
PRIMARY KEY (foo, bar, baz);

INSERT INTO mvtest.tobedropped (foo, bar, baz) VALUES (1, 'baz', 'bokusapp');
INSERT INTO mvtest.tobedropped (foo, bar, baz) VALUES (2, 'baz', 'vitamin');
INSERT INTO mvtest.tobedropped (foo, bar, baz) VALUES (2, 'backgammon', 'gin');

DROP KEYSPACE mvtest;
{code}

As [~Andrew Efimov] mentioned, this seems to be because {{ViewLockReadTime}} 
and {{ViewLockAcquireTime}} are both set to null for materialized views (they 
don't make sense for materialized views and was decided to be that way based on 
[CASSANDRA-10323|https://issues.apache.org/jira/browse/CASSANDRA-10323]). So 
the call to {{Metrics.getMetrics().get(name.getMetricName())}} returns null, 
which throws the Exception as the {{remove}} method does not allow {{null}} 
values (For the implementation of the set in {{allTableMetrics}}. I've attached 
a patch for both 3.0.X and 3.X since it's a relatively small change - it looks 
like it's just a case of trying to unregister a metric from the registry that 
doesn't exist so we should just ignore it when it's `null` (which is only when 
it's releasing view metrics). I've retested it on my local and it works...Any 
feedbacks are welcome! ([~carlyeks]...?), or guidance on writing tests if 
necessary (It doesn't seem like there are any metrics tests though there are 
metrics dtests, I'll try taking a look at dtests). 

> Failed unregistering mbean during drop keyspace
> ---
>
> Key: CASSANDRA-13346
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13346
> Project: Cassandra
>  Issue Type: Bug
>  Components: Materialized Views
> Environment: Cassandra 3.9
>Reporter: Gábor Auth
>Priority: Minor
>  Labels: lhf
> Fix For: 3.0.x, 3.11.x
>
> Attachments: 13346-3.0.X.txt, 13346-3.X.txt
>
>
> All node throw exceptions about materialized views during drop keyspace:
> {code}
> WARN  [MigrationStage:1] 2017-03-16 16:54:25,016 ColumnFamilyStore.java:535 - 
> Failed unregistering mbean: 
> org.apache.cassandra.db:type=Tables,keyspace=test20160810,table=unit_by_account
> java.lang.NullPointerException: null
> at 
> java.util.concurrent.ConcurrentHashMap.replaceNode(ConcurrentHashMap.java:1106)

[jira] [Comment Edited] (CASSANDRA-13346) Failed unregistering mbean during drop keyspace

2017-04-26 Thread Lerh Chuan Low (JIRA)

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

Lerh Chuan Low edited comment on CASSANDRA-13346 at 4/27/17 12:13 AM:
--

This is quite easily reproduced, we just have to create a materialized view and 
try to drop keyspace. 

{code}
CREATE KEYSPACE mvtest WITH REPLICATION = { 'class' : 'SimpleStrategy', 
'replication_factor': 1 };
CREATE TABLE mvtest.tobedropped (
foo int,
bar text,
baz text,
PRIMARY KEY (foo, bar)
);

CREATE MATERIALIZED VIEW mvtest.explosion AS
SELECT foo, bar, baz FROM mvtest.tobedropped WHERE
foo IS NOT NULL AND bar IS NOT NULL AND baz IS NOT NULL
PRIMARY KEY (foo, bar, baz);

INSERT INTO mvtest.tobedropped (foo, bar, baz) VALUES (1, 'baz', 'bokusapp');
INSERT INTO mvtest.tobedropped (foo, bar, baz) VALUES (2, 'baz', 'vitamin');
INSERT INTO mvtest.tobedropped (foo, bar, baz) VALUES (2, 'backgammon', 'gin');

DROP KEYSPACE mvtest;
{code}

As [~Andrew Efimov] mentioned, this seems to be because {{ViewLockReadTime}} 
and {{ViewLockAcquireTime}} are both set to null for materialized views (they 
don't make sense for materialized views and was decided to be that way based on 
[CASSANDRA-10323|https://issues.apache.org/jira/browse/CASSANDRA-10323]). So 
the call to {{Metrics.getMetrics().get(name.getMetricName())}} returns null, 
which throws the Exception as the {{remove}} method does not allow {{null}} 
values (For the implementation of the set in {{allTableMetrics}}. I've attached 
a patch for both 3.0.X and 3.X since it's a relatively small change - it looks 
like it's just a case of trying to unregister a metric from the registry that 
doesn't exist so we should just ignore it when it's `null` (which is only when 
it's releasing view metrics). I've retested it on my local and it works...Any 
feedbacks are welcome! ([~carlyeks]...?), or guidance on writing tests if 
necessary (It doesn't seem like there are any metrics tests though there are 
metrics dtests, I'll try taking a look at dtests). 


was (Author: lerh low):
This is quite easily reproduced, we just have to create a materialized view and 
try to drop keyspace. 

{code}
CREATE KEYSPACE mvtest WITH REPLICATION = { 'class' : 'SimpleStrategy', 
'replication_factor': 1 };
CREATE TABLE mvtest.tobedropped (
foo int,
bar text,
baz text,
PRIMARY KEY (foo, bar)
);

CREATE MATERIALIZED VIEW mvtest.explosion AS
SELECT foo, bar, baz FROM mvtest.tobedropped WHERE
foo IS NOT NULL AND bar IS NOT NULL AND baz IS NOT NULL
PRIMARY KEY (foo, bar, baz);

INSERT INTO mvtest.tobedropped (foo, bar, baz) VALUES (1, 'baz', 'bokusapp');
INSERT INTO mvtest.tobedropped (foo, bar, baz) VALUES (2, 'baz', 'vitamin');
INSERT INTO mvtest.tobedropped (foo, bar, baz) VALUES (2, 'backgammon', 'gin');

DROP KEYSPACE mvtest;
{code}

As [~Andrew Efimov] mentioned, this seems to be because `ViewLockReadTime` and 
`ViewLockAcquireTime` are both set to null for materialized views (they don't 
make sense for materialized views and was decided to be that way based on 
https://issues.apache.org/jira/browse/CASSANDRA-10323). So the call to 
`Metrics.getMetrics().get(name.getMetricName())` returns null, which throws the 
Exception as the `remove` method does not allow `null` values (For the 
implementation of the set in `allTableMetrics`. I've attached a patch for both 
3.0.X and 3.X since it's a relatively small change - it looks like it's just a 
case of trying to unregister a metric from the registry that doesn't exist so 
we should just ignore it when it's `null` (which is only when it's releasing 
view metrics). I've retested it on my local and it works...Any feedbacks are 
welcome! ([~carlyeks]...?), or guidance on writing tests if necessary (It 
doesn't seem like there are any metrics tests though there are metrics dtests, 
I'll try taking a look at dtests). 

> Failed unregistering mbean during drop keyspace
> ---
>
> Key: CASSANDRA-13346
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13346
> Project: Cassandra
>  Issue Type: Bug
>  Components: Materialized Views
> Environment: Cassandra 3.9
>Reporter: Gábor Auth
>Priority: Minor
>  Labels: lhf
> Fix For: 3.0.x, 3.11.x
>
> Attachments: 13346-3.0.X.txt, 13346-3.X.txt
>
>
> All node throw exceptions about materialized views during drop keyspace:
> {code}
> WARN  [MigrationStage:1] 2017-03-16 16:54:25,016 ColumnFamilyStore.java:535 - 
> Failed unregistering mbean: 
> org.apache.cassandra.db:type=Tables,keyspace=test20160810,table=unit_by_account
> java.lang.NullPointerException: null
> at 
> java.util.concurrent.ConcurrentHashMap.replaceNode(ConcurrentHashMap.java:1106)
>  ~[na:1.8.0_121]
> at 
> 

[jira] [Commented] (CASSANDRA-13346) Failed unregistering mbean during drop keyspace

2017-04-26 Thread Lerh Chuan Low (JIRA)

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

Lerh Chuan Low commented on CASSANDRA-13346:


This is quite easily reproduced, we just have to create a materialized view and 
try to drop keyspace. 

{code}
CREATE KEYSPACE mvtest WITH REPLICATION = { 'class' : 'SimpleStrategy', 
'replication_factor': 1 };
CREATE TABLE mvtest.tobedropped (
foo int,
bar text,
baz text,
PRIMARY KEY (foo, bar)
);

CREATE MATERIALIZED VIEW mvtest.explosion AS
SELECT foo, bar, baz FROM mvtest.tobedropped WHERE
foo IS NOT NULL AND bar IS NOT NULL AND baz IS NOT NULL
PRIMARY KEY (foo, bar, baz);

INSERT INTO mvtest.tobedropped (foo, bar, baz) VALUES (1, 'baz', 'bokusapp');
INSERT INTO mvtest.tobedropped (foo, bar, baz) VALUES (2, 'baz', 'vitamin');
INSERT INTO mvtest.tobedropped (foo, bar, baz) VALUES (2, 'backgammon', 'gin');

DROP KEYSPACE mvtest;
{code}

As [~Andrew Efimov] mentioned, this seems to be because `ViewLockReadTime` and 
`ViewLockAcquireTime` are both set to null for materialized views (they don't 
make sense for materialized views and was decided to be that way based on 
https://issues.apache.org/jira/browse/CASSANDRA-10323). So the call to 
`Metrics.getMetrics().get(name.getMetricName())` returns null, which throws the 
Exception as the `remove` method does not allow `null` values (For the 
implementation of the set in `allTableMetrics`. I've attached a patch for both 
3.0.X and 3.X since it's a relatively small change - it looks like it's just a 
case of trying to unregister a metric from the registry that doesn't exist so 
we should just ignore it when it's `null` (which is only when it's releasing 
view metrics). I've retested it on my local and it works...Any feedbacks are 
welcome! ([~carlyeks]...?), or guidance on writing tests if necessary (It 
doesn't seem like there are any metrics tests though there are metrics dtests, 
I'll try taking a look at dtests). 

> Failed unregistering mbean during drop keyspace
> ---
>
> Key: CASSANDRA-13346
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13346
> Project: Cassandra
>  Issue Type: Bug
>  Components: Materialized Views
> Environment: Cassandra 3.9
>Reporter: Gábor Auth
>Priority: Minor
>  Labels: lhf
> Fix For: 3.0.x, 3.11.x
>
> Attachments: 13346-3.0.X.txt, 13346-3.X.txt
>
>
> All node throw exceptions about materialized views during drop keyspace:
> {code}
> WARN  [MigrationStage:1] 2017-03-16 16:54:25,016 ColumnFamilyStore.java:535 - 
> Failed unregistering mbean: 
> org.apache.cassandra.db:type=Tables,keyspace=test20160810,table=unit_by_account
> java.lang.NullPointerException: null
> at 
> java.util.concurrent.ConcurrentHashMap.replaceNode(ConcurrentHashMap.java:1106)
>  ~[na:1.8.0_121]
> at 
> java.util.concurrent.ConcurrentHashMap.remove(ConcurrentHashMap.java:1097) 
> ~[na:1.8.0_121]
> at 
> java.util.concurrent.ConcurrentHashMap$KeySetView.remove(ConcurrentHashMap.java:4569)
>  ~[na:1.8.0_121]
> at 
> org.apache.cassandra.metrics.TableMetrics.release(TableMetrics.java:712) 
> ~[apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.db.ColumnFamilyStore.unregisterMBean(ColumnFamilyStore.java:570)
>  [apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.db.ColumnFamilyStore.invalidate(ColumnFamilyStore.java:527)
>  [apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.db.ColumnFamilyStore.invalidate(ColumnFamilyStore.java:517)
>  [apache-cassandra-3.9.0.jar:3.9.0]
> at org.apache.cassandra.db.Keyspace.unloadCf(Keyspace.java:365) 
> [apache-cassandra-3.9.0.jar:3.9.0]
> at org.apache.cassandra.db.Keyspace.dropCf(Keyspace.java:358) 
> [apache-cassandra-3.9.0.jar:3.9.0]
> at org.apache.cassandra.config.Schema.dropView(Schema.java:744) 
> [apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.schema.SchemaKeyspace.lambda$mergeSchema$373(SchemaKeyspace.java:1287)
>  [apache-cassandra-3.9.0.jar:3.9.0]
> at java.lang.Iterable.forEach(Iterable.java:75) ~[na:1.8.0_121]
> at 
> org.apache.cassandra.schema.SchemaKeyspace.mergeSchema(SchemaKeyspace.java:1287)
>  [apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.schema.SchemaKeyspace.mergeSchemaAndAnnounceVersion(SchemaKeyspace.java:1256)
>  [apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.db.DefinitionsUpdateVerbHandler$1.runMayThrow(DefinitionsUpdateVerbHandler.java:51)
>  ~[apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) 
> ~[apache-cassandra-3.9.0.jar:3.9.0]
> at 
> 

[jira] [Updated] (CASSANDRA-13346) Failed unregistering mbean during drop keyspace

2017-04-26 Thread Lerh Chuan Low (JIRA)

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

Lerh Chuan Low updated CASSANDRA-13346:
---
   Attachment: 13346-3.X.txt
   13346-3.0.X.txt
Reproduced In: 3.10, 3.0.13  (was: 3.0.13, 3.10)

> Failed unregistering mbean during drop keyspace
> ---
>
> Key: CASSANDRA-13346
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13346
> Project: Cassandra
>  Issue Type: Bug
>  Components: Materialized Views
> Environment: Cassandra 3.9
>Reporter: Gábor Auth
>Priority: Minor
>  Labels: lhf
> Fix For: 3.0.x, 3.11.x
>
> Attachments: 13346-3.0.X.txt, 13346-3.X.txt
>
>
> All node throw exceptions about materialized views during drop keyspace:
> {code}
> WARN  [MigrationStage:1] 2017-03-16 16:54:25,016 ColumnFamilyStore.java:535 - 
> Failed unregistering mbean: 
> org.apache.cassandra.db:type=Tables,keyspace=test20160810,table=unit_by_account
> java.lang.NullPointerException: null
> at 
> java.util.concurrent.ConcurrentHashMap.replaceNode(ConcurrentHashMap.java:1106)
>  ~[na:1.8.0_121]
> at 
> java.util.concurrent.ConcurrentHashMap.remove(ConcurrentHashMap.java:1097) 
> ~[na:1.8.0_121]
> at 
> java.util.concurrent.ConcurrentHashMap$KeySetView.remove(ConcurrentHashMap.java:4569)
>  ~[na:1.8.0_121]
> at 
> org.apache.cassandra.metrics.TableMetrics.release(TableMetrics.java:712) 
> ~[apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.db.ColumnFamilyStore.unregisterMBean(ColumnFamilyStore.java:570)
>  [apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.db.ColumnFamilyStore.invalidate(ColumnFamilyStore.java:527)
>  [apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.db.ColumnFamilyStore.invalidate(ColumnFamilyStore.java:517)
>  [apache-cassandra-3.9.0.jar:3.9.0]
> at org.apache.cassandra.db.Keyspace.unloadCf(Keyspace.java:365) 
> [apache-cassandra-3.9.0.jar:3.9.0]
> at org.apache.cassandra.db.Keyspace.dropCf(Keyspace.java:358) 
> [apache-cassandra-3.9.0.jar:3.9.0]
> at org.apache.cassandra.config.Schema.dropView(Schema.java:744) 
> [apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.schema.SchemaKeyspace.lambda$mergeSchema$373(SchemaKeyspace.java:1287)
>  [apache-cassandra-3.9.0.jar:3.9.0]
> at java.lang.Iterable.forEach(Iterable.java:75) ~[na:1.8.0_121]
> at 
> org.apache.cassandra.schema.SchemaKeyspace.mergeSchema(SchemaKeyspace.java:1287)
>  [apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.schema.SchemaKeyspace.mergeSchemaAndAnnounceVersion(SchemaKeyspace.java:1256)
>  [apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.db.DefinitionsUpdateVerbHandler$1.runMayThrow(DefinitionsUpdateVerbHandler.java:51)
>  ~[apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) 
> ~[apache-cassandra-3.9.0.jar:3.9.0]
> at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
> ~[na:1.8.0_121]
> at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
> ~[na:1.8.0_121]
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  ~[na:1.8.0_121]
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  ~[na:1.8.0_121]
> at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_121]
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (CASSANDRA-13346) Failed unregistering mbean during drop keyspace

2017-04-26 Thread Lerh Chuan Low (JIRA)

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

Lerh Chuan Low updated CASSANDRA-13346:
---
Fix Version/s: 3.11.x
   3.0.x
Reproduced In: 3.10, 3.0.13
   Status: Patch Available  (was: Open)

> Failed unregistering mbean during drop keyspace
> ---
>
> Key: CASSANDRA-13346
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13346
> Project: Cassandra
>  Issue Type: Bug
>  Components: Materialized Views
> Environment: Cassandra 3.9
>Reporter: Gábor Auth
>Priority: Minor
>  Labels: lhf
> Fix For: 3.0.x, 3.11.x
>
>
> All node throw exceptions about materialized views during drop keyspace:
> {code}
> WARN  [MigrationStage:1] 2017-03-16 16:54:25,016 ColumnFamilyStore.java:535 - 
> Failed unregistering mbean: 
> org.apache.cassandra.db:type=Tables,keyspace=test20160810,table=unit_by_account
> java.lang.NullPointerException: null
> at 
> java.util.concurrent.ConcurrentHashMap.replaceNode(ConcurrentHashMap.java:1106)
>  ~[na:1.8.0_121]
> at 
> java.util.concurrent.ConcurrentHashMap.remove(ConcurrentHashMap.java:1097) 
> ~[na:1.8.0_121]
> at 
> java.util.concurrent.ConcurrentHashMap$KeySetView.remove(ConcurrentHashMap.java:4569)
>  ~[na:1.8.0_121]
> at 
> org.apache.cassandra.metrics.TableMetrics.release(TableMetrics.java:712) 
> ~[apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.db.ColumnFamilyStore.unregisterMBean(ColumnFamilyStore.java:570)
>  [apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.db.ColumnFamilyStore.invalidate(ColumnFamilyStore.java:527)
>  [apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.db.ColumnFamilyStore.invalidate(ColumnFamilyStore.java:517)
>  [apache-cassandra-3.9.0.jar:3.9.0]
> at org.apache.cassandra.db.Keyspace.unloadCf(Keyspace.java:365) 
> [apache-cassandra-3.9.0.jar:3.9.0]
> at org.apache.cassandra.db.Keyspace.dropCf(Keyspace.java:358) 
> [apache-cassandra-3.9.0.jar:3.9.0]
> at org.apache.cassandra.config.Schema.dropView(Schema.java:744) 
> [apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.schema.SchemaKeyspace.lambda$mergeSchema$373(SchemaKeyspace.java:1287)
>  [apache-cassandra-3.9.0.jar:3.9.0]
> at java.lang.Iterable.forEach(Iterable.java:75) ~[na:1.8.0_121]
> at 
> org.apache.cassandra.schema.SchemaKeyspace.mergeSchema(SchemaKeyspace.java:1287)
>  [apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.schema.SchemaKeyspace.mergeSchemaAndAnnounceVersion(SchemaKeyspace.java:1256)
>  [apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.db.DefinitionsUpdateVerbHandler$1.runMayThrow(DefinitionsUpdateVerbHandler.java:51)
>  ~[apache-cassandra-3.9.0.jar:3.9.0]
> at 
> org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) 
> ~[apache-cassandra-3.9.0.jar:3.9.0]
> at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
> ~[na:1.8.0_121]
> at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
> ~[na:1.8.0_121]
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  ~[na:1.8.0_121]
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  ~[na:1.8.0_121]
> at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_121]
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Assigned] (CASSANDRA-13477) Add setOutputNativePort function in org.apache.cassandra.hadoop.cql3.CqlConfigHelper.java

2017-04-26 Thread Jay Zhuang (JIRA)

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

Jay Zhuang reassigned CASSANDRA-13477:
--

Assignee: Zhiyan Shao

> Add setOutputNativePort function in 
> org.apache.cassandra.hadoop.cql3.CqlConfigHelper.java
> -
>
> Key: CASSANDRA-13477
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13477
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Configuration, Libraries, Tools
>Reporter: Zhiyan Shao
>Assignee: Zhiyan Shao
>Priority: Minor
> Fix For: 3.0.x, 3.11.x, 4.x
>
> Attachments: 13477-3.0.txt
>
>   Original Estimate: 1h
>  Remaining Estimate: 1h
>
> Currently, hadoop cql3 library does not support setting OutputNativePort. It 
> always uses the default port 9042. If Cassandra cluster uses a different 
> native_transport_port, this won't work. There is a setInputNativePort but no 
> setOutputNativePort. 
> This ticket is to add this support.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (CASSANDRA-13387) Metrics for repair

2017-04-26 Thread Simon Zhou (JIRA)

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

Simon Zhou commented on CASSANDRA-13387:


Thanks for the comments. As [~bdeggleston] suggested, I'll probably create a 
ticket after investigation. Here are the updated patches:
|3.0.x |[patch | 
https://github.com/szhou1234/cassandra/commit/56c9950b29d233e71bb6a5e2e1d1f3f714c3d723]|
|3.11 |[patch | 
https://github.com/szhou1234/cassandra/commit/a136176e9798ceaa7efb6b062acf60f51786f4d1]|
|4.0 |[patch | 
https://github.com/szhou1234/cassandra/commit/54803838709308f364d4abd50ba995cd9caa61f4]|

Be noted that 4.0 patch is slightly different from 3.0 due to merge conflict.

> Metrics for repair
> --
>
> Key: CASSANDRA-13387
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13387
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Simon Zhou
>Assignee: Simon Zhou
>Priority: Minor
>
> We're missing metrics for repair, especially for errors. From what I observed 
> now, the exception will be caught by UncaughtExceptionHandler set in 
> CassandraDaemon and is categorized as StorageMetrics.exceptions. This is one 
> example:
> {code}
> ERROR [AntiEntropyStage:1] 2017-03-27 18:17:08,385 CassandraDaemon.java:207 - 
> Exception in thread Thread[AntiEntropyStage:1,5,main]
> java.lang.RuntimeException: Parent repair session with id = 
> 8c85d260-1319-11e7-82a2-25090a89015f has failed.
> at 
> org.apache.cassandra.service.ActiveRepairService.getParentRepairSession(ActiveRepairService.java:377)
>  ~[apache-cassandra-3.0.10.jar:3.0.10]
> at 
> org.apache.cassandra.service.ActiveRepairService.removeParentRepairSession(ActiveRepairService.java:392)
>  ~[apache-cassandra-3.0.10.jar:3.0.10]
> at 
> org.apache.cassandra.repair.RepairMessageVerbHandler.doVerb(RepairMessageVerbHandler.java:172)
>  ~[apache-cassandra-3.0.10.jar:3.0.10]
> at 
> org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:67) 
> ~[apache-cassandra-3.0.10.jar:3.0.10]
> at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
> ~[na:1.8.0_121]
> at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
> ~[na:1.8.0_121]
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  ~[na:1.8.0_121]
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  [na:1.8.0_121]
> at java.lang.Thread.run(Thread.java:745) [na:1.8.0_121]
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (CASSANDRA-7960) cassandra-stress should support LWT

2017-04-26 Thread Jay Zhuang (JIRA)

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

Jay Zhuang commented on CASSANDRA-7960:
---

Here is the 
[Patch|https://github.com/apache/cassandra/commit/c5f20b947d30087a3e8f8462dd3f13db984e2bd5.patch],
 please review:
|[trunk|https://github.com/apache/cassandra/compare/trunk...cooldoger:7960-trunk?expand=1]|

Test run:
{code}
$ ./tools/bin/cassandra-stress user profile=tools/cqlstress-lwt-example.yaml 
ops\(insert=1\) n=100
...
  Insert Settings:
partitions: fixed(1)
select: fixed(1)/1000
batchtype: UNLOGGED
condition: IF body = NULL
...
{code}

> cassandra-stress should support LWT
> ---
>
> Key: CASSANDRA-7960
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7960
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Tools
>Reporter: Benedict
>Assignee: Jay Zhuang
>Priority: Minor
>  Labels: stress
>




--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Created] (CASSANDRA-13479) Create schema file for keyspace as a part of snapshot

2017-04-26 Thread Varun Gupta (JIRA)
Varun Gupta created CASSANDRA-13479:
---

 Summary: Create schema file for keyspace as a part of snapshot
 Key: CASSANDRA-13479
 URL: https://issues.apache.org/jira/browse/CASSANDRA-13479
 Project: Cassandra
  Issue Type: Improvement
  Components: Schema
Reporter: Varun Gupta
Priority: Minor
 Fix For: 3.0.14


As of now, snapshot process create schema.cql file per column family. Restoring 
to new cluster is not feasible if keyspace schema is not present. So similar to 
schema.cql file created for each column family, a different schema.cql file 
should be created for keyspace too.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Assigned] (CASSANDRA-7960) cassandra-stress should support LWT

2017-04-26 Thread Jay Zhuang (JIRA)

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

Jay Zhuang reassigned CASSANDRA-7960:
-

Assignee: Jay Zhuang  (was: Christopher Batey)

> cassandra-stress should support LWT
> ---
>
> Key: CASSANDRA-7960
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7960
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Tools
>Reporter: Benedict
>Assignee: Jay Zhuang
>Priority: Minor
>  Labels: stress
>




--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (CASSANDRA-8780) cassandra-stress should support multiple table operations

2017-04-26 Thread T Jake Luciani (JIRA)

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

T Jake Luciani commented on CASSANDRA-8780:
---

Kicked off CI on these [testall|https://circleci.com/gh/tjake/cassandra/2] 
[dtest|https://builds.apache.org/view/A-D/view/Cassandra/job/Cassandra-devbranch-dtest/33/]
  

> cassandra-stress should support multiple table operations
> -
>
> Key: CASSANDRA-8780
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8780
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Tools
>Reporter: Benedict
>Assignee: Ben Slater
>  Labels: stress
> Fix For: 3.11.x
>
> Attachments: 8780-trunkv2.txt
>
>




--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Resolved] (CASSANDRA-13437) Cassandra not a registered systemd service after install

2017-04-26 Thread Stefan Podkowinski (JIRA)

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

Stefan Podkowinski resolved CASSANDRA-13437.

Resolution: Fixed
  Assignee: Stefan Podkowinski

The mentioned commands have been added to the download page. We may add them at 
some point to the post-install scripts, if there's any user feedback or patches 
in that direction. Until then, I'll close this issue as resolved.

> Cassandra not a registered systemd service after install
> 
>
> Key: CASSANDRA-13437
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13437
> Project: Cassandra
>  Issue Type: Sub-task
>  Components: Documentation and Website, Packaging
>Reporter: Stefan Podkowinski
>Assignee: Stefan Podkowinski
>
> Systemd is providing limited compatability for sysv scripts. Traditional init 
> scripts will in this case get wrapped by a generated unit file via 
> systemd-sysv-generator, once systemd has found such a script. But this won't 
> happen automatically and that's why you won't be able to start Cassandra 
> using {{systemctl start cassandra}} after installing the RPM.
> The most straight forward way to make this happen is by running {{systemctl 
> daemon-reload}}. We could either run the command from the post-install script 
> or ask the user to do this. My suggestion would be to *add installation 
> instructions* to the download page specifically for RPM based packages that 
> would stick with init.d terminology and ask the user to start Cassandra with 
> {{service cassandra start}}. This will transperantley trigger {{systemctl 
> daemon-reload}} and start the service.
> We should also mention to enable starting Cassandra on boot (if desired) by 
> using {{chkconfig cassandra on}}.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (CASSANDRA-13435) Incorrect status check use when stopping Cassandra

2017-04-26 Thread Stefan Podkowinski (JIRA)

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

Stefan Podkowinski updated CASSANDRA-13435:
---
   Resolution: Fixed
Fix Version/s: 4.0
   3.11.0
   3.0.14
   2.2.10
   Status: Resolved  (was: Ready to Commit)

> Incorrect status check use when stopping Cassandra
> --
>
> Key: CASSANDRA-13435
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13435
> Project: Cassandra
>  Issue Type: Sub-task
>  Components: Packaging
>Reporter: Stefan Podkowinski
>Assignee: Stefan Podkowinski
> Fix For: 2.2.10, 3.0.14, 3.11.0, 4.0
>
> Attachments: CASSANDRA-13435.patch
>
>
> Function {{status}} from {{/etc/rc.d/init.d/functions}} will delegate to 
> {{systemctl status}} and we can't keep using the output to determine the 
> status result. This should be changed to match the return value instead, 
> which is supposed to [return 
> 3|http://refspecs.linuxbase.org/LSB_3.0.0/LSB-PDA/LSB-PDA/iniscrptact.html] 
> for non-running processes



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[10/10] cassandra git commit: Merge branch 'cassandra-3.11' into trunk

2017-04-26 Thread spod
Merge branch 'cassandra-3.11' into trunk


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

Branch: refs/heads/trunk
Commit: 8b3a60b9a7dbefeecc06bace617279612ec7092d
Parents: abbb2a7 ca034ea
Author: Stefan Podkowinski 
Authored: Wed Apr 26 19:47:28 2017 +0200
Committer: Stefan Podkowinski 
Committed: Wed Apr 26 19:47:28 2017 +0200

--
 redhat/cassandra | 18 ++
 1 file changed, 14 insertions(+), 4 deletions(-)
--




[08/10] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.11

2017-04-26 Thread spod
Merge branch 'cassandra-3.0' into cassandra-3.11


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

Branch: refs/heads/cassandra-3.11
Commit: ca034eacfef08b2e14bee98309bed01f1e5929e7
Parents: a483147 6c840c0
Author: Stefan Podkowinski 
Authored: Wed Apr 26 19:47:11 2017 +0200
Committer: Stefan Podkowinski 
Committed: Wed Apr 26 19:47:11 2017 +0200

--
 redhat/cassandra | 18 ++
 1 file changed, 14 insertions(+), 4 deletions(-)
--




[04/10] cassandra git commit: Fix status check on stopping for rh cassandra script

2017-04-26 Thread spod
Fix status check on stopping for rh cassandra script

patch by Stefan Podkowinski; reviewed by Michael Shuler for CASSANDRA-13435


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

Branch: refs/heads/trunk
Commit: 868be9c283e9a49f4a99b7bbeafde8ddd2f2d63f
Parents: 5c6fc5e
Author: Stefan Podkowinski 
Authored: Wed Apr 12 16:47:05 2017 +0200
Committer: Stefan Podkowinski 
Committed: Wed Apr 26 19:46:14 2017 +0200

--
 redhat/cassandra | 18 ++
 1 file changed, 14 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/868be9c2/redhat/cassandra
--
diff --git a/redhat/cassandra b/redhat/cassandra
index 5ff9c48..a45 100644
--- a/redhat/cassandra
+++ b/redhat/cassandra
@@ -67,16 +67,26 @@ case "$1" in
 su $CASSANDRA_OWNR -c "kill `cat $pid_file`"
 retval=$?
 [ $retval -eq 0 ] && rm -f $lock_file
-for t in `seq 40`; do $0 status > /dev/null 2>&1 && sleep 0.5 || 
break; done
+for t in `seq 40`; do
+status -p $pid_file cassandra > /dev/null 2>&1
+retval=$?
+if [ $retval -eq 3 ]; then
+echo "OK"
+exit 0
+else
+sleep 0.5
+fi;
+done
 # Adding a sleep here to give jmx time to wind down (CASSANDRA-4483). 
Not ideal...
 # Adam Holmberg suggests this, but that would break if the jmx port is 
changed
 # for t in `seq 40`; do netstat -tnlp | grep "0.0.0.0:7199" > 
/dev/null 2>&1 && sleep 0.1 || break; done
 sleep 5
-STATUS=`$0 status`
-if [[ $STATUS == "$NAME is stopped" ]]; then
+status -p $pid_file cassandra > /dev/null 2>&1
+retval=$?
+if [ $retval -eq 3 ]; then
 echo "OK"
 else
-echo "ERROR: could not stop $NAME:  $STATUS"
+echo "ERROR: could not stop $NAME"
 exit 1
 fi
 ;;



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

2017-04-26 Thread spod
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/6c840c0c
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/6c840c0c
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/6c840c0c

Branch: refs/heads/trunk
Commit: 6c840c0cd102c2bfc5e09c68673c03356f9a78fb
Parents: 8bb5f1e 868be9c
Author: Stefan Podkowinski 
Authored: Wed Apr 26 19:46:56 2017 +0200
Committer: Stefan Podkowinski 
Committed: Wed Apr 26 19:46:56 2017 +0200

--
 redhat/cassandra | 18 ++
 1 file changed, 14 insertions(+), 4 deletions(-)
--




[01/10] cassandra git commit: Fix status check on stopping for rh cassandra script

2017-04-26 Thread spod
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.2 5c6fc5e31 -> 868be9c28
  refs/heads/cassandra-3.0 8bb5f1e0c -> 6c840c0cd
  refs/heads/cassandra-3.11 a48314707 -> ca034eacf
  refs/heads/trunk abbb2a712 -> 8b3a60b9a


Fix status check on stopping for rh cassandra script

patch by Stefan Podkowinski; reviewed by Michael Shuler for CASSANDRA-13435


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

Branch: refs/heads/cassandra-2.2
Commit: 868be9c283e9a49f4a99b7bbeafde8ddd2f2d63f
Parents: 5c6fc5e
Author: Stefan Podkowinski 
Authored: Wed Apr 12 16:47:05 2017 +0200
Committer: Stefan Podkowinski 
Committed: Wed Apr 26 19:46:14 2017 +0200

--
 redhat/cassandra | 18 ++
 1 file changed, 14 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/868be9c2/redhat/cassandra
--
diff --git a/redhat/cassandra b/redhat/cassandra
index 5ff9c48..a45 100644
--- a/redhat/cassandra
+++ b/redhat/cassandra
@@ -67,16 +67,26 @@ case "$1" in
 su $CASSANDRA_OWNR -c "kill `cat $pid_file`"
 retval=$?
 [ $retval -eq 0 ] && rm -f $lock_file
-for t in `seq 40`; do $0 status > /dev/null 2>&1 && sleep 0.5 || 
break; done
+for t in `seq 40`; do
+status -p $pid_file cassandra > /dev/null 2>&1
+retval=$?
+if [ $retval -eq 3 ]; then
+echo "OK"
+exit 0
+else
+sleep 0.5
+fi;
+done
 # Adding a sleep here to give jmx time to wind down (CASSANDRA-4483). 
Not ideal...
 # Adam Holmberg suggests this, but that would break if the jmx port is 
changed
 # for t in `seq 40`; do netstat -tnlp | grep "0.0.0.0:7199" > 
/dev/null 2>&1 && sleep 0.1 || break; done
 sleep 5
-STATUS=`$0 status`
-if [[ $STATUS == "$NAME is stopped" ]]; then
+status -p $pid_file cassandra > /dev/null 2>&1
+retval=$?
+if [ $retval -eq 3 ]; then
 echo "OK"
 else
-echo "ERROR: could not stop $NAME:  $STATUS"
+echo "ERROR: could not stop $NAME"
 exit 1
 fi
 ;;



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

2017-04-26 Thread spod
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/6c840c0c
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/6c840c0c
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/6c840c0c

Branch: refs/heads/cassandra-3.0
Commit: 6c840c0cd102c2bfc5e09c68673c03356f9a78fb
Parents: 8bb5f1e 868be9c
Author: Stefan Podkowinski 
Authored: Wed Apr 26 19:46:56 2017 +0200
Committer: Stefan Podkowinski 
Committed: Wed Apr 26 19:46:56 2017 +0200

--
 redhat/cassandra | 18 ++
 1 file changed, 14 insertions(+), 4 deletions(-)
--




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

2017-04-26 Thread spod
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/6c840c0c
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/6c840c0c
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/6c840c0c

Branch: refs/heads/cassandra-3.11
Commit: 6c840c0cd102c2bfc5e09c68673c03356f9a78fb
Parents: 8bb5f1e 868be9c
Author: Stefan Podkowinski 
Authored: Wed Apr 26 19:46:56 2017 +0200
Committer: Stefan Podkowinski 
Committed: Wed Apr 26 19:46:56 2017 +0200

--
 redhat/cassandra | 18 ++
 1 file changed, 14 insertions(+), 4 deletions(-)
--




[09/10] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.11

2017-04-26 Thread spod
Merge branch 'cassandra-3.0' into cassandra-3.11


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

Branch: refs/heads/trunk
Commit: ca034eacfef08b2e14bee98309bed01f1e5929e7
Parents: a483147 6c840c0
Author: Stefan Podkowinski 
Authored: Wed Apr 26 19:47:11 2017 +0200
Committer: Stefan Podkowinski 
Committed: Wed Apr 26 19:47:11 2017 +0200

--
 redhat/cassandra | 18 ++
 1 file changed, 14 insertions(+), 4 deletions(-)
--




[02/10] cassandra git commit: Fix status check on stopping for rh cassandra script

2017-04-26 Thread spod
Fix status check on stopping for rh cassandra script

patch by Stefan Podkowinski; reviewed by Michael Shuler for CASSANDRA-13435


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

Branch: refs/heads/cassandra-3.0
Commit: 868be9c283e9a49f4a99b7bbeafde8ddd2f2d63f
Parents: 5c6fc5e
Author: Stefan Podkowinski 
Authored: Wed Apr 12 16:47:05 2017 +0200
Committer: Stefan Podkowinski 
Committed: Wed Apr 26 19:46:14 2017 +0200

--
 redhat/cassandra | 18 ++
 1 file changed, 14 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/868be9c2/redhat/cassandra
--
diff --git a/redhat/cassandra b/redhat/cassandra
index 5ff9c48..a45 100644
--- a/redhat/cassandra
+++ b/redhat/cassandra
@@ -67,16 +67,26 @@ case "$1" in
 su $CASSANDRA_OWNR -c "kill `cat $pid_file`"
 retval=$?
 [ $retval -eq 0 ] && rm -f $lock_file
-for t in `seq 40`; do $0 status > /dev/null 2>&1 && sleep 0.5 || 
break; done
+for t in `seq 40`; do
+status -p $pid_file cassandra > /dev/null 2>&1
+retval=$?
+if [ $retval -eq 3 ]; then
+echo "OK"
+exit 0
+else
+sleep 0.5
+fi;
+done
 # Adding a sleep here to give jmx time to wind down (CASSANDRA-4483). 
Not ideal...
 # Adam Holmberg suggests this, but that would break if the jmx port is 
changed
 # for t in `seq 40`; do netstat -tnlp | grep "0.0.0.0:7199" > 
/dev/null 2>&1 && sleep 0.1 || break; done
 sleep 5
-STATUS=`$0 status`
-if [[ $STATUS == "$NAME is stopped" ]]; then
+status -p $pid_file cassandra > /dev/null 2>&1
+retval=$?
+if [ $retval -eq 3 ]; then
 echo "OK"
 else
-echo "ERROR: could not stop $NAME:  $STATUS"
+echo "ERROR: could not stop $NAME"
 exit 1
 fi
 ;;



[03/10] cassandra git commit: Fix status check on stopping for rh cassandra script

2017-04-26 Thread spod
Fix status check on stopping for rh cassandra script

patch by Stefan Podkowinski; reviewed by Michael Shuler for CASSANDRA-13435


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

Branch: refs/heads/cassandra-3.11
Commit: 868be9c283e9a49f4a99b7bbeafde8ddd2f2d63f
Parents: 5c6fc5e
Author: Stefan Podkowinski 
Authored: Wed Apr 12 16:47:05 2017 +0200
Committer: Stefan Podkowinski 
Committed: Wed Apr 26 19:46:14 2017 +0200

--
 redhat/cassandra | 18 ++
 1 file changed, 14 insertions(+), 4 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/868be9c2/redhat/cassandra
--
diff --git a/redhat/cassandra b/redhat/cassandra
index 5ff9c48..a45 100644
--- a/redhat/cassandra
+++ b/redhat/cassandra
@@ -67,16 +67,26 @@ case "$1" in
 su $CASSANDRA_OWNR -c "kill `cat $pid_file`"
 retval=$?
 [ $retval -eq 0 ] && rm -f $lock_file
-for t in `seq 40`; do $0 status > /dev/null 2>&1 && sleep 0.5 || 
break; done
+for t in `seq 40`; do
+status -p $pid_file cassandra > /dev/null 2>&1
+retval=$?
+if [ $retval -eq 3 ]; then
+echo "OK"
+exit 0
+else
+sleep 0.5
+fi;
+done
 # Adding a sleep here to give jmx time to wind down (CASSANDRA-4483). 
Not ideal...
 # Adam Holmberg suggests this, but that would break if the jmx port is 
changed
 # for t in `seq 40`; do netstat -tnlp | grep "0.0.0.0:7199" > 
/dev/null 2>&1 && sleep 0.1 || break; done
 sleep 5
-STATUS=`$0 status`
-if [[ $STATUS == "$NAME is stopped" ]]; then
+status -p $pid_file cassandra > /dev/null 2>&1
+retval=$?
+if [ $retval -eq 3 ]; then
 echo "OK"
 else
-echo "ERROR: could not stop $NAME:  $STATUS"
+echo "ERROR: could not stop $NAME"
 exit 1
 fi
 ;;



[jira] [Updated] (CASSANDRA-13434) Add PID file directive in /etc/init.d/cassandra

2017-04-26 Thread Stefan Podkowinski (JIRA)

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

Stefan Podkowinski updated CASSANDRA-13434:
---
Resolution: Fixed
Status: Resolved  (was: Ready to Commit)

> Add PID file directive in /etc/init.d/cassandra
> ---
>
> Key: CASSANDRA-13434
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13434
> Project: Cassandra
>  Issue Type: Sub-task
>  Components: Packaging
>Reporter: Stefan Podkowinski
>Assignee: Stefan Podkowinski
> Fix For: 2.2.10, 3.0.14, 3.11.0, 4.0
>
> Attachments: CASSANDRA-13434.patch
>
>
> As mentioned in CASSANDRA-10920, we should add directive for pid file in 
> header that allows creating a unit file with the correct PIDFile=.. entry. 
> Else systemd won't be able to tell if Cassandra is still running.
> {noformat}
> # pidfile: /var/run/cassandra/cassandra.pid
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (CASSANDRA-13434) Add PID file directive in /etc/init.d/cassandra

2017-04-26 Thread Stefan Podkowinski (JIRA)

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

Stefan Podkowinski updated CASSANDRA-13434:
---
Fix Version/s: 4.0
   3.11.0
   3.0.14
   2.2.10

> Add PID file directive in /etc/init.d/cassandra
> ---
>
> Key: CASSANDRA-13434
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13434
> Project: Cassandra
>  Issue Type: Sub-task
>  Components: Packaging
>Reporter: Stefan Podkowinski
>Assignee: Stefan Podkowinski
> Fix For: 2.2.10, 3.0.14, 3.11.0, 4.0
>
> Attachments: CASSANDRA-13434.patch
>
>
> As mentioned in CASSANDRA-10920, we should add directive for pid file in 
> header that allows creating a unit file with the correct PIDFile=.. entry. 
> Else systemd won't be able to tell if Cassandra is still running.
> {noformat}
> # pidfile: /var/run/cassandra/cassandra.pid
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


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

2017-04-26 Thread spod
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/8bb5f1e0
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/8bb5f1e0
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/8bb5f1e0

Branch: refs/heads/trunk
Commit: 8bb5f1e0cf15d52e944291a8e4eb90a026770ea3
Parents: 8dbf808 5c6fc5e
Author: Stefan Podkowinski 
Authored: Wed Apr 26 19:33:13 2017 +0200
Committer: Stefan Podkowinski 
Committed: Wed Apr 26 19:33:13 2017 +0200

--
 redhat/cassandra | 1 +
 1 file changed, 1 insertion(+)
--




[10/10] cassandra git commit: Merge branch 'cassandra-3.11' into trunk

2017-04-26 Thread spod
Merge branch 'cassandra-3.11' into trunk


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

Branch: refs/heads/trunk
Commit: abbb2a712d49165e0f30d9a3adfdccdc946d25be
Parents: a45b2a8 a483147
Author: Stefan Podkowinski 
Authored: Wed Apr 26 19:35:42 2017 +0200
Committer: Stefan Podkowinski 
Committed: Wed Apr 26 19:35:42 2017 +0200

--
 redhat/cassandra | 1 +
 1 file changed, 1 insertion(+)
--




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

2017-04-26 Thread spod
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/8bb5f1e0
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/8bb5f1e0
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/8bb5f1e0

Branch: refs/heads/cassandra-3.11
Commit: 8bb5f1e0cf15d52e944291a8e4eb90a026770ea3
Parents: 8dbf808 5c6fc5e
Author: Stefan Podkowinski 
Authored: Wed Apr 26 19:33:13 2017 +0200
Committer: Stefan Podkowinski 
Committed: Wed Apr 26 19:33:13 2017 +0200

--
 redhat/cassandra | 1 +
 1 file changed, 1 insertion(+)
--




[02/10] cassandra git commit: Add pidfile directive to redhat cassandra script

2017-04-26 Thread spod
Add pidfile directive to redhat cassandra script

patch by Stefan Podkowinski; reviewed by Michael Shuler for CASSANDRA-13434


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

Branch: refs/heads/cassandra-3.0
Commit: 5c6fc5e3102293672d1894204b8b4988480ae500
Parents: bd540bc
Author: Stefan Podkowinski 
Authored: Wed Apr 12 16:42:18 2017 +0200
Committer: Stefan Podkowinski 
Committed: Wed Apr 26 19:29:45 2017 +0200

--
 redhat/cassandra | 1 +
 1 file changed, 1 insertion(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5c6fc5e3/redhat/cassandra
--
diff --git a/redhat/cassandra b/redhat/cassandra
index 3079487..5ff9c48 100644
--- a/redhat/cassandra
+++ b/redhat/cassandra
@@ -6,6 +6,7 @@
 # 
 # chkconfig: 2345 20 80
 # description: Starts and stops Cassandra
+# pidfile: /var/run/cassandra/cassandra.pid
 
 . /etc/rc.d/init.d/functions
 



[09/10] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.11

2017-04-26 Thread spod
Merge branch 'cassandra-3.0' into cassandra-3.11


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

Branch: refs/heads/trunk
Commit: a483147077c2f30d194c4e530f56238112919828
Parents: 6679b08 8bb5f1e
Author: Stefan Podkowinski 
Authored: Wed Apr 26 19:35:19 2017 +0200
Committer: Stefan Podkowinski 
Committed: Wed Apr 26 19:35:19 2017 +0200

--
 redhat/cassandra | 1 +
 1 file changed, 1 insertion(+)
--




[03/10] cassandra git commit: Add pidfile directive to redhat cassandra script

2017-04-26 Thread spod
Add pidfile directive to redhat cassandra script

patch by Stefan Podkowinski; reviewed by Michael Shuler for CASSANDRA-13434


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

Branch: refs/heads/cassandra-3.11
Commit: 5c6fc5e3102293672d1894204b8b4988480ae500
Parents: bd540bc
Author: Stefan Podkowinski 
Authored: Wed Apr 12 16:42:18 2017 +0200
Committer: Stefan Podkowinski 
Committed: Wed Apr 26 19:29:45 2017 +0200

--
 redhat/cassandra | 1 +
 1 file changed, 1 insertion(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5c6fc5e3/redhat/cassandra
--
diff --git a/redhat/cassandra b/redhat/cassandra
index 3079487..5ff9c48 100644
--- a/redhat/cassandra
+++ b/redhat/cassandra
@@ -6,6 +6,7 @@
 # 
 # chkconfig: 2345 20 80
 # description: Starts and stops Cassandra
+# pidfile: /var/run/cassandra/cassandra.pid
 
 . /etc/rc.d/init.d/functions
 



[04/10] cassandra git commit: Add pidfile directive to redhat cassandra script

2017-04-26 Thread spod
Add pidfile directive to redhat cassandra script

patch by Stefan Podkowinski; reviewed by Michael Shuler for CASSANDRA-13434


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

Branch: refs/heads/trunk
Commit: 5c6fc5e3102293672d1894204b8b4988480ae500
Parents: bd540bc
Author: Stefan Podkowinski 
Authored: Wed Apr 12 16:42:18 2017 +0200
Committer: Stefan Podkowinski 
Committed: Wed Apr 26 19:29:45 2017 +0200

--
 redhat/cassandra | 1 +
 1 file changed, 1 insertion(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5c6fc5e3/redhat/cassandra
--
diff --git a/redhat/cassandra b/redhat/cassandra
index 3079487..5ff9c48 100644
--- a/redhat/cassandra
+++ b/redhat/cassandra
@@ -6,6 +6,7 @@
 # 
 # chkconfig: 2345 20 80
 # description: Starts and stops Cassandra
+# pidfile: /var/run/cassandra/cassandra.pid
 
 . /etc/rc.d/init.d/functions
 



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

2017-04-26 Thread spod
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/8bb5f1e0
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/8bb5f1e0
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/8bb5f1e0

Branch: refs/heads/cassandra-3.0
Commit: 8bb5f1e0cf15d52e944291a8e4eb90a026770ea3
Parents: 8dbf808 5c6fc5e
Author: Stefan Podkowinski 
Authored: Wed Apr 26 19:33:13 2017 +0200
Committer: Stefan Podkowinski 
Committed: Wed Apr 26 19:33:13 2017 +0200

--
 redhat/cassandra | 1 +
 1 file changed, 1 insertion(+)
--




[01/10] cassandra git commit: Add pidfile directive to redhat cassandra script

2017-04-26 Thread spod
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.2 bd540bc51 -> 5c6fc5e31
  refs/heads/cassandra-3.0 8dbf808c3 -> 8bb5f1e0c
  refs/heads/cassandra-3.11 6679b085a -> a48314707
  refs/heads/trunk a45b2a8c6 -> abbb2a712


Add pidfile directive to redhat cassandra script

patch by Stefan Podkowinski; reviewed by Michael Shuler for CASSANDRA-13434


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

Branch: refs/heads/cassandra-2.2
Commit: 5c6fc5e3102293672d1894204b8b4988480ae500
Parents: bd540bc
Author: Stefan Podkowinski 
Authored: Wed Apr 12 16:42:18 2017 +0200
Committer: Stefan Podkowinski 
Committed: Wed Apr 26 19:29:45 2017 +0200

--
 redhat/cassandra | 1 +
 1 file changed, 1 insertion(+)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/5c6fc5e3/redhat/cassandra
--
diff --git a/redhat/cassandra b/redhat/cassandra
index 3079487..5ff9c48 100644
--- a/redhat/cassandra
+++ b/redhat/cassandra
@@ -6,6 +6,7 @@
 # 
 # chkconfig: 2345 20 80
 # description: Starts and stops Cassandra
+# pidfile: /var/run/cassandra/cassandra.pid
 
 . /etc/rc.d/init.d/functions
 



[08/10] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.11

2017-04-26 Thread spod
Merge branch 'cassandra-3.0' into cassandra-3.11


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

Branch: refs/heads/cassandra-3.11
Commit: a483147077c2f30d194c4e530f56238112919828
Parents: 6679b08 8bb5f1e
Author: Stefan Podkowinski 
Authored: Wed Apr 26 19:35:19 2017 +0200
Committer: Stefan Podkowinski 
Committed: Wed Apr 26 19:35:19 2017 +0200

--
 redhat/cassandra | 1 +
 1 file changed, 1 insertion(+)
--




[jira] [Commented] (CASSANDRA-13475) Define pluggable storage engine API.

2017-04-26 Thread Blake Eggleston (JIRA)

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

Blake Eggleston commented on CASSANDRA-13475:
-

It would also need to support repair, so it would need to be able to 
 * Mark portions of data as unrepaired, pending repair, or repaired, and 
preserve this during streaming
 * Build merkle trees (or some implementation specific data) on all or some of 
it's data in a token range


> Define pluggable storage engine API.
> 
>
> Key: CASSANDRA-13475
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13475
> Project: Cassandra
>  Issue Type: Sub-task
>Reporter: Dikang Gu
>
> In order to support pluggable storage engine, we need to define a unified 
> interface/API, which can allow us to plug in different storage engines for 
> different requirements. 
> In very high level, the storage engine interface should include APIs to:
> 1. Apply update into the engine.
> 2. Query data from the engine.
> 3. Stream data in/out to/from the engine.
> 4. Table operations, like create/drop/truncate a table, etc.
> 5. Various stats about the engine.
> I create this ticket to start the discussions about the interface.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (CASSANDRA-13387) Metrics for repair

2017-04-26 Thread Blake Eggleston (JIRA)

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

Blake Eggleston commented on CASSANDRA-13387:
-

I don't think repair/streaming works across versions, so there's not really a 
reason to keep CleanupMessage around. Having said that, it should be removed as 
part of another JIRA, preferably one that addresses one of it's original 
functions: removing parent repair sessions on non-repair-coordinator nodes, 
which we just accumulate indefinitely now.

> Metrics for repair
> --
>
> Key: CASSANDRA-13387
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13387
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Simon Zhou
>Assignee: Simon Zhou
>Priority: Minor
>
> We're missing metrics for repair, especially for errors. From what I observed 
> now, the exception will be caught by UncaughtExceptionHandler set in 
> CassandraDaemon and is categorized as StorageMetrics.exceptions. This is one 
> example:
> {code}
> ERROR [AntiEntropyStage:1] 2017-03-27 18:17:08,385 CassandraDaemon.java:207 - 
> Exception in thread Thread[AntiEntropyStage:1,5,main]
> java.lang.RuntimeException: Parent repair session with id = 
> 8c85d260-1319-11e7-82a2-25090a89015f has failed.
> at 
> org.apache.cassandra.service.ActiveRepairService.getParentRepairSession(ActiveRepairService.java:377)
>  ~[apache-cassandra-3.0.10.jar:3.0.10]
> at 
> org.apache.cassandra.service.ActiveRepairService.removeParentRepairSession(ActiveRepairService.java:392)
>  ~[apache-cassandra-3.0.10.jar:3.0.10]
> at 
> org.apache.cassandra.repair.RepairMessageVerbHandler.doVerb(RepairMessageVerbHandler.java:172)
>  ~[apache-cassandra-3.0.10.jar:3.0.10]
> at 
> org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:67) 
> ~[apache-cassandra-3.0.10.jar:3.0.10]
> at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
> ~[na:1.8.0_121]
> at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
> ~[na:1.8.0_121]
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  ~[na:1.8.0_121]
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  [na:1.8.0_121]
> at java.lang.Thread.run(Thread.java:745) [na:1.8.0_121]
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (CASSANDRA-13265) Expiration in OutboundTcpConnection can block the reader Thread

2017-04-26 Thread Ariel Weisberg (JIRA)

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

Ariel Weisberg commented on CASSANDRA-13265:


I think the stress-test target just doesn't exist in 3.0.

Adding {{DatabaseDescriptor.daemonInitialization()}} is the correct fix I think.

I a struggling to just get a run of the dtests for 2.2 and trunk before I 
merge. This runs output seems corrupted 
https://builds.apache.org/view/A-D/view/Cassandra/job/Cassandra-devbranch-dtest/30/

The trunk trunk run doesn't even appear.

> Expiration in OutboundTcpConnection can block the reader Thread
> ---
>
> Key: CASSANDRA-13265
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13265
> Project: Cassandra
>  Issue Type: Bug
> Environment: Cassandra 3.0.9
> Java HotSpot(TM) 64-Bit Server VM version 25.112-b15 (Java version 
> 1.8.0_112-b15)
> Linux 3.16
>Reporter: Christian Esken
>Assignee: Christian Esken
> Fix For: 3.0.x
>
> Attachments: cassandra.pb-cache4-dus.2017-02-17-19-36-26.chist.xz, 
> cassandra.pb-cache4-dus.2017-02-17-19-36-26.td.xz
>
>
> I observed that sometimes a single node in a Cassandra cluster fails to 
> communicate to the other nodes. This can happen at any time, during peak load 
> or low load. Restarting that single node from the cluster fixes the issue.
> Before going in to details, I want to state that I have analyzed the 
> situation and am already developing a possible fix. Here is the analysis so 
> far:
> - A Threaddump in this situation showed  324 Threads in the 
> OutboundTcpConnection class that want to lock the backlog queue for doing 
> expiration.
> - A class histogram shows 262508 instances of 
> OutboundTcpConnection$QueuedMessage.
> What is the effect of it? As soon as the Cassandra node has reached a certain 
> amount of queued messages, it starts thrashing itself to death. Each of the 
> Thread fully locks the Queue for reading and writing by calling 
> iterator.next(), making the situation worse and worse.
> - Writing: Only after 262508 locking operation it can progress with actually 
> writing to the Queue.
> - Reading: Is also blocked, as 324 Threads try to do iterator.next(), and 
> fully lock the Queue
> This means: Writing blocks the Queue for reading, and readers might even be 
> starved which makes the situation even worse.
> -
> The setup is:
>  - 3-node cluster
>  - replication factor 2
>  - Consistency LOCAL_ONE
>  - No remote DC's
>  - high write throughput (10 INSERT statements per second and more during 
> peak times).
>  



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Comment Edited] (CASSANDRA-8272) 2ndary indexes can return stale data

2017-04-26 Thread JIRA

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

Andrés de la Peña edited comment on CASSANDRA-8272 at 4/26/17 3:26 PM:
---

If we send a {{RangeTombstoneMarker}} each time we find a deleted index entry, 
the coordinator will be able to discard the false positives returned the stale 
node. The problem is that read repair will send back the tombstones to the 
nodes, corrupting not only the index but also the indexed table. Possible 
solutions could be to disable read repair for index queries or sending a new 
type of tombstone that read repair would ignore. 

As an alternative solution, the index could return also the rows pointed by the 
deleted index entries, without any information about the staleness of the index 
entries, and use {{Index.postProcessorFor(ReadCommand)}} to discard those rows 
that doesn't satisfy the index expression after reconcilliation. This would 
solve the consistency problem without any changes in read repair, or in the 
coordinator in general. The downside is that we should read in the base table, 
and possibly send, all the rows pointed by deleted index entries satisfying the 
expression since last gc. 

I'm working in this last approach here:

||[3.0|https://github.com/apache/cassandra/compare/cassandra-3.0...adelapena:8272-3.0]|[utests|http://cassci.datastax.com/view/Dev/view/adelapena/job/adelapena-8272-3.0-testall/]|[dtests|http://cassci.datastax.com/view/Dev/view/adelapena/job/adelapena-8272-3.0-dtest/]|

The patch is still uncomplete, I'm posting it just to illustrate the approach. 
I have not yet added dtests for the scenario described by this ticket, although 
I've tried it manually, and existing dtests pass. 

{{PartitionRangeReadCommand}} overrides 
{{ReadCommand.executeInternal(ReadOrderGroup)}} to use the index 
post-processor, that now is required to let the index clean the stale entries.


was (Author: adelapena):
If we send a {{RangeTombstoneMarker}} each time we find a deleted index entry, 
the coordinator will be able to discard the false positives returned the stale 
node. The problem is that read repair will send back the tombstones to the 
nodes, corrupting not only the index but also the indexed table. Possible 
solutions could be to disable read repair for index queries or sending a new 
type of tombstone that read repair would ignore. 

As an alternative solution, the index could return also the rows pointed by the 
deleted index entries, without any information about the staleness of the index 
entries, and use {{Index.postProcessorFor(ReadCommand)}} to discard those rows 
that doesn't satisfy the index expression after reconcilliation. This would 
solve the consistency problem without any changes in read repair, or in the 
coordinator in general. The downside is that we should read in the base table, 
and possibly send, all the rows pointed by deleted index entries satisfying the 
expression since last gc. 

I'm working in this last approach here:

||[3.0|https://github.com/apache/cassandra/compare/cassandra-3.0...adelapena:8272-3.0]|[utests|http://cassci.datastax.com/view/Dev/view/adelapena/job/adelapena-8272-3.0-testall/]|[dtests|http://cassci.datastax.com/view/Dev/view/adelapena/job/adelapena-8272-3.0-dtest/]|

The patch is still uncomplete, I'm posting it just to illustrate the approach. 
I have not yet added dtests for the scenario described by this ticket, although 
I've tried it manually, and existing dtests pass. There are many unit tests 
failing because {{CQLTester}} relies on {{QueryProcessor.executeInternal}}, 
that doesn't use {{Index.postProcessorFor(ReadCommand)}}, and I guess it should 
do it.

> 2ndary indexes can return stale data
> 
>
> Key: CASSANDRA-8272
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8272
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Sylvain Lebresne
>Assignee: Andrés de la Peña
> Fix For: 2.1.x
>
>
> When replica return 2ndary index results, it's possible for a single replica 
> to return a stale result and that result will be sent back to the user, 
> potentially failing the CL contract.
> For instance, consider 3 replicas A, B and C, and the following situation:
> {noformat}
> CREATE TABLE test (k int PRIMARY KEY, v text);
> CREATE INDEX ON test(v);
> INSERT INTO test(k, v) VALUES (0, 'foo');
> {noformat}
> with every replica up to date. Now, suppose that the following queries are 
> done at {{QUORUM}}:
> {noformat}
> UPDATE test SET v = 'bar' WHERE k = 0;
> SELECT * FROM test WHERE v = 'foo';
> {noformat}
> then, if A and B acknowledge the insert but C respond to the read before 
> having applied the insert, then the now stale result will be returned (since 
> C will return it and A or B will return 

[jira] [Comment Edited] (CASSANDRA-13412) Update of column with TTL results in secondary index not returning row

2017-04-26 Thread Enrique Bautista Barahona (JIRA)

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

Enrique Bautista Barahona edited comment on CASSANDRA-13412 at 4/26/17 1:58 PM:


I've tried to identify a precise sequence of steps to reproduce this in 3.0.x 
but have had no luck so far. You can close this issue if you want. If I manage 
to reproduce it in 3.0.x consistently I will open another issue (or re-open 
this one, whatever you prefer).

Thanks!


was (Author: ebautistabar):
I've tried to identify a precise sequence of steps to reproduce this in 3.0.x 
but have had no luck so far. You can close this issue if you want. If I manage 
to reproduce it in 3.0.x consistently I can open another issue (or re-open this 
one, whatever you prefer).

Thanks!

> Update of column with TTL results in secondary index not returning row
> --
>
> Key: CASSANDRA-13412
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13412
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Enrique Bautista Barahona
>Assignee: Andrés de la Peña
> Fix For: 2.1.x, 2.2.x
>
>
> Cassandra versions: 2.2.3, 3.0.11
> 1 datacenter, keyspace has RF 3. Default consistency level.
> Steps:
> 1. I create these table and index.
> {code}
> CREATE TABLE my_table (
> a text,
> b text,
> c text,
> d set,
> e float,
> f text,
> g int,
> h double,
> j set,
> k float,
> m set,
> PRIMARY KEY (a, b, c)
> ) WITH read_repair_chance = 0.0
>AND dclocal_read_repair_chance = 0.1
>AND gc_grace_seconds = 864000
>AND bloom_filter_fp_chance = 0.01
>AND caching = { 'keys' : 'ALL', 'rows_per_partition' : 'NONE' }
>AND comment = ''
>AND compaction = { 'class' : 
> 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy' }
>AND compression = { 'sstable_compression' : 
> 'org.apache.cassandra.io.compress.LZ4Compressor' }
>AND default_time_to_live = 0
>AND speculative_retry = '99.0PERCENTILE'
>AND min_index_interval = 128
>AND max_index_interval = 2048;
> CREATE INDEX my_index ON my_table (c);
> {code}
> 2. I have 9951 INSERT statements in a file and I run the following command to 
> execute them. The INSERT statements have no TTL and no consistency level is 
> specified.
> {code}
> cqlsh   -u  -f 
> {code}
> 3. I update a column filtering by the whole primary key, and setting a TTL. 
> For example:
> {code}
> UPDATE my_table USING TTL 30 SET h = 10 WHERE a = 'test_a' AND b = 'test_b' 
> AND c = 'test_c';
> {code}
> 4. After the time specified in the TTL I run the following queries:
> {code}
> SELECT * FROM my_table WHERE a = 'test_a' AND b = 'test_b' AND c = 'test_c';
> SELECT * FROM my_table WHERE c = 'test_c';
> {code}
> The first one returns the correct row with an empty h column (as it has 
> expired). However, the second query (which uses the secondary index on column 
> c) returns nothing.
> I've done the query through my app which uses the Java driver v3.0.4 and 
> reads with CL local_one, from the cql shell and from DBeaver 3.8.5. All 
> display the same behaviour. The queries are performed minutes after the 
> writes and the servers don't have a high load, so I think it's unlikely to be 
> a consistency issue.
> I've tried to reproduce the issue in ccm and cqlsh by creating a new keyspace 
> and table, and inserting just 1 row, and the bug doesn't manifest. This leads 
> me to think that it's an issue only present with not trivially small amounts 
> of data, or maybe present only after Cassandra compacts or performs whatever 
> maintenance it needs to do.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (CASSANDRA-13412) Update of column with TTL results in secondary index not returning row

2017-04-26 Thread Enrique Bautista Barahona (JIRA)

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

Enrique Bautista Barahona commented on CASSANDRA-13412:
---

I've tried to identify a precise sequence of steps to reproduce this in 3.0.x 
but have had no luck so far. You can close this issue if you want. If I manage 
to reproduce it in 3.0.x consistently I can open another issue (or re-open this 
one, whatever you prefer).

Thanks!

> Update of column with TTL results in secondary index not returning row
> --
>
> Key: CASSANDRA-13412
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13412
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Enrique Bautista Barahona
>Assignee: Andrés de la Peña
> Fix For: 2.1.x, 2.2.x
>
>
> Cassandra versions: 2.2.3, 3.0.11
> 1 datacenter, keyspace has RF 3. Default consistency level.
> Steps:
> 1. I create these table and index.
> {code}
> CREATE TABLE my_table (
> a text,
> b text,
> c text,
> d set,
> e float,
> f text,
> g int,
> h double,
> j set,
> k float,
> m set,
> PRIMARY KEY (a, b, c)
> ) WITH read_repair_chance = 0.0
>AND dclocal_read_repair_chance = 0.1
>AND gc_grace_seconds = 864000
>AND bloom_filter_fp_chance = 0.01
>AND caching = { 'keys' : 'ALL', 'rows_per_partition' : 'NONE' }
>AND comment = ''
>AND compaction = { 'class' : 
> 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy' }
>AND compression = { 'sstable_compression' : 
> 'org.apache.cassandra.io.compress.LZ4Compressor' }
>AND default_time_to_live = 0
>AND speculative_retry = '99.0PERCENTILE'
>AND min_index_interval = 128
>AND max_index_interval = 2048;
> CREATE INDEX my_index ON my_table (c);
> {code}
> 2. I have 9951 INSERT statements in a file and I run the following command to 
> execute them. The INSERT statements have no TTL and no consistency level is 
> specified.
> {code}
> cqlsh   -u  -f 
> {code}
> 3. I update a column filtering by the whole primary key, and setting a TTL. 
> For example:
> {code}
> UPDATE my_table USING TTL 30 SET h = 10 WHERE a = 'test_a' AND b = 'test_b' 
> AND c = 'test_c';
> {code}
> 4. After the time specified in the TTL I run the following queries:
> {code}
> SELECT * FROM my_table WHERE a = 'test_a' AND b = 'test_b' AND c = 'test_c';
> SELECT * FROM my_table WHERE c = 'test_c';
> {code}
> The first one returns the correct row with an empty h column (as it has 
> expired). However, the second query (which uses the secondary index on column 
> c) returns nothing.
> I've done the query through my app which uses the Java driver v3.0.4 and 
> reads with CL local_one, from the cql shell and from DBeaver 3.8.5. All 
> display the same behaviour. The queries are performed minutes after the 
> writes and the servers don't have a high load, so I think it's unlikely to be 
> a consistency issue.
> I've tried to reproduce the issue in ccm and cqlsh by creating a new keyspace 
> and table, and inserting just 1 row, and the bug doesn't manifest. This leads 
> me to think that it's an issue only present with not trivially small amounts 
> of data, or maybe present only after Cassandra compacts or performs whatever 
> maintenance it needs to do.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (CASSANDRA-9928) Add Support for multiple non-primary key columns in Materialized View primary keys

2017-04-26 Thread craig mcmillan (JIRA)

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

craig mcmillan commented on CASSANDRA-9928:
---

currently i achieve this function by manually concatenating the extra keys i 
want in the MV into a single text key - it's roughly workable, but timeuuids 
can no longer be used to provide ordering, since they don't sort lexically

[~thobbs] solution would formalize and improve upon what i, and presumably many 
others, are already having to do ?

> Add Support for multiple non-primary key columns in Materialized View primary 
> keys
> --
>
> Key: CASSANDRA-9928
> URL: https://issues.apache.org/jira/browse/CASSANDRA-9928
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: T Jake Luciani
>  Labels: materializedviews
> Fix For: 3.11.x
>
>
> Currently we don't allow > 1 non primary key from the base table in a MV 
> primary key.  We should remove this restriction assuming we continue 
> filtering out nulls.  With allowing nulls in the MV columns there are a lot 
> of multiplicative implications we need to think through.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (CASSANDRA-13418) Allow TWCS to ignore overlaps when dropping fully expired sstables

2017-04-26 Thread Corentin Chary (JIRA)

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

Corentin Chary commented on CASSANDRA-13418:


[~krummas]: good point, CASSANDRA-10496 seems to come with its own set of 
issues: number of sstables would probably get huge, except if you add some kind 
of "buffering" like what is done for the first window.
I'll see if I can find a reasonable solution for TWCS or propose it in the 
related ticket. If can't agree on a good solution, we can fallback to what is 
proposed here.

[~adejanovski]: about skipping getOverlappingSSTables() completely, I though 
about that too, but I think it's used in some other place and I wasn't sure 
what the result would be.

> Allow TWCS to ignore overlaps when dropping fully expired sstables
> --
>
> Key: CASSANDRA-13418
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13418
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Compaction
>Reporter: Corentin Chary
>  Labels: twcs
>
> http://thelastpickle.com/blog/2016/12/08/TWCS-part1.html explains it well. If 
> you really want read-repairs you're going to have sstables blocking the 
> expiration of other fully expired SSTables because they overlap.
> You can set unchecked_tombstone_compaction = true or tombstone_threshold to a 
> very low value and that will purge the blockers of old data that should 
> already have expired, thus removing the overlaps and allowing the other 
> SSTables to expire.
> The thing is that this is rather CPU intensive and not optimal. If you have 
> time series, you might not care if all your data doesn't exactly expire at 
> the right time, or if data re-appears for some time, as long as it gets 
> deleted as soon as it can. And in this situation I believe it would be really 
> beneficial to allow users to simply ignore overlapping SSTables when looking 
> for fully expired ones.
> To the question: why would you need read-repairs ?
> - Full repairs basically take longer than the TTL of the data on my dataset, 
> so this isn't really effective.
> - Even with a 10% chances of doing a repair, we found out that this would be 
> enough to greatly reduce entropy of the most used data (and if you have 
> timeseries, you're likely to have a dashboard doing the same important 
> queries over and over again).
> - LOCAL_QUORUM is too expensive (need >3 replicas), QUORUM is too slow.
> I'll try to come up with a patch demonstrating how this would work, try it on 
> our system and report the effects.
> cc: [~adejanovski], [~rgerard] as I know you worked on similar issues already.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (CASSANDRA-13423) Secondary indexes can return stale data for deleted rows in 2.x

2017-04-26 Thread JIRA

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

Andrés de la Peña commented on CASSANDRA-13423:
---

This could probably be solved by 
[CASSANDRA-8272|https://issues.apache.org/jira/browse/CASSANDRA-8272].

> Secondary indexes can return stale data for deleted rows in 2.x
> ---
>
> Key: CASSANDRA-13423
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13423
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Benjamin Lerer
>Assignee: Andrés de la Peña
>
> In {{2.x}} when the secondary index detect that a row has been deleted it 
> removes it from the index. This approach can result in stale data being 
> returned if one of the nodes has not yet received the deletion.
> The problem come from this 
> {{line|https://github.com/apache/cassandra/blob/cassandra-2.1/src/java/org/apache/cassandra/db/index/composites/CompositesSearcher.java#L284}}.
>  
> To avoid that problem we should remove the rows from the indexes only once 
> they has been garbage collected.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (CASSANDRA-13418) Allow TWCS to ignore overlaps when dropping fully expired sstables

2017-04-26 Thread Marcus Eriksson (JIRA)

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

Marcus Eriksson commented on CASSANDRA-13418:
-

I think we should instead fix the actual problem, that old data (read-repaired 
for example) can get flushed together with new data (maybe CASSANDRA-10496)

> Allow TWCS to ignore overlaps when dropping fully expired sstables
> --
>
> Key: CASSANDRA-13418
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13418
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Compaction
>Reporter: Corentin Chary
>  Labels: twcs
>
> http://thelastpickle.com/blog/2016/12/08/TWCS-part1.html explains it well. If 
> you really want read-repairs you're going to have sstables blocking the 
> expiration of other fully expired SSTables because they overlap.
> You can set unchecked_tombstone_compaction = true or tombstone_threshold to a 
> very low value and that will purge the blockers of old data that should 
> already have expired, thus removing the overlaps and allowing the other 
> SSTables to expire.
> The thing is that this is rather CPU intensive and not optimal. If you have 
> time series, you might not care if all your data doesn't exactly expire at 
> the right time, or if data re-appears for some time, as long as it gets 
> deleted as soon as it can. And in this situation I believe it would be really 
> beneficial to allow users to simply ignore overlapping SSTables when looking 
> for fully expired ones.
> To the question: why would you need read-repairs ?
> - Full repairs basically take longer than the TTL of the data on my dataset, 
> so this isn't really effective.
> - Even with a 10% chances of doing a repair, we found out that this would be 
> enough to greatly reduce entropy of the most used data (and if you have 
> timeseries, you're likely to have a dashboard doing the same important 
> queries over and over again).
> - LOCAL_QUORUM is too expensive (need >3 replicas), QUORUM is too slow.
> I'll try to come up with a patch demonstrating how this would work, try it on 
> our system and report the effects.
> cc: [~adejanovski], [~rgerard] as I know you worked on similar issues already.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (CASSANDRA-8272) 2ndary indexes can return stale data

2017-04-26 Thread JIRA

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

Andrés de la Peña commented on CASSANDRA-8272:
--

And [here are the 
dtests|https://github.com/riptano/cassandra-dtest/compare/master...adelapena:CASSANDRA-8272]
 reproducing the problem. They use 2 replicas instead of 3. Updates use 
consistency {{ONE}}, and byteman is used in one of the two nodes to simulate a 
long latency during index updates. Insertions and selections use consistency 
{{ALL}}.

Cassandra 2.1 doesn't use byteman so, if we are going to fix this version, we 
could either add the byteman dependency to 2.1 or modify [the way ccm loads the 
byteman jars|https://github.com/pcmanus/ccm/blob/master/ccmlib/node.py#L1609].

> 2ndary indexes can return stale data
> 
>
> Key: CASSANDRA-8272
> URL: https://issues.apache.org/jira/browse/CASSANDRA-8272
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Sylvain Lebresne
>Assignee: Andrés de la Peña
> Fix For: 2.1.x
>
>
> When replica return 2ndary index results, it's possible for a single replica 
> to return a stale result and that result will be sent back to the user, 
> potentially failing the CL contract.
> For instance, consider 3 replicas A, B and C, and the following situation:
> {noformat}
> CREATE TABLE test (k int PRIMARY KEY, v text);
> CREATE INDEX ON test(v);
> INSERT INTO test(k, v) VALUES (0, 'foo');
> {noformat}
> with every replica up to date. Now, suppose that the following queries are 
> done at {{QUORUM}}:
> {noformat}
> UPDATE test SET v = 'bar' WHERE k = 0;
> SELECT * FROM test WHERE v = 'foo';
> {noformat}
> then, if A and B acknowledge the insert but C respond to the read before 
> having applied the insert, then the now stale result will be returned (since 
> C will return it and A or B will return nothing).
> A potential solution would be that when we read a tombstone in the index (and 
> provided we make the index inherit the gcGrace of it's parent CF), instead of 
> skipping that tombstone, we'd insert in the result a corresponding range 
> tombstone.  



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (CASSANDRA-13418) Allow TWCS to ignore overlaps when dropping fully expired sstables

2017-04-26 Thread Alexander Dejanovski (JIRA)

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

Alexander Dejanovski commented on CASSANDRA-13418:
--

[~iksaif], I have a similar patch waiting to be tested on my laptop actually :)

The naming of the option in my version was deliberately scary so that people 
would (hopefully) give it a good thinking before using it : 
unsafe_expired_sstable_deletion

I fully agree that this option (whatever the name) should be available for TWCS 
(and why not DTCS) because the typical use case is to use TTL as a deletion 
mechanism and not explicit DELETE statements, which should be done in some rare 
cases only. If a cluster is a bit unhealthy for whatever reason, it is painful 
to see read repair forcing tens of GB of data to stay on disk because of 
timestamp overlaps.

The only possible zombie data in a correct TWCS use case (all data is written 
with TTLs) would be if the tombstone and the data it shadows are written in the 
same time window (and of course the data is missing on one node).

If the data and the tombstone live in different buckets, we'll be in the 
following scenario :  
- data is written in bucket 1 with a TTL but the write fails on one node
- the tombstone is written in bucket 2 on all nodes : data and tombstone will 
then never be compacted together since they live in different buckets. 
- In bucket 3 there is a read repair that replicates the data on the node that 
missed it, which should have been in bucket 1. It's written with the same 
timestamp/TTL and will expire at the same time than all other nodes, even if 
the tombstone is collected before (which won't happen until TTL expires). 

If the tombstone and the data it shadows live in the same bucket, and the TTL 
is longer than gc_grace_seconds, then it's indeed possible to have reappearing 
data, but even then I'm not sure it could happen : During the bucket's major 
compaction, the data and tombstone would most likely be merged and only the 
tombstone would survive, preventing the possibility of having a subsequent read 
repair to replicate the data in the next time windows. 
[~jjirsa] [~krummas] : I may be wrong here in the way compaction actually 
merges tombstones and data before gc_grace_seconds, so please correct me if 
necessary.

IMHO it is worth enduring a slight chance of reappearing data in a TTL 
workload, by choice, in order to allow optimal space savings.

After looking at your patch, it could be interesting performance wise to fully 
skip calling getOverlappingSSTables() in order to avoid searching and storing 
overlaps only to void them afterwards, by modifying this line instead : 
https://github.com/apache/cassandra/blob/trunk/src/java/org/apache/cassandra/db/compaction/TimeWindowCompactionStrategy.java#L107

To sum up : big +1, it'll help ops that try to fight with low disk space and 
don't understand why expired SSTables don't get deleted.

> Allow TWCS to ignore overlaps when dropping fully expired sstables
> --
>
> Key: CASSANDRA-13418
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13418
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Compaction
>Reporter: Corentin Chary
>  Labels: twcs
>
> http://thelastpickle.com/blog/2016/12/08/TWCS-part1.html explains it well. If 
> you really want read-repairs you're going to have sstables blocking the 
> expiration of other fully expired SSTables because they overlap.
> You can set unchecked_tombstone_compaction = true or tombstone_threshold to a 
> very low value and that will purge the blockers of old data that should 
> already have expired, thus removing the overlaps and allowing the other 
> SSTables to expire.
> The thing is that this is rather CPU intensive and not optimal. If you have 
> time series, you might not care if all your data doesn't exactly expire at 
> the right time, or if data re-appears for some time, as long as it gets 
> deleted as soon as it can. And in this situation I believe it would be really 
> beneficial to allow users to simply ignore overlapping SSTables when looking 
> for fully expired ones.
> To the question: why would you need read-repairs ?
> - Full repairs basically take longer than the TTL of the data on my dataset, 
> so this isn't really effective.
> - Even with a 10% chances of doing a repair, we found out that this would be 
> enough to greatly reduce entropy of the most used data (and if you have 
> timeseries, you're likely to have a dashboard doing the same important 
> queries over and over again).
> - LOCAL_QUORUM is too expensive (need >3 replicas), QUORUM is too slow.
> I'll try to come up with a patch demonstrating how this would work, try it on 
> our system and report the effects.
> cc: 

[jira] [Commented] (CASSANDRA-13387) Metrics for repair

2017-04-26 Thread Stefan Podkowinski (JIRA)

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

Stefan Podkowinski commented on CASSANDRA-13387:


I think the reason for keeping Cleanup message was for running mixed-version 
clusters. See [Yuki's 
comment|https://issues.apache.org/jira/browse/CASSANDRA-9097?focusedCommentId=14544655=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-14544655].

> Metrics for repair
> --
>
> Key: CASSANDRA-13387
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13387
> Project: Cassandra
>  Issue Type: Improvement
>Reporter: Simon Zhou
>Assignee: Simon Zhou
>Priority: Minor
>
> We're missing metrics for repair, especially for errors. From what I observed 
> now, the exception will be caught by UncaughtExceptionHandler set in 
> CassandraDaemon and is categorized as StorageMetrics.exceptions. This is one 
> example:
> {code}
> ERROR [AntiEntropyStage:1] 2017-03-27 18:17:08,385 CassandraDaemon.java:207 - 
> Exception in thread Thread[AntiEntropyStage:1,5,main]
> java.lang.RuntimeException: Parent repair session with id = 
> 8c85d260-1319-11e7-82a2-25090a89015f has failed.
> at 
> org.apache.cassandra.service.ActiveRepairService.getParentRepairSession(ActiveRepairService.java:377)
>  ~[apache-cassandra-3.0.10.jar:3.0.10]
> at 
> org.apache.cassandra.service.ActiveRepairService.removeParentRepairSession(ActiveRepairService.java:392)
>  ~[apache-cassandra-3.0.10.jar:3.0.10]
> at 
> org.apache.cassandra.repair.RepairMessageVerbHandler.doVerb(RepairMessageVerbHandler.java:172)
>  ~[apache-cassandra-3.0.10.jar:3.0.10]
> at 
> org.apache.cassandra.net.MessageDeliveryTask.run(MessageDeliveryTask.java:67) 
> ~[apache-cassandra-3.0.10.jar:3.0.10]
> at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
> ~[na:1.8.0_121]
> at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
> ~[na:1.8.0_121]
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  ~[na:1.8.0_121]
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  [na:1.8.0_121]
> at java.lang.Thread.run(Thread.java:745) [na:1.8.0_121]
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (CASSANDRA-13460) Diag. Events: Add local persistency

2017-04-26 Thread Stefan Podkowinski (JIRA)

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

Stefan Podkowinski updated CASSANDRA-13460:
---
Summary: Diag. Events: Add local persistency  (was: Diag. Events: Add local 
persistance)

> Diag. Events: Add local persistency
> ---
>
> Key: CASSANDRA-13460
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13460
> Project: Cassandra
>  Issue Type: Sub-task
>  Components: Observability
>Reporter: Stefan Podkowinski
>Assignee: Stefan Podkowinski
>
> Some generated events will be rather less frequent but very useful for 
> retroactive troubleshooting. E.g. all events related to bootstraping and 
> gossip would probably be worth saving, as they might provide valuable 
> insights and will consume very little resources in low quantities. Imaging if 
> we could e.g. in case of CASSANDRA-13348 just ask the user to run a tool like 
> {{./bin/diagdump BootstrapEvent}} on each host, to get us a detailed log of 
> all relevant events. 
> This could be done by saving events white-listed in cassandra.yaml to a local 
> table. Maybe using a TTL.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Created] (CASSANDRA-13478) SASIndex has a time to live issue in Cassandra

2017-04-26 Thread jack chen (JIRA)
jack chen created CASSANDRA-13478:
-

 Summary: SASIndex has a time to live issue in Cassandra
 Key: CASSANDRA-13478
 URL: https://issues.apache.org/jira/browse/CASSANDRA-13478
 Project: Cassandra
  Issue Type: Bug
  Components: sasi
 Environment: cqlsh 5.0.1 | Cassandra 3.10 | CQL spec 3.4.4 | Native 
protocol v4 | ubuntu 14.04
Reporter: jack chen
Priority: Minor
 Attachments: schema

I have a table, the schema can be seen in attach file

I would like to search the data using the timestamp data type with lt gt eq as 
a query condition,
Ex:
Select * from userlist where lastposttime> '2017-04-01 16:00:00+';

There are 2 conditions :
If I insert the data and then select it, the result will be correct
But in case I insert data and then the next day I restart Cassandra, and after 
that select the data, there will be no data selected

The difference is that there is no Service restart on th next day in the first 
manner. Actually, the data are still living in Cassandra, but TimeStamp can’t 
be used as the query condition



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Resolved] (CASSANDRA-13411) CQL query using the MAX function returns resultset with Row(null, null ...) if data is not found

2017-04-26 Thread Benjamin Lerer (JIRA)

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

Benjamin Lerer resolved CASSANDRA-13411.

Resolution: Invalid

> CQL query using the MAX function returns resultset with Row(null, null ...) 
> if data is not found
> 
>
> Key: CASSANDRA-13411
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13411
> Project: Cassandra
>  Issue Type: Bug
>  Components: CQL
> Environment: 3.10
>Reporter: Andrew Efimov
>Priority: Minor
>
> CQL query using the MAX function returns resultset with rows.size=1 if data 
> is not found. And Row has only null values.
> {{SELECT id, value, MAX(date) FROM table WHERE id = "13411"}}
> If table does not have row by {{id = "13411"}} then session returns ResultSet 
> with Rows.size = 1 and Row(null, null, null).
> This is a problem to determine whether or not a data has actually been exist.
> I did not check other aggregation functions.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (CASSANDRA-13418) Allow TWCS to ignore overlaps when dropping fully expired sstables

2017-04-26 Thread Corentin Chary (JIRA)

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

Corentin Chary commented on CASSANDRA-13418:


Trying to go forward, [~jjirsa], [~adejanovski], [~krummas]: what is your 
opinion on adding a custom option to TWCS and DTCS only doing basically what my 
current patch does ?
The only drawback that I see if a fully expired overlapping table is removed is 
that read-repaired data that was explicitely deleted could eventually 
re-appear. If you're aware of more dangerous situations I'd be glad to hear 
about it.

> Allow TWCS to ignore overlaps when dropping fully expired sstables
> --
>
> Key: CASSANDRA-13418
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13418
> Project: Cassandra
>  Issue Type: Improvement
>  Components: Compaction
>Reporter: Corentin Chary
>  Labels: twcs
>
> http://thelastpickle.com/blog/2016/12/08/TWCS-part1.html explains it well. If 
> you really want read-repairs you're going to have sstables blocking the 
> expiration of other fully expired SSTables because they overlap.
> You can set unchecked_tombstone_compaction = true or tombstone_threshold to a 
> very low value and that will purge the blockers of old data that should 
> already have expired, thus removing the overlaps and allowing the other 
> SSTables to expire.
> The thing is that this is rather CPU intensive and not optimal. If you have 
> time series, you might not care if all your data doesn't exactly expire at 
> the right time, or if data re-appears for some time, as long as it gets 
> deleted as soon as it can. And in this situation I believe it would be really 
> beneficial to allow users to simply ignore overlapping SSTables when looking 
> for fully expired ones.
> To the question: why would you need read-repairs ?
> - Full repairs basically take longer than the TTL of the data on my dataset, 
> so this isn't really effective.
> - Even with a 10% chances of doing a repair, we found out that this would be 
> enough to greatly reduce entropy of the most used data (and if you have 
> timeseries, you're likely to have a dashboard doing the same important 
> queries over and over again).
> - LOCAL_QUORUM is too expensive (need >3 replicas), QUORUM is too slow.
> I'll try to come up with a patch demonstrating how this would work, try it on 
> our system and report the effects.
> cc: [~adejanovski], [~rgerard] as I know you worked on similar issues already.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (CASSANDRA-12841) testall failure in org.apache.cassandra.db.compaction.NeverPurgeTest.minorNeverPurgeTombstonesTest-compression

2017-04-26 Thread Marcus Eriksson (JIRA)

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

Marcus Eriksson updated CASSANDRA-12841:

   Resolution: Fixed
Fix Version/s: (was: 3.11.x)
   (was: 3.0.x)
   (was: 2.2.x)
   4.0
   3.11.0
   3.0.14
   2.2.10
   Status: Resolved  (was: Ready to Commit)

committed, thanks!

> testall failure in 
> org.apache.cassandra.db.compaction.NeverPurgeTest.minorNeverPurgeTombstonesTest-compression
> --
>
> Key: CASSANDRA-12841
> URL: https://issues.apache.org/jira/browse/CASSANDRA-12841
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Sean McCarthy
>Assignee: Marcus Eriksson
>  Labels: test-failure, testall
> Fix For: 2.2.10, 3.0.14, 3.11.0, 4.0
>
>
> example failure:
> http://cassci.datastax.com/job/cassandra-2.2_testall/597/testReport/org.apache.cassandra.db.compaction/NeverPurgeTest/minorNeverPurgeTombstonesTest_compression/
> {code}
> Error Message
> Memory was freed by Thread[NonPeriodicTasks:1,5,main]
> {code}{code}
> Stacktrace
> junit.framework.AssertionFailedError: Memory was freed by 
> Thread[NonPeriodicTasks:1,5,main]
>   at 
> org.apache.cassandra.io.util.SafeMemory.checkBounds(SafeMemory.java:103)
>   at org.apache.cassandra.io.util.Memory.getLong(Memory.java:260)
>   at 
> org.apache.cassandra.io.compress.CompressionMetadata.chunkFor(CompressionMetadata.java:223)
>   at 
> org.apache.cassandra.io.compress.CompressedRandomAccessReader.reBufferMmap(CompressedRandomAccessReader.java:168)
>   at 
> org.apache.cassandra.io.compress.CompressedRandomAccessReader.reBuffer(CompressedRandomAccessReader.java:226)
>   at 
> org.apache.cassandra.io.util.RandomAccessReader.read(RandomAccessReader.java:303)
>   at 
> org.apache.cassandra.io.util.AbstractDataInput.readInt(AbstractDataInput.java:202)
>   at 
> org.apache.cassandra.io.util.AbstractDataInput.readLong(AbstractDataInput.java:264)
>   at 
> org.apache.cassandra.db.ColumnSerializer.deserializeColumnBody(ColumnSerializer.java:131)
>   at 
> org.apache.cassandra.db.OnDiskAtom$Serializer.deserializeFromSSTable(OnDiskAtom.java:92)
>   at 
> org.apache.cassandra.db.AbstractCell$1.computeNext(AbstractCell.java:52)
>   at 
> org.apache.cassandra.db.AbstractCell$1.computeNext(AbstractCell.java:46)
>   at 
> com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
>   at 
> com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
>   at 
> org.apache.cassandra.io.sstable.SSTableIdentityIterator.hasNext(SSTableIdentityIterator.java:169)
>   at 
> org.apache.cassandra.db.compaction.NeverPurgeTest.verifyContainsTombstones(NeverPurgeTest.java:114)
>   at 
> org.apache.cassandra.db.compaction.NeverPurgeTest.minorNeverPurgeTombstonesTest(NeverPurgeTest.java:85)
> {code}
> Related failure:
> http://cassci.datastax.com/job/cassandra-2.2_testall/598/testReport/org.apache.cassandra.db.compaction/NeverPurgeTest/minorNeverPurgeTombstonesTest/



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[09/10] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.11

2017-04-26 Thread marcuse
Merge branch 'cassandra-3.0' into cassandra-3.11


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

Branch: refs/heads/trunk
Commit: 6679b085a3798234881fb64fc6202dc35bf06ec1
Parents: 2369faa 8dbf808
Author: Marcus Eriksson 
Authored: Wed Apr 26 09:39:41 2017 +0200
Committer: Marcus Eriksson 
Committed: Wed Apr 26 09:39:41 2017 +0200

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




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

2017-04-26 Thread marcuse
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/8dbf808c
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/8dbf808c
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/8dbf808c

Branch: refs/heads/cassandra-3.0
Commit: 8dbf808c3d40668cafcec982b38306412ae01b32
Parents: 032a8cc bd540bc
Author: Marcus Eriksson 
Authored: Wed Apr 26 09:38:34 2017 +0200
Committer: Marcus Eriksson 
Committed: Wed Apr 26 09:38:34 2017 +0200

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


http://git-wip-us.apache.org/repos/asf/cassandra/blob/8dbf808c/test/unit/org/apache/cassandra/db/compaction/NeverPurgeTest.java
--
diff --cc test/unit/org/apache/cassandra/db/compaction/NeverPurgeTest.java
index cd1f295,362afe7..0d5bc81
--- a/test/unit/org/apache/cassandra/db/compaction/NeverPurgeTest.java
+++ b/test/unit/org/apache/cassandra/db/compaction/NeverPurgeTest.java
@@@ -80,9 -80,9 +80,9 @@@ public class NeverPurgeTest extends CQL
  execute("DELETE FROM %s WHERE a=3");
  cfs.forceBlockingFlush();
  cfs.enableAutoCompaction();
- while (cfs.getLiveSSTables().size() > 1)
 -while (cfs.getSSTables().size() > 1 || 
!cfs.getTracker().getCompacting().isEmpty())
++while (cfs.getLiveSSTables().size() > 1 || 
!cfs.getTracker().getCompacting().isEmpty())
  Thread.sleep(100);
 -verifyContainsTombstones(cfs.getSSTables(), 3);
 +verifyContainsTombstones(cfs.getLiveSSTables(), 3);
  }
  
  private void testHelper(String deletionStatement) throws Throwable



[02/10] cassandra git commit: Fix NeverPurgeTest - wait for compactions to finish

2017-04-26 Thread marcuse
Fix NeverPurgeTest - wait for compactions to finish

Patch by marcuse; reviewed by Stefania for CASSANDRA-12841


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

Branch: refs/heads/cassandra-3.0
Commit: bd540bc51fa4d308a23a0f67ec9d65ebeeb72ee5
Parents: cba5c7f
Author: Marcus Eriksson 
Authored: Wed Nov 9 09:46:53 2016 +0100
Committer: Marcus Eriksson 
Committed: Wed Apr 26 09:36:32 2017 +0200

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


http://git-wip-us.apache.org/repos/asf/cassandra/blob/bd540bc5/test/unit/org/apache/cassandra/db/compaction/NeverPurgeTest.java
--
diff --git a/test/unit/org/apache/cassandra/db/compaction/NeverPurgeTest.java 
b/test/unit/org/apache/cassandra/db/compaction/NeverPurgeTest.java
index 5211065..362afe7 100644
--- a/test/unit/org/apache/cassandra/db/compaction/NeverPurgeTest.java
+++ b/test/unit/org/apache/cassandra/db/compaction/NeverPurgeTest.java
@@ -80,7 +80,7 @@ public class NeverPurgeTest extends CQLTester
 execute("DELETE FROM %s WHERE a=3");
 cfs.forceBlockingFlush();
 cfs.enableAutoCompaction();
-while (cfs.getSSTables().size() > 1)
+while (cfs.getSSTables().size() > 1 || 
!cfs.getTracker().getCompacting().isEmpty())
 Thread.sleep(100);
 verifyContainsTombstones(cfs.getSSTables(), 3);
 }



[04/10] cassandra git commit: Fix NeverPurgeTest - wait for compactions to finish

2017-04-26 Thread marcuse
Fix NeverPurgeTest - wait for compactions to finish

Patch by marcuse; reviewed by Stefania for CASSANDRA-12841


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

Branch: refs/heads/trunk
Commit: bd540bc51fa4d308a23a0f67ec9d65ebeeb72ee5
Parents: cba5c7f
Author: Marcus Eriksson 
Authored: Wed Nov 9 09:46:53 2016 +0100
Committer: Marcus Eriksson 
Committed: Wed Apr 26 09:36:32 2017 +0200

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


http://git-wip-us.apache.org/repos/asf/cassandra/blob/bd540bc5/test/unit/org/apache/cassandra/db/compaction/NeverPurgeTest.java
--
diff --git a/test/unit/org/apache/cassandra/db/compaction/NeverPurgeTest.java 
b/test/unit/org/apache/cassandra/db/compaction/NeverPurgeTest.java
index 5211065..362afe7 100644
--- a/test/unit/org/apache/cassandra/db/compaction/NeverPurgeTest.java
+++ b/test/unit/org/apache/cassandra/db/compaction/NeverPurgeTest.java
@@ -80,7 +80,7 @@ public class NeverPurgeTest extends CQLTester
 execute("DELETE FROM %s WHERE a=3");
 cfs.forceBlockingFlush();
 cfs.enableAutoCompaction();
-while (cfs.getSSTables().size() > 1)
+while (cfs.getSSTables().size() > 1 || 
!cfs.getTracker().getCompacting().isEmpty())
 Thread.sleep(100);
 verifyContainsTombstones(cfs.getSSTables(), 3);
 }



[03/10] cassandra git commit: Fix NeverPurgeTest - wait for compactions to finish

2017-04-26 Thread marcuse
Fix NeverPurgeTest - wait for compactions to finish

Patch by marcuse; reviewed by Stefania for CASSANDRA-12841


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

Branch: refs/heads/cassandra-3.11
Commit: bd540bc51fa4d308a23a0f67ec9d65ebeeb72ee5
Parents: cba5c7f
Author: Marcus Eriksson 
Authored: Wed Nov 9 09:46:53 2016 +0100
Committer: Marcus Eriksson 
Committed: Wed Apr 26 09:36:32 2017 +0200

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


http://git-wip-us.apache.org/repos/asf/cassandra/blob/bd540bc5/test/unit/org/apache/cassandra/db/compaction/NeverPurgeTest.java
--
diff --git a/test/unit/org/apache/cassandra/db/compaction/NeverPurgeTest.java 
b/test/unit/org/apache/cassandra/db/compaction/NeverPurgeTest.java
index 5211065..362afe7 100644
--- a/test/unit/org/apache/cassandra/db/compaction/NeverPurgeTest.java
+++ b/test/unit/org/apache/cassandra/db/compaction/NeverPurgeTest.java
@@ -80,7 +80,7 @@ public class NeverPurgeTest extends CQLTester
 execute("DELETE FROM %s WHERE a=3");
 cfs.forceBlockingFlush();
 cfs.enableAutoCompaction();
-while (cfs.getSSTables().size() > 1)
+while (cfs.getSSTables().size() > 1 || 
!cfs.getTracker().getCompacting().isEmpty())
 Thread.sleep(100);
 verifyContainsTombstones(cfs.getSSTables(), 3);
 }



[10/10] cassandra git commit: Merge branch 'cassandra-3.11' into trunk

2017-04-26 Thread marcuse
Merge branch 'cassandra-3.11' into trunk


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

Branch: refs/heads/trunk
Commit: a45b2a8c6719eb637425b6dcb23a67d81a821ee0
Parents: 2160a3a 6679b08
Author: Marcus Eriksson 
Authored: Wed Apr 26 09:43:07 2017 +0200
Committer: Marcus Eriksson 
Committed: Wed Apr 26 09:43:07 2017 +0200

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




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

2017-04-26 Thread marcuse
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/8dbf808c
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/8dbf808c
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/8dbf808c

Branch: refs/heads/trunk
Commit: 8dbf808c3d40668cafcec982b38306412ae01b32
Parents: 032a8cc bd540bc
Author: Marcus Eriksson 
Authored: Wed Apr 26 09:38:34 2017 +0200
Committer: Marcus Eriksson 
Committed: Wed Apr 26 09:38:34 2017 +0200

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


http://git-wip-us.apache.org/repos/asf/cassandra/blob/8dbf808c/test/unit/org/apache/cassandra/db/compaction/NeverPurgeTest.java
--
diff --cc test/unit/org/apache/cassandra/db/compaction/NeverPurgeTest.java
index cd1f295,362afe7..0d5bc81
--- a/test/unit/org/apache/cassandra/db/compaction/NeverPurgeTest.java
+++ b/test/unit/org/apache/cassandra/db/compaction/NeverPurgeTest.java
@@@ -80,9 -80,9 +80,9 @@@ public class NeverPurgeTest extends CQL
  execute("DELETE FROM %s WHERE a=3");
  cfs.forceBlockingFlush();
  cfs.enableAutoCompaction();
- while (cfs.getLiveSSTables().size() > 1)
 -while (cfs.getSSTables().size() > 1 || 
!cfs.getTracker().getCompacting().isEmpty())
++while (cfs.getLiveSSTables().size() > 1 || 
!cfs.getTracker().getCompacting().isEmpty())
  Thread.sleep(100);
 -verifyContainsTombstones(cfs.getSSTables(), 3);
 +verifyContainsTombstones(cfs.getLiveSSTables(), 3);
  }
  
  private void testHelper(String deletionStatement) throws Throwable



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

2017-04-26 Thread marcuse
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/8dbf808c
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/8dbf808c
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/8dbf808c

Branch: refs/heads/cassandra-3.11
Commit: 8dbf808c3d40668cafcec982b38306412ae01b32
Parents: 032a8cc bd540bc
Author: Marcus Eriksson 
Authored: Wed Apr 26 09:38:34 2017 +0200
Committer: Marcus Eriksson 
Committed: Wed Apr 26 09:38:34 2017 +0200

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


http://git-wip-us.apache.org/repos/asf/cassandra/blob/8dbf808c/test/unit/org/apache/cassandra/db/compaction/NeverPurgeTest.java
--
diff --cc test/unit/org/apache/cassandra/db/compaction/NeverPurgeTest.java
index cd1f295,362afe7..0d5bc81
--- a/test/unit/org/apache/cassandra/db/compaction/NeverPurgeTest.java
+++ b/test/unit/org/apache/cassandra/db/compaction/NeverPurgeTest.java
@@@ -80,9 -80,9 +80,9 @@@ public class NeverPurgeTest extends CQL
  execute("DELETE FROM %s WHERE a=3");
  cfs.forceBlockingFlush();
  cfs.enableAutoCompaction();
- while (cfs.getLiveSSTables().size() > 1)
 -while (cfs.getSSTables().size() > 1 || 
!cfs.getTracker().getCompacting().isEmpty())
++while (cfs.getLiveSSTables().size() > 1 || 
!cfs.getTracker().getCompacting().isEmpty())
  Thread.sleep(100);
 -verifyContainsTombstones(cfs.getSSTables(), 3);
 +verifyContainsTombstones(cfs.getLiveSSTables(), 3);
  }
  
  private void testHelper(String deletionStatement) throws Throwable



[08/10] cassandra git commit: Merge branch 'cassandra-3.0' into cassandra-3.11

2017-04-26 Thread marcuse
Merge branch 'cassandra-3.0' into cassandra-3.11


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

Branch: refs/heads/cassandra-3.11
Commit: 6679b085a3798234881fb64fc6202dc35bf06ec1
Parents: 2369faa 8dbf808
Author: Marcus Eriksson 
Authored: Wed Apr 26 09:39:41 2017 +0200
Committer: Marcus Eriksson 
Committed: Wed Apr 26 09:39:41 2017 +0200

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




[01/10] cassandra git commit: Fix NeverPurgeTest - wait for compactions to finish

2017-04-26 Thread marcuse
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.2 cba5c7fa8 -> bd540bc51
  refs/heads/cassandra-3.0 032a8cc1e -> 8dbf808c3
  refs/heads/cassandra-3.11 2369faab7 -> 6679b085a
  refs/heads/trunk 2160a3a53 -> a45b2a8c6


Fix NeverPurgeTest - wait for compactions to finish

Patch by marcuse; reviewed by Stefania for CASSANDRA-12841


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

Branch: refs/heads/cassandra-2.2
Commit: bd540bc51fa4d308a23a0f67ec9d65ebeeb72ee5
Parents: cba5c7f
Author: Marcus Eriksson 
Authored: Wed Nov 9 09:46:53 2016 +0100
Committer: Marcus Eriksson 
Committed: Wed Apr 26 09:36:32 2017 +0200

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


http://git-wip-us.apache.org/repos/asf/cassandra/blob/bd540bc5/test/unit/org/apache/cassandra/db/compaction/NeverPurgeTest.java
--
diff --git a/test/unit/org/apache/cassandra/db/compaction/NeverPurgeTest.java 
b/test/unit/org/apache/cassandra/db/compaction/NeverPurgeTest.java
index 5211065..362afe7 100644
--- a/test/unit/org/apache/cassandra/db/compaction/NeverPurgeTest.java
+++ b/test/unit/org/apache/cassandra/db/compaction/NeverPurgeTest.java
@@ -80,7 +80,7 @@ public class NeverPurgeTest extends CQLTester
 execute("DELETE FROM %s WHERE a=3");
 cfs.forceBlockingFlush();
 cfs.enableAutoCompaction();
-while (cfs.getSSTables().size() > 1)
+while (cfs.getSSTables().size() > 1 || 
!cfs.getTracker().getCompacting().isEmpty())
 Thread.sleep(100);
 verifyContainsTombstones(cfs.getSSTables(), 3);
 }



[jira] [Updated] (CASSANDRA-12841) testall failure in org.apache.cassandra.db.compaction.NeverPurgeTest.minorNeverPurgeTombstonesTest-compression

2017-04-26 Thread Stefania (JIRA)

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

Stefania updated CASSANDRA-12841:
-
Reviewer: Stefania  (was: Carl Yeksigian)

> testall failure in 
> org.apache.cassandra.db.compaction.NeverPurgeTest.minorNeverPurgeTombstonesTest-compression
> --
>
> Key: CASSANDRA-12841
> URL: https://issues.apache.org/jira/browse/CASSANDRA-12841
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Sean McCarthy
>Assignee: Stefania
>  Labels: test-failure, testall
> Fix For: 2.2.x, 3.0.x, 3.11.x
>
>
> example failure:
> http://cassci.datastax.com/job/cassandra-2.2_testall/597/testReport/org.apache.cassandra.db.compaction/NeverPurgeTest/minorNeverPurgeTombstonesTest_compression/
> {code}
> Error Message
> Memory was freed by Thread[NonPeriodicTasks:1,5,main]
> {code}{code}
> Stacktrace
> junit.framework.AssertionFailedError: Memory was freed by 
> Thread[NonPeriodicTasks:1,5,main]
>   at 
> org.apache.cassandra.io.util.SafeMemory.checkBounds(SafeMemory.java:103)
>   at org.apache.cassandra.io.util.Memory.getLong(Memory.java:260)
>   at 
> org.apache.cassandra.io.compress.CompressionMetadata.chunkFor(CompressionMetadata.java:223)
>   at 
> org.apache.cassandra.io.compress.CompressedRandomAccessReader.reBufferMmap(CompressedRandomAccessReader.java:168)
>   at 
> org.apache.cassandra.io.compress.CompressedRandomAccessReader.reBuffer(CompressedRandomAccessReader.java:226)
>   at 
> org.apache.cassandra.io.util.RandomAccessReader.read(RandomAccessReader.java:303)
>   at 
> org.apache.cassandra.io.util.AbstractDataInput.readInt(AbstractDataInput.java:202)
>   at 
> org.apache.cassandra.io.util.AbstractDataInput.readLong(AbstractDataInput.java:264)
>   at 
> org.apache.cassandra.db.ColumnSerializer.deserializeColumnBody(ColumnSerializer.java:131)
>   at 
> org.apache.cassandra.db.OnDiskAtom$Serializer.deserializeFromSSTable(OnDiskAtom.java:92)
>   at 
> org.apache.cassandra.db.AbstractCell$1.computeNext(AbstractCell.java:52)
>   at 
> org.apache.cassandra.db.AbstractCell$1.computeNext(AbstractCell.java:46)
>   at 
> com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
>   at 
> com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
>   at 
> org.apache.cassandra.io.sstable.SSTableIdentityIterator.hasNext(SSTableIdentityIterator.java:169)
>   at 
> org.apache.cassandra.db.compaction.NeverPurgeTest.verifyContainsTombstones(NeverPurgeTest.java:114)
>   at 
> org.apache.cassandra.db.compaction.NeverPurgeTest.minorNeverPurgeTombstonesTest(NeverPurgeTest.java:85)
> {code}
> Related failure:
> http://cassci.datastax.com/job/cassandra-2.2_testall/598/testReport/org.apache.cassandra.db.compaction/NeverPurgeTest/minorNeverPurgeTombstonesTest/



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Assigned] (CASSANDRA-12841) testall failure in org.apache.cassandra.db.compaction.NeverPurgeTest.minorNeverPurgeTombstonesTest-compression

2017-04-26 Thread Stefania (JIRA)

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

Stefania reassigned CASSANDRA-12841:


Assignee: Stefania  (was: Marcus Eriksson)

> testall failure in 
> org.apache.cassandra.db.compaction.NeverPurgeTest.minorNeverPurgeTombstonesTest-compression
> --
>
> Key: CASSANDRA-12841
> URL: https://issues.apache.org/jira/browse/CASSANDRA-12841
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Sean McCarthy
>Assignee: Stefania
>  Labels: test-failure, testall
> Fix For: 2.2.x, 3.0.x, 3.11.x
>
>
> example failure:
> http://cassci.datastax.com/job/cassandra-2.2_testall/597/testReport/org.apache.cassandra.db.compaction/NeverPurgeTest/minorNeverPurgeTombstonesTest_compression/
> {code}
> Error Message
> Memory was freed by Thread[NonPeriodicTasks:1,5,main]
> {code}{code}
> Stacktrace
> junit.framework.AssertionFailedError: Memory was freed by 
> Thread[NonPeriodicTasks:1,5,main]
>   at 
> org.apache.cassandra.io.util.SafeMemory.checkBounds(SafeMemory.java:103)
>   at org.apache.cassandra.io.util.Memory.getLong(Memory.java:260)
>   at 
> org.apache.cassandra.io.compress.CompressionMetadata.chunkFor(CompressionMetadata.java:223)
>   at 
> org.apache.cassandra.io.compress.CompressedRandomAccessReader.reBufferMmap(CompressedRandomAccessReader.java:168)
>   at 
> org.apache.cassandra.io.compress.CompressedRandomAccessReader.reBuffer(CompressedRandomAccessReader.java:226)
>   at 
> org.apache.cassandra.io.util.RandomAccessReader.read(RandomAccessReader.java:303)
>   at 
> org.apache.cassandra.io.util.AbstractDataInput.readInt(AbstractDataInput.java:202)
>   at 
> org.apache.cassandra.io.util.AbstractDataInput.readLong(AbstractDataInput.java:264)
>   at 
> org.apache.cassandra.db.ColumnSerializer.deserializeColumnBody(ColumnSerializer.java:131)
>   at 
> org.apache.cassandra.db.OnDiskAtom$Serializer.deserializeFromSSTable(OnDiskAtom.java:92)
>   at 
> org.apache.cassandra.db.AbstractCell$1.computeNext(AbstractCell.java:52)
>   at 
> org.apache.cassandra.db.AbstractCell$1.computeNext(AbstractCell.java:46)
>   at 
> com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
>   at 
> com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
>   at 
> org.apache.cassandra.io.sstable.SSTableIdentityIterator.hasNext(SSTableIdentityIterator.java:169)
>   at 
> org.apache.cassandra.db.compaction.NeverPurgeTest.verifyContainsTombstones(NeverPurgeTest.java:114)
>   at 
> org.apache.cassandra.db.compaction.NeverPurgeTest.minorNeverPurgeTombstonesTest(NeverPurgeTest.java:85)
> {code}
> Related failure:
> http://cassci.datastax.com/job/cassandra-2.2_testall/598/testReport/org.apache.cassandra.db.compaction/NeverPurgeTest/minorNeverPurgeTombstonesTest/



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Commented] (CASSANDRA-12841) testall failure in org.apache.cassandra.db.compaction.NeverPurgeTest.minorNeverPurgeTombstonesTest-compression

2017-04-26 Thread Stefania (JIRA)

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

Stefania commented on CASSANDRA-12841:
--

[~krummas], I bumped into the same failure, your fix LGTM.

> testall failure in 
> org.apache.cassandra.db.compaction.NeverPurgeTest.minorNeverPurgeTombstonesTest-compression
> --
>
> Key: CASSANDRA-12841
> URL: https://issues.apache.org/jira/browse/CASSANDRA-12841
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Sean McCarthy
>Assignee: Stefania
>  Labels: test-failure, testall
> Fix For: 2.2.x, 3.0.x, 3.11.x
>
>
> example failure:
> http://cassci.datastax.com/job/cassandra-2.2_testall/597/testReport/org.apache.cassandra.db.compaction/NeverPurgeTest/minorNeverPurgeTombstonesTest_compression/
> {code}
> Error Message
> Memory was freed by Thread[NonPeriodicTasks:1,5,main]
> {code}{code}
> Stacktrace
> junit.framework.AssertionFailedError: Memory was freed by 
> Thread[NonPeriodicTasks:1,5,main]
>   at 
> org.apache.cassandra.io.util.SafeMemory.checkBounds(SafeMemory.java:103)
>   at org.apache.cassandra.io.util.Memory.getLong(Memory.java:260)
>   at 
> org.apache.cassandra.io.compress.CompressionMetadata.chunkFor(CompressionMetadata.java:223)
>   at 
> org.apache.cassandra.io.compress.CompressedRandomAccessReader.reBufferMmap(CompressedRandomAccessReader.java:168)
>   at 
> org.apache.cassandra.io.compress.CompressedRandomAccessReader.reBuffer(CompressedRandomAccessReader.java:226)
>   at 
> org.apache.cassandra.io.util.RandomAccessReader.read(RandomAccessReader.java:303)
>   at 
> org.apache.cassandra.io.util.AbstractDataInput.readInt(AbstractDataInput.java:202)
>   at 
> org.apache.cassandra.io.util.AbstractDataInput.readLong(AbstractDataInput.java:264)
>   at 
> org.apache.cassandra.db.ColumnSerializer.deserializeColumnBody(ColumnSerializer.java:131)
>   at 
> org.apache.cassandra.db.OnDiskAtom$Serializer.deserializeFromSSTable(OnDiskAtom.java:92)
>   at 
> org.apache.cassandra.db.AbstractCell$1.computeNext(AbstractCell.java:52)
>   at 
> org.apache.cassandra.db.AbstractCell$1.computeNext(AbstractCell.java:46)
>   at 
> com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
>   at 
> com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
>   at 
> org.apache.cassandra.io.sstable.SSTableIdentityIterator.hasNext(SSTableIdentityIterator.java:169)
>   at 
> org.apache.cassandra.db.compaction.NeverPurgeTest.verifyContainsTombstones(NeverPurgeTest.java:114)
>   at 
> org.apache.cassandra.db.compaction.NeverPurgeTest.minorNeverPurgeTombstonesTest(NeverPurgeTest.java:85)
> {code}
> Related failure:
> http://cassci.datastax.com/job/cassandra-2.2_testall/598/testReport/org.apache.cassandra.db.compaction/NeverPurgeTest/minorNeverPurgeTombstonesTest/



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Assigned] (CASSANDRA-12841) testall failure in org.apache.cassandra.db.compaction.NeverPurgeTest.minorNeverPurgeTombstonesTest-compression

2017-04-26 Thread Stefania (JIRA)

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

Stefania reassigned CASSANDRA-12841:


Assignee: Marcus Eriksson  (was: Stefania)

> testall failure in 
> org.apache.cassandra.db.compaction.NeverPurgeTest.minorNeverPurgeTombstonesTest-compression
> --
>
> Key: CASSANDRA-12841
> URL: https://issues.apache.org/jira/browse/CASSANDRA-12841
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Sean McCarthy
>Assignee: Marcus Eriksson
>  Labels: test-failure, testall
> Fix For: 2.2.x, 3.0.x, 3.11.x
>
>
> example failure:
> http://cassci.datastax.com/job/cassandra-2.2_testall/597/testReport/org.apache.cassandra.db.compaction/NeverPurgeTest/minorNeverPurgeTombstonesTest_compression/
> {code}
> Error Message
> Memory was freed by Thread[NonPeriodicTasks:1,5,main]
> {code}{code}
> Stacktrace
> junit.framework.AssertionFailedError: Memory was freed by 
> Thread[NonPeriodicTasks:1,5,main]
>   at 
> org.apache.cassandra.io.util.SafeMemory.checkBounds(SafeMemory.java:103)
>   at org.apache.cassandra.io.util.Memory.getLong(Memory.java:260)
>   at 
> org.apache.cassandra.io.compress.CompressionMetadata.chunkFor(CompressionMetadata.java:223)
>   at 
> org.apache.cassandra.io.compress.CompressedRandomAccessReader.reBufferMmap(CompressedRandomAccessReader.java:168)
>   at 
> org.apache.cassandra.io.compress.CompressedRandomAccessReader.reBuffer(CompressedRandomAccessReader.java:226)
>   at 
> org.apache.cassandra.io.util.RandomAccessReader.read(RandomAccessReader.java:303)
>   at 
> org.apache.cassandra.io.util.AbstractDataInput.readInt(AbstractDataInput.java:202)
>   at 
> org.apache.cassandra.io.util.AbstractDataInput.readLong(AbstractDataInput.java:264)
>   at 
> org.apache.cassandra.db.ColumnSerializer.deserializeColumnBody(ColumnSerializer.java:131)
>   at 
> org.apache.cassandra.db.OnDiskAtom$Serializer.deserializeFromSSTable(OnDiskAtom.java:92)
>   at 
> org.apache.cassandra.db.AbstractCell$1.computeNext(AbstractCell.java:52)
>   at 
> org.apache.cassandra.db.AbstractCell$1.computeNext(AbstractCell.java:46)
>   at 
> com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
>   at 
> com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
>   at 
> org.apache.cassandra.io.sstable.SSTableIdentityIterator.hasNext(SSTableIdentityIterator.java:169)
>   at 
> org.apache.cassandra.db.compaction.NeverPurgeTest.verifyContainsTombstones(NeverPurgeTest.java:114)
>   at 
> org.apache.cassandra.db.compaction.NeverPurgeTest.minorNeverPurgeTombstonesTest(NeverPurgeTest.java:85)
> {code}
> Related failure:
> http://cassci.datastax.com/job/cassandra-2.2_testall/598/testReport/org.apache.cassandra.db.compaction/NeverPurgeTest/minorNeverPurgeTombstonesTest/



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)


[jira] [Updated] (CASSANDRA-12841) testall failure in org.apache.cassandra.db.compaction.NeverPurgeTest.minorNeverPurgeTombstonesTest-compression

2017-04-26 Thread Stefania (JIRA)

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

Stefania updated CASSANDRA-12841:
-
Status: Ready to Commit  (was: Patch Available)

> testall failure in 
> org.apache.cassandra.db.compaction.NeverPurgeTest.minorNeverPurgeTombstonesTest-compression
> --
>
> Key: CASSANDRA-12841
> URL: https://issues.apache.org/jira/browse/CASSANDRA-12841
> Project: Cassandra
>  Issue Type: Bug
>Reporter: Sean McCarthy
>Assignee: Stefania
>  Labels: test-failure, testall
> Fix For: 2.2.x, 3.0.x, 3.11.x
>
>
> example failure:
> http://cassci.datastax.com/job/cassandra-2.2_testall/597/testReport/org.apache.cassandra.db.compaction/NeverPurgeTest/minorNeverPurgeTombstonesTest_compression/
> {code}
> Error Message
> Memory was freed by Thread[NonPeriodicTasks:1,5,main]
> {code}{code}
> Stacktrace
> junit.framework.AssertionFailedError: Memory was freed by 
> Thread[NonPeriodicTasks:1,5,main]
>   at 
> org.apache.cassandra.io.util.SafeMemory.checkBounds(SafeMemory.java:103)
>   at org.apache.cassandra.io.util.Memory.getLong(Memory.java:260)
>   at 
> org.apache.cassandra.io.compress.CompressionMetadata.chunkFor(CompressionMetadata.java:223)
>   at 
> org.apache.cassandra.io.compress.CompressedRandomAccessReader.reBufferMmap(CompressedRandomAccessReader.java:168)
>   at 
> org.apache.cassandra.io.compress.CompressedRandomAccessReader.reBuffer(CompressedRandomAccessReader.java:226)
>   at 
> org.apache.cassandra.io.util.RandomAccessReader.read(RandomAccessReader.java:303)
>   at 
> org.apache.cassandra.io.util.AbstractDataInput.readInt(AbstractDataInput.java:202)
>   at 
> org.apache.cassandra.io.util.AbstractDataInput.readLong(AbstractDataInput.java:264)
>   at 
> org.apache.cassandra.db.ColumnSerializer.deserializeColumnBody(ColumnSerializer.java:131)
>   at 
> org.apache.cassandra.db.OnDiskAtom$Serializer.deserializeFromSSTable(OnDiskAtom.java:92)
>   at 
> org.apache.cassandra.db.AbstractCell$1.computeNext(AbstractCell.java:52)
>   at 
> org.apache.cassandra.db.AbstractCell$1.computeNext(AbstractCell.java:46)
>   at 
> com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
>   at 
> com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
>   at 
> org.apache.cassandra.io.sstable.SSTableIdentityIterator.hasNext(SSTableIdentityIterator.java:169)
>   at 
> org.apache.cassandra.db.compaction.NeverPurgeTest.verifyContainsTombstones(NeverPurgeTest.java:114)
>   at 
> org.apache.cassandra.db.compaction.NeverPurgeTest.minorNeverPurgeTombstonesTest(NeverPurgeTest.java:85)
> {code}
> Related failure:
> http://cassci.datastax.com/job/cassandra-2.2_testall/598/testReport/org.apache.cassandra.db.compaction/NeverPurgeTest/minorNeverPurgeTombstonesTest/



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)