[jira] [Commented] (CASSANDRA-13348) Duplicate tokens after bootstrap
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
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
[ 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
[ 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
[ 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
[ 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
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 PodkowinskiAuthored: 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
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 PodkowinskiAuthored: 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
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 PodkowinskiAuthored: 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
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 PodkowinskiAuthored: 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
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 PodkowinskiAuthored: 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
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 PodkowinskiAuthored: 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
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 PodkowinskiAuthored: 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
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 PodkowinskiAuthored: 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
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 PodkowinskiAuthored: 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
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 PodkowinskiAuthored: 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
[ 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
[ 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
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 PodkowinskiAuthored: 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
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 PodkowinskiAuthored: 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
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 PodkowinskiAuthored: 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
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 PodkowinskiAuthored: 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
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 PodkowinskiAuthored: 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
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 PodkowinskiAuthored: 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
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 PodkowinskiAuthored: 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
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 PodkowinskiAuthored: 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
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 PodkowinskiAuthored: 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
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 PodkowinskiAuthored: 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.
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
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
[ 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
[ 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
[ 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
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 ErikssonAuthored: 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
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 ErikssonAuthored: 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
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 ErikssonAuthored: 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
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 ErikssonAuthored: 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
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 ErikssonAuthored: 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
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 ErikssonAuthored: 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
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 ErikssonAuthored: 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
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 ErikssonAuthored: 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
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 ErikssonAuthored: 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
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 ErikssonAuthored: 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
[ 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
[ 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
[ 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
[ 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
[ 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)