svn commit: r1565569 - in /cassandra/site: publish/download/index.html src/settings.py
Author: slebresne Date: Fri Feb 7 08:01:02 2014 New Revision: 1565569 URL: http://svn.apache.org/r1565569 Log: We're in 2014 now Modified: cassandra/site/publish/download/index.html cassandra/site/src/settings.py Modified: cassandra/site/publish/download/index.html URL: http://svn.apache.org/viewvc/cassandra/site/publish/download/index.html?rev=1565569r1=1565568r2=1565569view=diff == --- cassandra/site/publish/download/index.html (original) +++ cassandra/site/publish/download/index.html Fri Feb 7 08:01:02 2014 @@ -50,7 +50,7 @@ p The latest stable release of Apache Cassandra is 2.0.5 - (released on 2013-02-07). iIf you're just + (released on 2014-02-07). iIf you're just starting out, download this one./i /p @@ -103,7 +103,7 @@ Previous stable branches of Cassandra continue to see periodic maintenance for some time after a new major release is made. The lastest release on the 1.2 branch is 1.2.15 (released on - 2013-02-07). + 2014-02-07). /p ul Modified: cassandra/site/src/settings.py URL: http://svn.apache.org/viewvc/cassandra/site/src/settings.py?rev=1565569r1=1565568r2=1565569view=diff == --- cassandra/site/src/settings.py (original) +++ cassandra/site/src/settings.py Fri Feb 7 08:01:02 2014 @@ -93,13 +93,13 @@ SITE_POST_PROCESSORS = { class CassandraDef(object): oldstable_version = '1.2.15' -oldstable_release_date = '2013-02-07' +oldstable_release_date = '2014-02-07' oldstable_exists = True veryoldstable_version = '1.1.12' veryoldstable_release_date = '2013-05-27' veryoldstable_exists = True stable_version = '2.0.5' -stable_release_date = '2013-02-07' +stable_release_date = '2014-02-07' devel_version = '2.0.0-rc2' devel_release_date = '2013-08-20' devel_exists = False
[jira] [Updated] (CASSANDRA-6667) Mean cells per sstable is calculated incorrectly
[ https://issues.apache.org/jira/browse/CASSANDRA-6667?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Marcus Eriksson updated CASSANDRA-6667: --- Attachment: 6667-v3.txt looks like we have the same bug in getMeanRowSize() (seems v2 got committed in trunk with CASSANDRA-6671) Mean cells per sstable is calculated incorrectly Key: CASSANDRA-6667 URL: https://issues.apache.org/jira/browse/CASSANDRA-6667 Project: Cassandra Issue Type: Bug Reporter: Jonathan Ellis Assignee: Jonathan Ellis Priority: Minor Fix For: 1.2.16, 2.0.6 Attachments: 6667-v2.txt, 6667-v3.txt, 6667.txt We currently take the average of the mean for each partition, rather than correctly weighting by cell count. This affects hint paging as well as index selectivity calculation. -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Commented] (CASSANDRA-6665) Batching in CqlRecordWriter
[ https://issues.apache.org/jira/browse/CASSANDRA-6665?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13894348#comment-13894348 ] Christian Rolf commented on CASSANDRA-6665: --- Thanks for the quick feedback John! The biggest issue we've seen is on larger rings, where the write tasks quickly run out of heap (caching is per replica). That's why I left the batching disabled by default. Batching in CqlRecordWriter --- Key: CASSANDRA-6665 URL: https://issues.apache.org/jira/browse/CASSANDRA-6665 Project: Cassandra Issue Type: Improvement Components: Hadoop Environment: Cluster of 12 nodes, each node with 256-384 vnodes. RPC threads capped at 2048. Reporter: Christian Rolf Priority: Minor Attachments: batchWrite.txt We're writing from Pig map tasks, about 20 million records of one integer each. For the case of 12 nodes, with 256-384 vnodes per node, we get around 4000 threads per mapper. This obviously overloads the nodes, since the number of RPC threads are capped, and the write fails. Also, each transfer is only in the order of a few bytes of payload. Clearly batching is a good solution. -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Commented] (CASSANDRA-6332) Cassandra startup failure: java.util.concurrent.ExecutionException: java.lang.RuntimeException: 706167655f74616773 is not defined as a collection
[ https://issues.apache.org/jira/browse/CASSANDRA-6332?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13894382#comment-13894382 ] Mck SembWever commented on CASSANDRA-6332: -- No recipe to reproduce. But on a 1.2.9 non-prod cluster we came across this problem. The above exception occurs while reading commitlogs. Removing the commitlogs was a workaround. Cassandra startup failure: java.util.concurrent.ExecutionException: java.lang.RuntimeException: 706167655f74616773 is not defined as a collection -- Key: CASSANDRA-6332 URL: https://issues.apache.org/jira/browse/CASSANDRA-6332 Project: Cassandra Issue Type: Bug Environment: Ubuntu 12.04 Cassandra 2.0.1 Reporter: Prateek Priority: Critical The cassandra node fails to startup with the following error message. This is currently impacting availability of our production cluster so your quick response is highly appreciated. ERROR 22:58:26,046 Exception encountered during startup java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.RuntimeException: 706167655f74616773 is not defined as a collection at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:411) at org.apache.cassandra.utils.FBUtilities.waitOnFutures(FBUtilities.java:400) at org.apache.cassandra.db.commitlog.CommitLogReplayer.recover(CommitLogReplayer.java:273) at org.apache.cassandra.db.commitlog.CommitLogReplayer.recover(CommitLogReplayer.java:96) at org.apache.cassandra.db.commitlog.CommitLog.recover(CommitLog.java:146) at org.apache.cassandra.db.commitlog.CommitLog.recover(CommitLog.java:126) at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:299) at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:442) at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:485) Caused by: java.util.concurrent.ExecutionException: java.lang.RuntimeException: 706167655f74616773 is not defined as a collection at java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.util.concurrent.FutureTask.get(FutureTask.java:188) at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:407) ... 8 more Caused by: java.lang.RuntimeException: 706167655f74616773 is not defined as a collection at org.apache.cassandra.db.marshal.ColumnToCollectionType.compareCollectionMembers(ColumnToCollectionType.java:72) at org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:85) at org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:35) at edu.stanford.ppl.concurrent.SnapTreeMap$1.compareTo(SnapTreeMap.java:538) at edu.stanford.ppl.concurrent.SnapTreeMap.attemptUpdate(SnapTreeMap.java:1108) at edu.stanford.ppl.concurrent.SnapTreeMap.attemptUpdate(SnapTreeMap.java:1192) at edu.stanford.ppl.concurrent.SnapTreeMap.updateUnderRoot(SnapTreeMap.java:1059) at edu.stanford.ppl.concurrent.SnapTreeMap.update(SnapTreeMap.java:1023) at edu.stanford.ppl.concurrent.SnapTreeMap.putIfAbsent(SnapTreeMap.java:985) at org.apache.cassandra.db.AtomicSortedColumns$Holder.addColumn(AtomicSortedColumns.java:323) at org.apache.cassandra.db.AtomicSortedColumns.addAllWithSizeDelta(AtomicSortedColumns.java:195) at org.apache.cassandra.db.Memtable.resolve(Memtable.java:196) at org.apache.cassandra.db.Memtable.put(Memtable.java:160) at org.apache.cassandra.db.ColumnFamilyStore.apply(ColumnFamilyStore.java:842) at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:373) at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:338) at org.apache.cassandra.db.commitlog.CommitLogReplayer$1.runMayThrow(CommitLogReplayer.java:265) -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Created] (CASSANDRA-6673) Compaction assertion error on beforeAppend test due to decommision - add node and/or overlapping sstables
Ignace Desimpel created CASSANDRA-6673: -- Summary: Compaction assertion error on beforeAppend test due to decommision - add node and/or overlapping sstables Key: CASSANDRA-6673 URL: https://issues.apache.org/jira/browse/CASSANDRA-6673 Project: Cassandra Issue Type: Bug Components: Core Environment: linux, replication factor 1, 4 node, LCS, 3 compaction executors Reporter: Ignace Desimpel Priority: Minor Fix For: 2.0.4 Compaction assertion on test for LastWrittenKey compared to current key to write during compaction. This happens after a decommission of a node, and then the node is added again immediately (short time after decommssion). This makes the node shutdown. Restart of node a couple of time finally finishes the bootstrapping. During restarts to finish the bootstrapping there is also a warning message about overlapping sstables -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Updated] (CASSANDRA-6673) Compaction assertion error on beforeAppend test due to decommision - add node and/or overlapping sstables
[ https://issues.apache.org/jira/browse/CASSANDRA-6673?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ignace Desimpel updated CASSANDRA-6673: --- Attachment: beforeAppend.txt Added more detailed exception info and mail thread Compaction assertion error on beforeAppend test due to decommision - add node and/or overlapping sstables - Key: CASSANDRA-6673 URL: https://issues.apache.org/jira/browse/CASSANDRA-6673 Project: Cassandra Issue Type: Bug Components: Core Environment: linux, replication factor 1, 4 node, LCS, 3 compaction executors Reporter: Ignace Desimpel Priority: Minor Fix For: 2.0.4 Attachments: beforeAppend.txt Compaction assertion on test for LastWrittenKey compared to current key to write during compaction. This happens after a decommission of a node, and then the node is added again immediately (short time after decommssion). This makes the node shutdown. Restart of node a couple of time finally finishes the bootstrapping. During restarts to finish the bootstrapping there is also a warning message about overlapping sstables -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Updated] (CASSANDRA-6674) TombstoneOverwhelmingException during/after batch insert
[ https://issues.apache.org/jira/browse/CASSANDRA-6674?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Machiel Groeneveld updated CASSANDRA-6674: -- Summary: TombstoneOverwhelmingException during/after batch insert (was: TombstoneOver) TombstoneOverwhelmingException during/after batch insert Key: CASSANDRA-6674 URL: https://issues.apache.org/jira/browse/CASSANDRA-6674 Project: Cassandra Issue Type: Bug Environment: 2.0.4; 2.0.5 Mac OS X Reporter: Machiel Groeneveld Priority: Critical ERROR [ReadStage:41] 2014-02-07 12:16:42,169 SliceQueryFilter.java (line 200) Scanned over 10 tombstones in visits.visits; query aborted (see tombstone_fail_threshold) ERROR [ReadStage:41] 2014-02-07 12:16:42,171 CassandraDaemon.java (line 192) Exception in thread Thread[ReadStage:41,5,main] java.lang.RuntimeException: org.apache.cassandra.db.filter.TombstoneOverwhelmingException at org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1935) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:724) Caused by: org.apache.cassandra.db.filter.TombstoneOverwhelmingException at org.apache.cassandra.db.filter.SliceQueryFilter.collectReducedColumns(SliceQueryFilter.java:202) at org.apache.cassandra.db.filter.QueryFilter.collateColumns(QueryFilter.java:122) at org.apache.cassandra.db.filter.QueryFilter.collateOnDiskAtom(QueryFilter.java:80) at org.apache.cassandra.db.RowIteratorFactory$2.getReduced(RowIteratorFactory.java:101) at org.apache.cassandra.db.RowIteratorFactory$2.getReduced(RowIteratorFactory.java:75) at org.apache.cassandra.utils.MergeIterator$ManyToOne.consume(MergeIterator.java:115) at org.apache.cassandra.utils.MergeIterator$ManyToOne.computeNext(MergeIterator.java:98) at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) at org.apache.cassandra.db.ColumnFamilyStore$9.computeNext(ColumnFamilyStore.java:1607) at org.apache.cassandra.db.ColumnFamilyStore$9.computeNext(ColumnFamilyStore.java:1603) at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) at org.apache.cassandra.db.ColumnFamilyStore.filter(ColumnFamilyStore.java:1754) at org.apache.cassandra.db.ColumnFamilyStore.getRangeSlice(ColumnFamilyStore.java:1718) at org.apache.cassandra.db.RangeSliceCommand.executeLocally(RangeSliceCommand.java:137) at org.apache.cassandra.service.StorageProxy$LocalRangeSliceRunnable.runMayThrow(StorageProxy.java:1418) at org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1931) ... 3 more -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Issue Comment Deleted] (CASSANDRA-6675) Debian packaging: Recognize oracle java7 packages
[ https://issues.apache.org/jira/browse/CASSANDRA-6675?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Björn Edström updated CASSANDRA-6675: - Comment: was deleted (was: Here's a patch) Debian packaging: Recognize oracle java7 packages - Key: CASSANDRA-6675 URL: https://issues.apache.org/jira/browse/CASSANDRA-6675 Project: Cassandra Issue Type: Improvement Components: Packaging Environment: debian Reporter: Björn Edström Priority: Minor debian/control could be updated to allow building/running with the oracle java7 packages. -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Created] (CASSANDRA-6675) Debian packaging: Recognize oracle java7 packages
Björn Edström created CASSANDRA-6675: Summary: Debian packaging: Recognize oracle java7 packages Key: CASSANDRA-6675 URL: https://issues.apache.org/jira/browse/CASSANDRA-6675 Project: Cassandra Issue Type: Improvement Components: Packaging Environment: debian Reporter: Björn Edström Priority: Minor debian/control could be updated to allow building/running with the oracle java7 packages. -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Created] (CASSANDRA-6674) TombstoneOver
Machiel Groeneveld created CASSANDRA-6674: - Summary: TombstoneOver Key: CASSANDRA-6674 URL: https://issues.apache.org/jira/browse/CASSANDRA-6674 Project: Cassandra Issue Type: Bug Environment: 2.0.4; 2.0.5 Mac OS X Reporter: Machiel Groeneveld Priority: Critical ERROR [ReadStage:41] 2014-02-07 12:16:42,169 SliceQueryFilter.java (line 200) Scanned over 10 tombstones in visits.visits; query aborted (see tombstone_fail_threshold) ERROR [ReadStage:41] 2014-02-07 12:16:42,171 CassandraDaemon.java (line 192) Exception in thread Thread[ReadStage:41,5,main] java.lang.RuntimeException: org.apache.cassandra.db.filter.TombstoneOverwhelmingException at org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1935) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:724) Caused by: org.apache.cassandra.db.filter.TombstoneOverwhelmingException at org.apache.cassandra.db.filter.SliceQueryFilter.collectReducedColumns(SliceQueryFilter.java:202) at org.apache.cassandra.db.filter.QueryFilter.collateColumns(QueryFilter.java:122) at org.apache.cassandra.db.filter.QueryFilter.collateOnDiskAtom(QueryFilter.java:80) at org.apache.cassandra.db.RowIteratorFactory$2.getReduced(RowIteratorFactory.java:101) at org.apache.cassandra.db.RowIteratorFactory$2.getReduced(RowIteratorFactory.java:75) at org.apache.cassandra.utils.MergeIterator$ManyToOne.consume(MergeIterator.java:115) at org.apache.cassandra.utils.MergeIterator$ManyToOne.computeNext(MergeIterator.java:98) at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) at org.apache.cassandra.db.ColumnFamilyStore$9.computeNext(ColumnFamilyStore.java:1607) at org.apache.cassandra.db.ColumnFamilyStore$9.computeNext(ColumnFamilyStore.java:1603) at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) at org.apache.cassandra.db.ColumnFamilyStore.filter(ColumnFamilyStore.java:1754) at org.apache.cassandra.db.ColumnFamilyStore.getRangeSlice(ColumnFamilyStore.java:1718) at org.apache.cassandra.db.RangeSliceCommand.executeLocally(RangeSliceCommand.java:137) at org.apache.cassandra.service.StorageProxy$LocalRangeSliceRunnable.runMayThrow(StorageProxy.java:1418) at org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1931) ... 3 more -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Updated] (CASSANDRA-6675) Debian packaging: Recognize oracle java7 packages
[ https://issues.apache.org/jira/browse/CASSANDRA-6675?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Björn Edström updated CASSANDRA-6675: - Attachment: CASSANDRA-6675.patch Here's a simple patch. Debian packaging: Recognize oracle java7 packages - Key: CASSANDRA-6675 URL: https://issues.apache.org/jira/browse/CASSANDRA-6675 Project: Cassandra Issue Type: Improvement Components: Packaging Environment: debian Reporter: Björn Edström Priority: Minor Attachments: CASSANDRA-6675.patch debian/control could be updated to allow building/running with the oracle java7 packages. -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Commented] (CASSANDRA-6674) TombstoneOverwhelmingException during/after batch insert
[ https://issues.apache.org/jira/browse/CASSANDRA-6674?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13894426#comment-13894426 ] Machiel Groeneveld commented on CASSANDRA-6674: --- *Table* create table IF NOT EXISTS visits.visits( id text, cookie_uuid text, cookie_uuid text, external_click_id text, session_id text, visitor_ip text, user_agent text, uuid_hash text, shop_product_id int, channel_id int, shop_id int, shop_category_id int, type int, medium_id int, campaign_id int, channel_affiliate_id int, default_cpc float, created_at timestamp, updated_at timestamp, time_id int, disabled int, has_referer boolean, known_visitor boolean, marketing boolean, primary key(time_id, id)); *Insert statement* BEGIN BATCH insert into visits ( id, cookie_uuid, uuid_hash, default_cpc, cookie_uuid, external_click_id, session_id, visitor_ip, user_agent, shop_product_id, channel_id, shop_id, shop_category_id, type, medium_id, campaign_id, channel_affiliate_id, disabled, has_referer, known_visitor, marketing, created_at, updated_at, time_id) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) USING TTL 7776000 insert into visits_by_cookie (visit_id, time_id, cookie_uuid, shop_id, created_at, enabled_visit) VALUES(?, ?, ?, ?, ?, ?) USING TTL 7776000 insert into visits_by_hash (visit_id, time_id, uuid_hash, shop_id, created_at) VALUES(?, ?, ?, ?, ?) USING TTL 7776000 APPLY BATCH *Select query that fails* SELECT * FROM VISITS WHERE time_id = TombstoneOverwhelmingException during/after batch insert Key: CASSANDRA-6674 URL: https://issues.apache.org/jira/browse/CASSANDRA-6674 Project: Cassandra Issue Type: Bug Environment: 2.0.4; 2.0.5 Mac OS X Reporter: Machiel Groeneveld Priority: Critical ERROR [ReadStage:41] 2014-02-07 12:16:42,169 SliceQueryFilter.java (line 200) Scanned over 10 tombstones in visits.visits; query aborted (see tombstone_fail_threshold) ERROR [ReadStage:41] 2014-02-07 12:16:42,171 CassandraDaemon.java (line 192) Exception in thread Thread[ReadStage:41,5,main] java.lang.RuntimeException: org.apache.cassandra.db.filter.TombstoneOverwhelmingException at org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1935) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:724) Caused by: org.apache.cassandra.db.filter.TombstoneOverwhelmingException at org.apache.cassandra.db.filter.SliceQueryFilter.collectReducedColumns(SliceQueryFilter.java:202) at org.apache.cassandra.db.filter.QueryFilter.collateColumns(QueryFilter.java:122) at org.apache.cassandra.db.filter.QueryFilter.collateOnDiskAtom(QueryFilter.java:80) at org.apache.cassandra.db.RowIteratorFactory$2.getReduced(RowIteratorFactory.java:101) at org.apache.cassandra.db.RowIteratorFactory$2.getReduced(RowIteratorFactory.java:75) at org.apache.cassandra.utils.MergeIterator$ManyToOne.consume(MergeIterator.java:115) at org.apache.cassandra.utils.MergeIterator$ManyToOne.computeNext(MergeIterator.java:98) at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) at org.apache.cassandra.db.ColumnFamilyStore$9.computeNext(ColumnFamilyStore.java:1607) at org.apache.cassandra.db.ColumnFamilyStore$9.computeNext(ColumnFamilyStore.java:1603) at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) at org.apache.cassandra.db.ColumnFamilyStore.filter(ColumnFamilyStore.java:1754) at org.apache.cassandra.db.ColumnFamilyStore.getRangeSlice(ColumnFamilyStore.java:1718) at org.apache.cassandra.db.RangeSliceCommand.executeLocally(RangeSliceCommand.java:137) at org.apache.cassandra.service.StorageProxy$LocalRangeSliceRunnable.runMayThrow(StorageProxy.java:1418) at org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1931) ... 3 more -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Updated] (CASSANDRA-6674) TombstoneOverwhelmingException during/after batch insert
[ https://issues.apache.org/jira/browse/CASSANDRA-6674?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Machiel Groeneveld updated CASSANDRA-6674: -- Description: Select query on a table where I'm doing insert fails with tombstone exception. The database is clean/empty before doing inserts, doing the first query after a few thousand records inserted. I don't understand where the tombstones are coming from as I'm not doing any deletes. ERROR [ReadStage:41] 2014-02-07 12:16:42,169 SliceQueryFilter.java (line 200) Scanned over 10 tombstones in visits.visits; query aborted (see tombstone_fail_threshold) ERROR [ReadStage:41] 2014-02-07 12:16:42,171 CassandraDaemon.java (line 192) Exception in thread Thread[ReadStage:41,5,main] java.lang.RuntimeException: org.apache.cassandra.db.filter.TombstoneOverwhelmingException at org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1935) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:724) Caused by: org.apache.cassandra.db.filter.TombstoneOverwhelmingException at org.apache.cassandra.db.filter.SliceQueryFilter.collectReducedColumns(SliceQueryFilter.java:202) at org.apache.cassandra.db.filter.QueryFilter.collateColumns(QueryFilter.java:122) at org.apache.cassandra.db.filter.QueryFilter.collateOnDiskAtom(QueryFilter.java:80) at org.apache.cassandra.db.RowIteratorFactory$2.getReduced(RowIteratorFactory.java:101) at org.apache.cassandra.db.RowIteratorFactory$2.getReduced(RowIteratorFactory.java:75) at org.apache.cassandra.utils.MergeIterator$ManyToOne.consume(MergeIterator.java:115) at org.apache.cassandra.utils.MergeIterator$ManyToOne.computeNext(MergeIterator.java:98) at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) at org.apache.cassandra.db.ColumnFamilyStore$9.computeNext(ColumnFamilyStore.java:1607) at org.apache.cassandra.db.ColumnFamilyStore$9.computeNext(ColumnFamilyStore.java:1603) at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) at org.apache.cassandra.db.ColumnFamilyStore.filter(ColumnFamilyStore.java:1754) at org.apache.cassandra.db.ColumnFamilyStore.getRangeSlice(ColumnFamilyStore.java:1718) at org.apache.cassandra.db.RangeSliceCommand.executeLocally(RangeSliceCommand.java:137) at org.apache.cassandra.service.StorageProxy$LocalRangeSliceRunnable.runMayThrow(StorageProxy.java:1418) at org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1931) ... 3 more was: ERROR [ReadStage:41] 2014-02-07 12:16:42,169 SliceQueryFilter.java (line 200) Scanned over 10 tombstones in visits.visits; query aborted (see tombstone_fail_threshold) ERROR [ReadStage:41] 2014-02-07 12:16:42,171 CassandraDaemon.java (line 192) Exception in thread Thread[ReadStage:41,5,main] java.lang.RuntimeException: org.apache.cassandra.db.filter.TombstoneOverwhelmingException at org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1935) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:724) Caused by: org.apache.cassandra.db.filter.TombstoneOverwhelmingException at org.apache.cassandra.db.filter.SliceQueryFilter.collectReducedColumns(SliceQueryFilter.java:202) at org.apache.cassandra.db.filter.QueryFilter.collateColumns(QueryFilter.java:122) at org.apache.cassandra.db.filter.QueryFilter.collateOnDiskAtom(QueryFilter.java:80) at org.apache.cassandra.db.RowIteratorFactory$2.getReduced(RowIteratorFactory.java:101) at org.apache.cassandra.db.RowIteratorFactory$2.getReduced(RowIteratorFactory.java:75) at org.apache.cassandra.utils.MergeIterator$ManyToOne.consume(MergeIterator.java:115) at org.apache.cassandra.utils.MergeIterator$ManyToOne.computeNext(MergeIterator.java:98) at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) at org.apache.cassandra.db.ColumnFamilyStore$9.computeNext(ColumnFamilyStore.java:1607) at org.apache.cassandra.db.ColumnFamilyStore$9.computeNext(ColumnFamilyStore.java:1603) at
[jira] [Comment Edited] (CASSANDRA-6674) TombstoneOverwhelmingException during/after batch insert
[ https://issues.apache.org/jira/browse/CASSANDRA-6674?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13894426#comment-13894426 ] Machiel Groeneveld edited comment on CASSANDRA-6674 at 2/7/14 11:25 AM: *Table* create table IF NOT EXISTS visits.visits( id text, cookie_uuid text, cookie_uuid text, external_click_id text, session_id text, visitor_ip text, user_agent text, uuid_hash text, shop_product_id int, channel_id int, shop_id int, shop_category_id int, type int, medium_id int, campaign_id int, channel_affiliate_id int, default_cpc float, created_at timestamp, updated_at timestamp, time_id int, disabled int, has_referer boolean, known_visitor boolean, marketing boolean, primary key(time_id, id)); *Insert statement* BEGIN BATCH insert into visits ( id, cookie_uuid, uuid_hash, default_cpc, cookie_uuid, external_click_id, session_id, visitor_ip, user_agent, shop_product_id, channel_id, shop_id, shop_category_id, type, medium_id, campaign_id, channel_affiliate_id, disabled, has_referer, known_visitor, marketing, created_at, updated_at, time_id) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) USING TTL 7776000 insert into visits_by_cookie (visit_id, time_id, cookie_uuid, shop_id, created_at, enabled_visit) VALUES(?, ?, ?, ?, ?, ?) USING TTL 7776000 insert into visits_by_hash (visit_id, time_id, uuid_hash, shop_id, created_at) VALUES(?, ?, ?, ?, ?) USING TTL 7776000 APPLY BATCH *Select query that fails* SELECT * FROM VISITS was (Author: machielg): *Table* create table IF NOT EXISTS visits.visits( id text, cookie_uuid text, cookie_uuid text, external_click_id text, session_id text, visitor_ip text, user_agent text, uuid_hash text, shop_product_id int, channel_id int, shop_id int, shop_category_id int, type int, medium_id int, campaign_id int, channel_affiliate_id int, default_cpc float, created_at timestamp, updated_at timestamp, time_id int, disabled int, has_referer boolean, known_visitor boolean, marketing boolean, primary key(time_id, id)); *Insert statement* BEGIN BATCH insert into visits ( id, cookie_uuid, uuid_hash, default_cpc, cookie_uuid, external_click_id, session_id, visitor_ip, user_agent, shop_product_id, channel_id, shop_id, shop_category_id, type, medium_id, campaign_id, channel_affiliate_id, disabled, has_referer, known_visitor, marketing, created_at, updated_at, time_id) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) USING TTL 7776000 insert into visits_by_cookie (visit_id, time_id, cookie_uuid, shop_id, created_at, enabled_visit) VALUES(?, ?, ?, ?, ?, ?) USING TTL 7776000 insert into visits_by_hash (visit_id, time_id, uuid_hash, shop_id, created_at) VALUES(?, ?, ?, ?, ?) USING TTL 7776000 APPLY BATCH *Select query that fails* SELECT * FROM VISITS WHERE time_id = TombstoneOverwhelmingException during/after batch insert Key: CASSANDRA-6674 URL: https://issues.apache.org/jira/browse/CASSANDRA-6674 Project: Cassandra Issue Type: Bug Environment: 2.0.4; 2.0.5 Mac OS X Reporter: Machiel Groeneveld Priority: Critical Select query on a table where I'm doing insert fails with tombstone exception. The database is clean/empty before doing inserts, doing the first query after a few thousand records inserted. I don't understand where the tombstones are coming from as I'm not doing any deletes. ERROR [ReadStage:41] 2014-02-07 12:16:42,169 SliceQueryFilter.java (line 200) Scanned over 10 tombstones in visits.visits; query aborted (see tombstone_fail_threshold) ERROR [ReadStage:41] 2014-02-07 12:16:42,171 CassandraDaemon.java (line 192) Exception in thread Thread[ReadStage:41,5,main] java.lang.RuntimeException: org.apache.cassandra.db.filter.TombstoneOverwhelmingException at org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1935) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:724) Caused by: org.apache.cassandra.db.filter.TombstoneOverwhelmingException at org.apache.cassandra.db.filter.SliceQueryFilter.collectReducedColumns(SliceQueryFilter.java:202) at org.apache.cassandra.db.filter.QueryFilter.collateColumns(QueryFilter.java:122) at org.apache.cassandra.db.filter.QueryFilter.collateOnDiskAtom(QueryFilter.java:80) at org.apache.cassandra.db.RowIteratorFactory$2.getReduced(RowIteratorFactory.java:101) at org.apache.cassandra.db.RowIteratorFactory$2.getReduced(RowIteratorFactory.java:75) at
[jira] [Created] (CASSANDRA-6676) Add ability to see layout of storage for CQL tables
Brian ONeill created CASSANDRA-6676: --- Summary: Add ability to see layout of storage for CQL tables Key: CASSANDRA-6676 URL: https://issues.apache.org/jira/browse/CASSANDRA-6676 Project: Cassandra Issue Type: Improvement Reporter: Brian ONeill Priority: Minor Many of us use the CLI to see how data gets laid out in storage for tables created via CQL. If we intend to deprecate CLI, it would be nice to have this ability in CQL. See thread: http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/CQL-list-command-td7592673.html -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Commented] (CASSANDRA-6666) Avoid accumulating tombstones after partial hint replay
[ https://issues.apache.org/jira/browse/CASSANDRA-?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13894481#comment-13894481 ] Aleksey Yeschenko commented on CASSANDRA-: -- LGTM Nit: 1.2 has DatabaseDescriptor.getTombstoneDebugThreshold(), not DatabaseDescriptor.getTombstoneWarnThreshold() Avoid accumulating tombstones after partial hint replay --- Key: CASSANDRA- URL: https://issues.apache.org/jira/browse/CASSANDRA- Project: Cassandra Issue Type: Bug Components: Core Reporter: Jonathan Ellis Assignee: Jonathan Ellis Priority: Minor Labels: hintedhandoff Fix For: 1.2.16, 2.0.6 Attachments: .txt -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Commented] (CASSANDRA-6674) TombstoneOverwhelmingException during/after batch insert
[ https://issues.apache.org/jira/browse/CASSANDRA-6674?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13894485#comment-13894485 ] Aleksey Yeschenko commented on CASSANDRA-6674: -- How many of those inserted values are nulls? TombstoneOverwhelmingException during/after batch insert Key: CASSANDRA-6674 URL: https://issues.apache.org/jira/browse/CASSANDRA-6674 Project: Cassandra Issue Type: Bug Environment: 2.0.4; 2.0.5 Mac OS X Reporter: Machiel Groeneveld Priority: Critical Select query on a table where I'm doing insert fails with tombstone exception. The database is clean/empty before doing inserts, doing the first query after a few thousand records inserted. I don't understand where the tombstones are coming from as I'm not doing any deletes. ERROR [ReadStage:41] 2014-02-07 12:16:42,169 SliceQueryFilter.java (line 200) Scanned over 10 tombstones in visits.visits; query aborted (see tombstone_fail_threshold) ERROR [ReadStage:41] 2014-02-07 12:16:42,171 CassandraDaemon.java (line 192) Exception in thread Thread[ReadStage:41,5,main] java.lang.RuntimeException: org.apache.cassandra.db.filter.TombstoneOverwhelmingException at org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1935) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:724) Caused by: org.apache.cassandra.db.filter.TombstoneOverwhelmingException at org.apache.cassandra.db.filter.SliceQueryFilter.collectReducedColumns(SliceQueryFilter.java:202) at org.apache.cassandra.db.filter.QueryFilter.collateColumns(QueryFilter.java:122) at org.apache.cassandra.db.filter.QueryFilter.collateOnDiskAtom(QueryFilter.java:80) at org.apache.cassandra.db.RowIteratorFactory$2.getReduced(RowIteratorFactory.java:101) at org.apache.cassandra.db.RowIteratorFactory$2.getReduced(RowIteratorFactory.java:75) at org.apache.cassandra.utils.MergeIterator$ManyToOne.consume(MergeIterator.java:115) at org.apache.cassandra.utils.MergeIterator$ManyToOne.computeNext(MergeIterator.java:98) at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) at org.apache.cassandra.db.ColumnFamilyStore$9.computeNext(ColumnFamilyStore.java:1607) at org.apache.cassandra.db.ColumnFamilyStore$9.computeNext(ColumnFamilyStore.java:1603) at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) at org.apache.cassandra.db.ColumnFamilyStore.filter(ColumnFamilyStore.java:1754) at org.apache.cassandra.db.ColumnFamilyStore.getRangeSlice(ColumnFamilyStore.java:1718) at org.apache.cassandra.db.RangeSliceCommand.executeLocally(RangeSliceCommand.java:137) at org.apache.cassandra.service.StorageProxy$LocalRangeSliceRunnable.runMayThrow(StorageProxy.java:1418) at org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1931) ... 3 more -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Commented] (CASSANDRA-6676) Add ability to see layout of storage for CQL tables
[ https://issues.apache.org/jira/browse/CASSANDRA-6676?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13894487#comment-13894487 ] Aleksey Yeschenko commented on CASSANDRA-6676: -- CLI doesn't show you the full layout, because, for one, it hides the tombstones from you. If you want to see how the data is really laid out, use sstable2json. Add ability to see layout of storage for CQL tables --- Key: CASSANDRA-6676 URL: https://issues.apache.org/jira/browse/CASSANDRA-6676 Project: Cassandra Issue Type: Improvement Reporter: Brian ONeill Priority: Minor Many of us use the CLI to see how data gets laid out in storage for tables created via CQL. If we intend to deprecate CLI, it would be nice to have this ability in CQL. See thread: http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/CQL-list-command-td7592673.html -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Created] (CASSANDRA-6677) Commitlog replay makes dropped and recreated keyspace and column family rows reappear
Ignace Desimpel created CASSANDRA-6677: -- Summary: Commitlog replay makes dropped and recreated keyspace and column family rows reappear Key: CASSANDRA-6677 URL: https://issues.apache.org/jira/browse/CASSANDRA-6677 Project: Cassandra Issue Type: Bug Components: Core Reporter: Ignace Desimpel Priority: Minor Fix For: 2.0.4 A row can reappear after reboot of the database if the keyspace was dropped and recreated and then rebooted. Thus before reboot : Create keyspaceX + Create ColumnFamilyY + Insert row R + Drop keyspaceX + Create keyspaceX + Create ColumnFamilyY . This will result in no rows. After reboot, the row R reappears ! Guess this will apply to all cassandra versions? I will attach some sample test code. -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Commented] (CASSANDRA-6677) Commitlog replay makes dropped and recreated keyspace and column family rows reappear
[ https://issues.apache.org/jira/browse/CASSANDRA-6677?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13894498#comment-13894498 ] Ignace Desimpel commented on CASSANDRA-6677: Mail thread I did the test again to get the log information. There is a “Drop keyspace” message at the time I drop the keyspace. That actually must be working since after the drop, I do not get any records back. But starting from the time of restart, I do not get any “Drop keyspace” message in the log. I get the following lines (only part of log here ): ………. 2013-12-18 14:30:19.385 Initializing system_traces.sessions 2013-12-18 14:30:19.387 Initializing system_traces.events 2013-12-18 14:30:19.394 Replaying ../../../../data/cac.cassandra.cac/dbcommitlog/CommitLog-3-1387372026304.log, ../../../../data/cac.cassandra.cac/dbcommitlog/CommitLog-3-1387372026305.log 2013-12-18 14:30:19.414 Replaying ../../../../data/cac.cassandra.cac/dbcommitlog/CommitLog-3-1387372026304.log 2013-12-18 14:30:20.291 CFS(Keyspace='CodeStructure', ColumnFamily='Labels') liveRatio is 10.79257274718398 (just-counted was 10.79257274718398). calculation took 720ms for 6128 columns 2013-12-18 14:30:20.331 CFS(Keyspace='CodeStructure', ColumnFamily='Class') liveRatio is 9.787147977470557 (just-counted was 9.574295954941116). calculation took 39ms for 1236 columns 2013-12-18 14:30:20.454 CFS(Keyspace='CodeStructure', ColumnFamily='ClassMethod') liveRatio is 10.415524860171194 (just-counted was 10.415524860171194). calculation took 122ms for 6630 columns 2013-12-18 14:30:21.294 Finished reading ../../../../data/cac.cassandra.cac/dbcommitlog/CommitLog-3-1387372026304.log 2013-12-18 14:30:21.294 Replaying ../../../../data/cac.cassandra.cac/dbcommitlog/CommitLog-3-1387372026305.log 2013-12-18 14:30:21.294 Finished reading ../../../../data/cac.cassandra.cac/dbcommitlog/CommitLog-3-1387372026305.log 2013-12-18 14:30:21.298 Enqueuing flush of Memtable-ReverseIntegerFunction@663725448(270/2700 serialized/live bytes, 10 ops) 2013-12-18 14:30:21.298 Writing Memtable-ReverseIntegerFunction@663725448(270/2700 serialized/live bytes, 10 ops) ……more flushing of my memtables ……... Log replay complete, 42237 replayed mutations 2013-12-18 14:30:25.428 Cassandra version: 2.0.2-SNAPSHOT 2013-12-18 14:30:25.428 Thrift API version: 19.38.0 …… Regards, Ignace Desimpel Do you have the logs from after the restart ? Did it include a Drop Keyspace…” INFO level message ? Cheers - Aaron Morton New Zealand @aaronmorton Co-Founder Principal Consultant Apache Cassandra Consulting http://www.thelastpickle.com From: Desimpel, Ignace Sent: dinsdag 3 december 2013 14:45 To: u...@cassandra.apache.org Subject: Commitlog replay makes dropped and recreated keyspace and column family rows reappear Hi, I have the impression that there is an issue with dropping a keyspace and then recreating the keyspace (and column families), combined with a restart of the database My test goes as follows: Create keyspace K and column families C. Insert rows X0 column family C0 Query for X0 : found rows : OK Drop keyspace K Query for X0 : found no rows : OK Create keyspace K and column families C. Insert rows X1 column family C1 Query for X0 : not found : OK Query for X1 : found : OK Stop the Cassandra database Start the Cassandra database Query for X1 : found : OK Query for X0 : found : NOT OK ! Did someone tested this scenario? Using : CASSANDRA VERSION 2.02, thrift, java 1.7.x, centos Ignace Desimpel Commitlog replay makes dropped and recreated keyspace and column family rows reappear - Key: CASSANDRA-6677 URL: https://issues.apache.org/jira/browse/CASSANDRA-6677 Project: Cassandra Issue Type: Bug Components: Core Reporter: Ignace Desimpel Priority: Minor Fix For: 2.0.4 A row can reappear after reboot of the database if the keyspace was dropped and recreated and then rebooted. Thus before reboot : Create keyspaceX + Create ColumnFamilyY + Insert row R + Drop keyspaceX + Create keyspaceX + Create ColumnFamilyY . This will result in no rows. After reboot, the row R reappears ! Guess this will apply to all cassandra versions? I will attach some sample test code. -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Commented] (CASSANDRA-6677) Commitlog replay makes dropped and recreated keyspace and column family rows reappear
[ https://issues.apache.org/jira/browse/CASSANDRA-6677?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13894499#comment-13894499 ] Ignace Desimpel commented on CASSANDRA-6677: Sample code (uses cql-thrift). Same result with thrift only. static void testCreateDropCreateRebootCQLA(String sHostName, int iPort) throws Exception{ CqlResult oCqlResult; Charset UTF8 = Charset.forName(UTF8); Cassandra.Client oCassClt = makeConnectionNoKs(sHostName, iPort); //Start from scratch or drop it here again String sDropColKs = DROP KEYSPACE k1; try{ oCqlResult = oCassClt.execute_cql3_query(ByteBuffer.wrap(sDropColKs.getBytes(UTF8)), Compression.NONE, ConsistencyLevel.QUORUM); }catch(Throwable tt){} String sCreateKs = CREATE KEYSPACE k1 WITH replication = {'class': 'SimpleStrategy', 'replication_factor' : 1} ; oCqlResult = oCassClt.execute_cql3_query(ByteBuffer.wrap(sCreateKs.getBytes(UTF8)), Compression.NONE, ConsistencyLevel.QUORUM); oCassClt.set_keyspace(k1); String sCreateColFam = CREATE COLUMNFAMILY c1 ( c1name text PRIMARY KEY); oCqlResult = oCassClt.execute_cql3_query(ByteBuffer.wrap(sCreateColFam.getBytes(UTF8)), Compression.NONE, ConsistencyLevel.QUORUM); String sInsertOne = INSERT INTO c1 ( c1name ) VALUES ( 'c1value') ; oCqlResult = oCassClt.execute_cql3_query(ByteBuffer.wrap(sInsertOne.getBytes(UTF8)), Compression.NONE, ConsistencyLevel.QUORUM); String sSelectOne = SELECT c1name FROM c1; oCqlResult = oCassClt.execute_cql3_query(ByteBuffer.wrap(sSelectOne.getBytes(UTF8)), Compression.NONE, ConsistencyLevel.QUORUM); assert oCqlResult.getRows().size() == 1 : There should be one row : count = + oCqlResult.getRows().size(); assert new String(oCqlResult.getRows().get(0).getColumns().get(0).getValue(), UTF8).equals(c1value) : And the value is + new String(oCqlResult.getRows().get(0).getColumns().get(0).getValue(), UTF8); //Drop the keyspace oCqlResult = oCassClt.execute_cql3_query(ByteBuffer.wrap(sDropColKs.getBytes(UTF8)), Compression.NONE, ConsistencyLevel.QUORUM); //Redo the keyspace creation and column family oCqlResult = oCassClt.execute_cql3_query(ByteBuffer.wrap(sCreateKs.getBytes(UTF8)), Compression.NONE, ConsistencyLevel.QUORUM); oCqlResult = oCassClt.execute_cql3_query(ByteBuffer.wrap(sCreateColFam.getBytes(UTF8)), Compression.NONE, ConsistencyLevel.QUORUM); //Redo the select : should return ZERO rows since new keyspace was dropped oCqlResult = oCassClt.execute_cql3_query(ByteBuffer.wrap(sSelectOne.getBytes(UTF8)), Compression.NONE, ConsistencyLevel.QUORUM); assert oCqlResult.getRows().size() == 0 : There must be NO rows. Commitlog replay misses droppping and re-adding keysapce and makes row reappear; //Now restart the cassandra database and execute : testCreateDropCreateRebootCQLB System.exit(0); } static void testCreateDropCreateRebootCQLB(String sHostName, int iPort) throws Exception{ CqlResult oCqlResult; Cassandra.Client oCassClt = makeConnectionNoKs(sHostName, iPort); oCassClt.set_keyspace(k1); String sSelectOne = SELECT c1name FROM c1; oCqlResult = oCassClt.execute_cql3_query(ByteBuffer.wrap(sSelectOne.getBytes(Encoding.UTF8)), Compression.NONE, ConsistencyLevel.QUORUM); assert oCqlResult.getRows().size() == 0 : Keyspace was dropped after inserting the one row. There shouldn't be a row. Count = + oCqlResult.getRows().size(); System.out.println(Alldone); } Commitlog replay makes dropped and recreated keyspace and column family rows reappear - Key: CASSANDRA-6677 URL: https://issues.apache.org/jira/browse/CASSANDRA-6677 Project: Cassandra Issue Type: Bug Components: Core Reporter: Ignace Desimpel Priority: Minor Fix For: 2.0.4 A row can reappear after reboot of the database if the keyspace was dropped and recreated and then rebooted. Thus before reboot : Create keyspaceX + Create ColumnFamilyY + Insert row R + Drop keyspaceX +
[jira] [Commented] (CASSANDRA-6674) TombstoneOverwhelmingException during/after batch insert
[ https://issues.apache.org/jira/browse/CASSANDRA-6674?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13894501#comment-13894501 ] Machiel Groeneveld commented on CASSANDRA-6674: --- Just rough estimate, but one value is 99% if the cases null and one other value 80% of the records. TombstoneOverwhelmingException during/after batch insert Key: CASSANDRA-6674 URL: https://issues.apache.org/jira/browse/CASSANDRA-6674 Project: Cassandra Issue Type: Bug Environment: 2.0.4; 2.0.5 Mac OS X Reporter: Machiel Groeneveld Priority: Critical Select query on a table where I'm doing insert fails with tombstone exception. The database is clean/empty before doing inserts, doing the first query after a few thousand records inserted. I don't understand where the tombstones are coming from as I'm not doing any deletes. ERROR [ReadStage:41] 2014-02-07 12:16:42,169 SliceQueryFilter.java (line 200) Scanned over 10 tombstones in visits.visits; query aborted (see tombstone_fail_threshold) ERROR [ReadStage:41] 2014-02-07 12:16:42,171 CassandraDaemon.java (line 192) Exception in thread Thread[ReadStage:41,5,main] java.lang.RuntimeException: org.apache.cassandra.db.filter.TombstoneOverwhelmingException at org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1935) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:724) Caused by: org.apache.cassandra.db.filter.TombstoneOverwhelmingException at org.apache.cassandra.db.filter.SliceQueryFilter.collectReducedColumns(SliceQueryFilter.java:202) at org.apache.cassandra.db.filter.QueryFilter.collateColumns(QueryFilter.java:122) at org.apache.cassandra.db.filter.QueryFilter.collateOnDiskAtom(QueryFilter.java:80) at org.apache.cassandra.db.RowIteratorFactory$2.getReduced(RowIteratorFactory.java:101) at org.apache.cassandra.db.RowIteratorFactory$2.getReduced(RowIteratorFactory.java:75) at org.apache.cassandra.utils.MergeIterator$ManyToOne.consume(MergeIterator.java:115) at org.apache.cassandra.utils.MergeIterator$ManyToOne.computeNext(MergeIterator.java:98) at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) at org.apache.cassandra.db.ColumnFamilyStore$9.computeNext(ColumnFamilyStore.java:1607) at org.apache.cassandra.db.ColumnFamilyStore$9.computeNext(ColumnFamilyStore.java:1603) at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) at org.apache.cassandra.db.ColumnFamilyStore.filter(ColumnFamilyStore.java:1754) at org.apache.cassandra.db.ColumnFamilyStore.getRangeSlice(ColumnFamilyStore.java:1718) at org.apache.cassandra.db.RangeSliceCommand.executeLocally(RangeSliceCommand.java:137) at org.apache.cassandra.service.StorageProxy$LocalRangeSliceRunnable.runMayThrow(StorageProxy.java:1418) at org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1931) ... 3 more -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Commented] (CASSANDRA-6674) TombstoneOverwhelmingException during/after batch insert
[ https://issues.apache.org/jira/browse/CASSANDRA-6674?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13894505#comment-13894505 ] Aleksey Yeschenko commented on CASSANDRA-6674: -- Well, inserting a null equals to creating a tombstone - equal to doing a delete. There is your problem. Raise the tombstone fail threshold, or do more targeted SELECT queries. TombstoneOverwhelmingException during/after batch insert Key: CASSANDRA-6674 URL: https://issues.apache.org/jira/browse/CASSANDRA-6674 Project: Cassandra Issue Type: Bug Environment: 2.0.4; 2.0.5 Mac OS X Reporter: Machiel Groeneveld Priority: Critical Select query on a table where I'm doing insert fails with tombstone exception. The database is clean/empty before doing inserts, doing the first query after a few thousand records inserted. I don't understand where the tombstones are coming from as I'm not doing any deletes. ERROR [ReadStage:41] 2014-02-07 12:16:42,169 SliceQueryFilter.java (line 200) Scanned over 10 tombstones in visits.visits; query aborted (see tombstone_fail_threshold) ERROR [ReadStage:41] 2014-02-07 12:16:42,171 CassandraDaemon.java (line 192) Exception in thread Thread[ReadStage:41,5,main] java.lang.RuntimeException: org.apache.cassandra.db.filter.TombstoneOverwhelmingException at org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1935) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:724) Caused by: org.apache.cassandra.db.filter.TombstoneOverwhelmingException at org.apache.cassandra.db.filter.SliceQueryFilter.collectReducedColumns(SliceQueryFilter.java:202) at org.apache.cassandra.db.filter.QueryFilter.collateColumns(QueryFilter.java:122) at org.apache.cassandra.db.filter.QueryFilter.collateOnDiskAtom(QueryFilter.java:80) at org.apache.cassandra.db.RowIteratorFactory$2.getReduced(RowIteratorFactory.java:101) at org.apache.cassandra.db.RowIteratorFactory$2.getReduced(RowIteratorFactory.java:75) at org.apache.cassandra.utils.MergeIterator$ManyToOne.consume(MergeIterator.java:115) at org.apache.cassandra.utils.MergeIterator$ManyToOne.computeNext(MergeIterator.java:98) at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) at org.apache.cassandra.db.ColumnFamilyStore$9.computeNext(ColumnFamilyStore.java:1607) at org.apache.cassandra.db.ColumnFamilyStore$9.computeNext(ColumnFamilyStore.java:1603) at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) at org.apache.cassandra.db.ColumnFamilyStore.filter(ColumnFamilyStore.java:1754) at org.apache.cassandra.db.ColumnFamilyStore.getRangeSlice(ColumnFamilyStore.java:1718) at org.apache.cassandra.db.RangeSliceCommand.executeLocally(RangeSliceCommand.java:137) at org.apache.cassandra.service.StorageProxy$LocalRangeSliceRunnable.runMayThrow(StorageProxy.java:1418) at org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1931) ... 3 more -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Resolved] (CASSANDRA-6674) TombstoneOverwhelmingException during/after batch insert
[ https://issues.apache.org/jira/browse/CASSANDRA-6674?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Aleksey Yeschenko resolved CASSANDRA-6674. -- Resolution: Not A Problem TombstoneOverwhelmingException during/after batch insert Key: CASSANDRA-6674 URL: https://issues.apache.org/jira/browse/CASSANDRA-6674 Project: Cassandra Issue Type: Bug Environment: 2.0.4; 2.0.5 Mac OS X Reporter: Machiel Groeneveld Priority: Critical Select query on a table where I'm doing insert fails with tombstone exception. The database is clean/empty before doing inserts, doing the first query after a few thousand records inserted. I don't understand where the tombstones are coming from as I'm not doing any deletes. ERROR [ReadStage:41] 2014-02-07 12:16:42,169 SliceQueryFilter.java (line 200) Scanned over 10 tombstones in visits.visits; query aborted (see tombstone_fail_threshold) ERROR [ReadStage:41] 2014-02-07 12:16:42,171 CassandraDaemon.java (line 192) Exception in thread Thread[ReadStage:41,5,main] java.lang.RuntimeException: org.apache.cassandra.db.filter.TombstoneOverwhelmingException at org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1935) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:724) Caused by: org.apache.cassandra.db.filter.TombstoneOverwhelmingException at org.apache.cassandra.db.filter.SliceQueryFilter.collectReducedColumns(SliceQueryFilter.java:202) at org.apache.cassandra.db.filter.QueryFilter.collateColumns(QueryFilter.java:122) at org.apache.cassandra.db.filter.QueryFilter.collateOnDiskAtom(QueryFilter.java:80) at org.apache.cassandra.db.RowIteratorFactory$2.getReduced(RowIteratorFactory.java:101) at org.apache.cassandra.db.RowIteratorFactory$2.getReduced(RowIteratorFactory.java:75) at org.apache.cassandra.utils.MergeIterator$ManyToOne.consume(MergeIterator.java:115) at org.apache.cassandra.utils.MergeIterator$ManyToOne.computeNext(MergeIterator.java:98) at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) at org.apache.cassandra.db.ColumnFamilyStore$9.computeNext(ColumnFamilyStore.java:1607) at org.apache.cassandra.db.ColumnFamilyStore$9.computeNext(ColumnFamilyStore.java:1603) at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) at org.apache.cassandra.db.ColumnFamilyStore.filter(ColumnFamilyStore.java:1754) at org.apache.cassandra.db.ColumnFamilyStore.getRangeSlice(ColumnFamilyStore.java:1718) at org.apache.cassandra.db.RangeSliceCommand.executeLocally(RangeSliceCommand.java:137) at org.apache.cassandra.service.StorageProxy$LocalRangeSliceRunnable.runMayThrow(StorageProxy.java:1418) at org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1931) ... 3 more -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Created] (CASSANDRA-6678) Unwanted schema pull while upgrading nodes from 1.2 to 2.0
Sergio Bossa created CASSANDRA-6678: --- Summary: Unwanted schema pull while upgrading nodes from 1.2 to 2.0 Key: CASSANDRA-6678 URL: https://issues.apache.org/jira/browse/CASSANDRA-6678 Project: Cassandra Issue Type: Bug Components: Core Reporter: Sergio Bossa While upgrading from 1.2 to 2.0, the 1.2 nodes are not supposed to pull schemas from upgraded 2.0 nodes to avoid conflicts. This relies on network version checks between the two nodes, but there's a bit of a race between the Gossiper, which is activated first, and the MessagingService, which is activated after the Gossiper and handles network version exchange: if a 1.2 node Gossiper gets a gossip message from a newly 2.0 node *before* opening connections from the MessagingService, the version will still be 1.2, and the schema will be pulled from the new node. A possible solution may be to have the Gossiper update the network version upon receiving the first gossip message of an upgraded node: thoughts? -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Commented] (CASSANDRA-6675) Debian packaging: Recognize oracle java7 packages
[ https://issues.apache.org/jira/browse/CASSANDRA-6675?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13894526#comment-13894526 ] Brandon Williams commented on CASSANDRA-6675: - It seems to me your oracle package should be providing java-runtime and already work (after all, that's why sun-java6-jre isn't listed either.) Mine provides the following: {noformat} Provides: java-runtime, java-runtime-headless, java-virtual-machine, java2-runtime, java2-runtime-headless, java5-runtime, java5-runtime-headless, java6-runtime, java6-runtime-headless, java7-runtime, java7-runtime-headless {noformat} Debian packaging: Recognize oracle java7 packages - Key: CASSANDRA-6675 URL: https://issues.apache.org/jira/browse/CASSANDRA-6675 Project: Cassandra Issue Type: Improvement Components: Packaging Environment: debian Reporter: Björn Edström Priority: Minor Attachments: CASSANDRA-6675.patch debian/control could be updated to allow building/running with the oracle java7 packages. -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Commented] (CASSANDRA-6678) Unwanted schema pull while upgrading nodes from 1.2 to 2.0
[ https://issues.apache.org/jira/browse/CASSANDRA-6678?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13894532#comment-13894532 ] Brandon Williams commented on CASSANDRA-6678: - Perhaps a MessagingService.knowsVersion check is what we need. Unwanted schema pull while upgrading nodes from 1.2 to 2.0 -- Key: CASSANDRA-6678 URL: https://issues.apache.org/jira/browse/CASSANDRA-6678 Project: Cassandra Issue Type: Bug Components: Core Reporter: Sergio Bossa While upgrading from 1.2 to 2.0, the 1.2 nodes are not supposed to pull schemas from upgraded 2.0 nodes to avoid conflicts. This relies on network version checks between the two nodes, but there's a bit of a race between the Gossiper, which is activated first, and the MessagingService, which is activated after the Gossiper and handles network version exchange: if a 1.2 node Gossiper gets a gossip message from a newly 2.0 node *before* opening connections from the MessagingService, the version will still be 1.2, and the schema will be pulled from the new node. A possible solution may be to have the Gossiper update the network version upon receiving the first gossip message of an upgraded node: thoughts? -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Commented] (CASSANDRA-6591) un-deprecate cache recentHitRate and expose in o.a.c.metrics
[ https://issues.apache.org/jira/browse/CASSANDRA-6591?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13894537#comment-13894537 ] Chris Burroughs commented on CASSANDRA-6591: I think the EWMAs are comparable as long as they are using the same time unit and the values of each are captured at the same time. un-deprecate cache recentHitRate and expose in o.a.c.metrics Key: CASSANDRA-6591 URL: https://issues.apache.org/jira/browse/CASSANDRA-6591 Project: Cassandra Issue Type: Improvement Components: Core Reporter: Chris Burroughs Assignee: Chris Burroughs Priority: Minor Attachments: j6591-1.2-v1.txt, j6591-1.2-v2.txt, j6591-1.2-v3.txt recentHitRate metrics were not added as part of CASSANDRA-4009 because there is not an obvious way to do it with the Metrics library. Instead hitRate was added as an all time measurement since node restart. This does allow changes in cache rate (aka production performance problems) to be detected. Ideally there would be 1/5/15 moving averages for the hit rate, but I'm not sure how to calculate that. Instead I propose updating recentHitRate on a fixed interval and exposing that as a Gauge. -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Commented] (CASSANDRA-6568) sstables incorrectly getting marked as not live
[ https://issues.apache.org/jira/browse/CASSANDRA-6568?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13894549#comment-13894549 ] Chris Burroughs commented on CASSANDRA-6568: Possible related mailing list threads: * http://thread.gmane.org/gmane.comp.db.cassandra.user/38121/focus=38144 * http://thread.gmane.org/gmane.comp.db.cassandra.user/37367/focus=37436 * http://thread.gmane.org/gmane.comp.db.cassandra.user/32387/focus=32394 sstables incorrectly getting marked as not live - Key: CASSANDRA-6568 URL: https://issues.apache.org/jira/browse/CASSANDRA-6568 Project: Cassandra Issue Type: Bug Components: Core Environment: 1.2.12 with several 1.2.13 patches Reporter: Chris Burroughs Assignee: Marcus Eriksson Fix For: 2.0.6 Attachments: 0001-add-jmx-method-to-get-non-active-sstables.patch {noformat} -rw-rw-r-- 14 cassandra cassandra 1.4G Nov 25 19:46 /data/sstables/data/ks/cf/ks-cf-ic-402383-Data.db -rw-rw-r-- 14 cassandra cassandra 13G Nov 26 00:04 /data/sstables/data/ks/cf/ks-cf-ic-402430-Data.db -rw-rw-r-- 14 cassandra cassandra 13G Nov 26 05:03 /data/sstables/data/ks/cf/ks-cf-ic-405231-Data.db -rw-rw-r-- 31 cassandra cassandra 21G Nov 26 08:38 /data/sstables/data/ks/cf/ks-cf-ic-405232-Data.db -rw-rw-r-- 2 cassandra cassandra 2.6G Dec 3 13:44 /data/sstables/data/ks/cf/ks-cf-ic-434662-Data.db -rw-rw-r-- 14 cassandra cassandra 1.5G Dec 5 09:05 /data/sstables/data/ks/cf/ks-cf-ic-438698-Data.db -rw-rw-r-- 2 cassandra cassandra 3.1G Dec 6 12:10 /data/sstables/data/ks/cf/ks-cf-ic-440983-Data.db -rw-rw-r-- 2 cassandra cassandra 96M Dec 8 01:52 /data/sstables/data/ks/cf/ks-cf-ic-444041-Data.db -rw-rw-r-- 2 cassandra cassandra 3.3G Dec 9 16:37 /data/sstables/data/ks/cf/ks-cf-ic-451116-Data.db -rw-rw-r-- 2 cassandra cassandra 876M Dec 10 11:23 /data/sstables/data/ks/cf/ks-cf-ic-453552-Data.db -rw-rw-r-- 2 cassandra cassandra 891M Dec 11 03:21 /data/sstables/data/ks/cf/ks-cf-ic-454518-Data.db -rw-rw-r-- 2 cassandra cassandra 102M Dec 11 12:27 /data/sstables/data/ks/cf/ks-cf-ic-455429-Data.db -rw-rw-r-- 2 cassandra cassandra 906M Dec 11 23:54 /data/sstables/data/ks/cf/ks-cf-ic-455533-Data.db -rw-rw-r-- 1 cassandra cassandra 214M Dec 12 05:02 /data/sstables/data/ks/cf/ks-cf-ic-456426-Data.db -rw-rw-r-- 1 cassandra cassandra 203M Dec 12 10:49 /data/sstables/data/ks/cf/ks-cf-ic-456879-Data.db -rw-rw-r-- 1 cassandra cassandra 49M Dec 12 12:03 /data/sstables/data/ks/cf/ks-cf-ic-456963-Data.db -rw-rw-r-- 18 cassandra cassandra 20G Dec 25 01:09 /data/sstables/data/ks/cf/ks-cf-ic-507770-Data.db -rw-rw-r-- 3 cassandra cassandra 12G Jan 8 04:22 /data/sstables/data/ks/cf/ks-cf-ic-567100-Data.db -rw-rw-r-- 3 cassandra cassandra 957M Jan 8 22:51 /data/sstables/data/ks/cf/ks-cf-ic-569015-Data.db -rw-rw-r-- 2 cassandra cassandra 923M Jan 9 17:04 /data/sstables/data/ks/cf/ks-cf-ic-571303-Data.db -rw-rw-r-- 1 cassandra cassandra 821M Jan 10 08:20 /data/sstables/data/ks/cf/ks-cf-ic-574642-Data.db -rw-rw-r-- 1 cassandra cassandra 18M Jan 10 08:48 /data/sstables/data/ks/cf/ks-cf-ic-574723-Data.db {noformat} I tried to do a user defined compaction on sstables from November and got it is not an active sstable. Live sstable count from jmx was about 7 while on disk there were over 20. Live vs total size showed about a ~50 GiB difference. Forcing a gc from jconsole had no effect. However, restarting the node resulted in live sstables/bytes *increasing* to match what was on disk. User compaction could now compact the November sstables. This cluster was last restarted in mid December. I'm not sure what affect not live had on other operations of the cluster. From the logs it seems that the files were sent at least at some point as part of repair, but I don't know if they were being being used for read requests or not. Because the problem that got me looking in the first place was poor performance I suspect they were used for reads (and the reads were slow because so many sstables were being read). I presume based on their age at the least they were being excluded from compaction. I'm not aware of any isLive() or getRefCount() to problematically confirm which nodes have this problem. In this cluster almost all columns have a 14 day TTL, based on the number of nodes with November sstables it appears to be occurring on a significant fraction of the nodes. -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Commented] (CASSANDRA-6678) Unwanted schema pull while upgrading nodes from 1.2 to 2.0
[ https://issues.apache.org/jira/browse/CASSANDRA-6678?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13894552#comment-13894552 ] Sergio Bossa commented on CASSANDRA-6678: - Good point, way easier :) Unwanted schema pull while upgrading nodes from 1.2 to 2.0 -- Key: CASSANDRA-6678 URL: https://issues.apache.org/jira/browse/CASSANDRA-6678 Project: Cassandra Issue Type: Bug Components: Core Reporter: Sergio Bossa While upgrading from 1.2 to 2.0, the 1.2 nodes are not supposed to pull schemas from upgraded 2.0 nodes to avoid conflicts. This relies on network version checks between the two nodes, but there's a bit of a race between the Gossiper, which is activated first, and the MessagingService, which is activated after the Gossiper and handles network version exchange: if a 1.2 node Gossiper gets a gossip message from a newly 2.0 node *before* opening connections from the MessagingService, the version will still be 1.2, and the schema will be pulled from the new node. A possible solution may be to have the Gossiper update the network version upon receiving the first gossip message of an upgraded node: thoughts? -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Comment Edited] (CASSANDRA-6674) TombstoneOverwhelmingException during/after batch insert
[ https://issues.apache.org/jira/browse/CASSANDRA-6674?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13894501#comment-13894501 ] Machiel Groeneveld edited comment on CASSANDRA-6674 at 2/7/14 2:19 PM: --- Just rough estimate, but one value is 99% of the cases null and one other value 80% of the records. was (Author: machielg): Just rough estimate, but one value is 99% if the cases null and one other value 80% of the records. TombstoneOverwhelmingException during/after batch insert Key: CASSANDRA-6674 URL: https://issues.apache.org/jira/browse/CASSANDRA-6674 Project: Cassandra Issue Type: Bug Environment: 2.0.4; 2.0.5 Mac OS X Reporter: Machiel Groeneveld Priority: Critical Select query on a table where I'm doing insert fails with tombstone exception. The database is clean/empty before doing inserts, doing the first query after a few thousand records inserted. I don't understand where the tombstones are coming from as I'm not doing any deletes. ERROR [ReadStage:41] 2014-02-07 12:16:42,169 SliceQueryFilter.java (line 200) Scanned over 10 tombstones in visits.visits; query aborted (see tombstone_fail_threshold) ERROR [ReadStage:41] 2014-02-07 12:16:42,171 CassandraDaemon.java (line 192) Exception in thread Thread[ReadStage:41,5,main] java.lang.RuntimeException: org.apache.cassandra.db.filter.TombstoneOverwhelmingException at org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1935) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:724) Caused by: org.apache.cassandra.db.filter.TombstoneOverwhelmingException at org.apache.cassandra.db.filter.SliceQueryFilter.collectReducedColumns(SliceQueryFilter.java:202) at org.apache.cassandra.db.filter.QueryFilter.collateColumns(QueryFilter.java:122) at org.apache.cassandra.db.filter.QueryFilter.collateOnDiskAtom(QueryFilter.java:80) at org.apache.cassandra.db.RowIteratorFactory$2.getReduced(RowIteratorFactory.java:101) at org.apache.cassandra.db.RowIteratorFactory$2.getReduced(RowIteratorFactory.java:75) at org.apache.cassandra.utils.MergeIterator$ManyToOne.consume(MergeIterator.java:115) at org.apache.cassandra.utils.MergeIterator$ManyToOne.computeNext(MergeIterator.java:98) at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) at org.apache.cassandra.db.ColumnFamilyStore$9.computeNext(ColumnFamilyStore.java:1607) at org.apache.cassandra.db.ColumnFamilyStore$9.computeNext(ColumnFamilyStore.java:1603) at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) at org.apache.cassandra.db.ColumnFamilyStore.filter(ColumnFamilyStore.java:1754) at org.apache.cassandra.db.ColumnFamilyStore.getRangeSlice(ColumnFamilyStore.java:1718) at org.apache.cassandra.db.RangeSliceCommand.executeLocally(RangeSliceCommand.java:137) at org.apache.cassandra.service.StorageProxy$LocalRangeSliceRunnable.runMayThrow(StorageProxy.java:1418) at org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1931) ... 3 more -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Updated] (CASSANDRA-6678) Unwanted schema pull while upgrading nodes from 1.2 to 2.0
[ https://issues.apache.org/jira/browse/CASSANDRA-6678?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Sergio Bossa updated CASSANDRA-6678: Attachment: CASSANDRA-6678-2_0.patch CASSANDRA-6678-1_2.patch Attached patches for 1.2 and 2.0. Unwanted schema pull while upgrading nodes from 1.2 to 2.0 -- Key: CASSANDRA-6678 URL: https://issues.apache.org/jira/browse/CASSANDRA-6678 Project: Cassandra Issue Type: Bug Components: Core Reporter: Sergio Bossa Attachments: CASSANDRA-6678-1_2.patch, CASSANDRA-6678-2_0.patch While upgrading from 1.2 to 2.0, the 1.2 nodes are not supposed to pull schemas from upgraded 2.0 nodes to avoid conflicts. This relies on network version checks between the two nodes, but there's a bit of a race between the Gossiper, which is activated first, and the MessagingService, which is activated after the Gossiper and handles network version exchange: if a 1.2 node Gossiper gets a gossip message from a newly 2.0 node *before* opening connections from the MessagingService, the version will still be 1.2, and the schema will be pulled from the new node. A possible solution may be to have the Gossiper update the network version upon receiving the first gossip message of an upgraded node: thoughts? -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Commented] (CASSANDRA-6667) Mean cells per sstable is calculated incorrectly
[ https://issues.apache.org/jira/browse/CASSANDRA-6667?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13894569#comment-13894569 ] Jonathan Ellis commented on CASSANDRA-6667: --- Well, they're computing different things, so meanRowSize looks correct to me. Will fix the CHANGES record. Mean cells per sstable is calculated incorrectly Key: CASSANDRA-6667 URL: https://issues.apache.org/jira/browse/CASSANDRA-6667 Project: Cassandra Issue Type: Bug Reporter: Jonathan Ellis Assignee: Jonathan Ellis Priority: Minor Fix For: 1.2.16, 2.0.6 Attachments: 6667-v2.txt, 6667-v3.txt, 6667.txt We currently take the average of the mean for each partition, rather than correctly weighting by cell count. This affects hint paging as well as index selectivity calculation. -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[4/8] git commit: Merge branch 'cassandra-1.2' into cassandra-2.0
Merge branch 'cassandra-1.2' into cassandra-2.0 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/fe5de338 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/fe5de338 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/fe5de338 Branch: refs/heads/cassandra-2.0 Commit: fe5de33838c5d7ca5ec1000140d9778a9767fe34 Parents: 6e0ce7a 31414fb Author: Brandon Williams brandonwilli...@apache.org Authored: Fri Feb 7 08:35:02 2014 -0600 Committer: Brandon Williams brandonwilli...@apache.org Committed: Fri Feb 7 08:35:02 2014 -0600 -- --
[2/8] git commit: Fix unwanted schema pull while upgrading nodes from 1.2 to 2.0 Patch by Sergio Bossa, reviewed by brandonwilliams for CASSANDRA-6678
Fix unwanted schema pull while upgrading nodes from 1.2 to 2.0 Patch by Sergio Bossa, reviewed by brandonwilliams for CASSANDRA-6678 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/31414fb8 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/31414fb8 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/31414fb8 Branch: refs/heads/cassandra-2.0 Commit: 31414fb871c073a19a02dce5dda70bf3df0e5888 Parents: 8b6d87b Author: Brandon Williams brandonwilli...@apache.org Authored: Fri Feb 7 08:34:00 2014 -0600 Committer: Brandon Williams brandonwilli...@apache.org Committed: Fri Feb 7 08:34:00 2014 -0600 -- src/java/org/apache/cassandra/service/MigrationManager.java | 7 --- 1 file changed, 4 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/31414fb8/src/java/org/apache/cassandra/service/MigrationManager.java -- diff --git a/src/java/org/apache/cassandra/service/MigrationManager.java b/src/java/org/apache/cassandra/service/MigrationManager.java index 37d5f43..fd9eeda 100644 --- a/src/java/org/apache/cassandra/service/MigrationManager.java +++ b/src/java/org/apache/cassandra/service/MigrationManager.java @@ -138,9 +138,10 @@ public class MigrationManager * Don't request schema from nodes with a higher major (may have incompatible schema) * Don't request schema from fat clients */ -return MessagingService.instance().getVersion(endpoint) = MessagingService.VERSION_117 - MessagingService.instance().getVersion(endpoint) = MessagingService.current_version - !Gossiper.instance.isFatClient(endpoint); +return MessagingService.instance().knowsVersion(endpoint) + MessagingService.instance().getVersion(endpoint) = MessagingService.VERSION_117 + MessagingService.instance().getVersion(endpoint) = MessagingService.current_version + !Gossiper.instance.isFatClient(endpoint); } public static boolean isReadyForBootstrap()
[3/8] git commit: Fix unwanted schema pull while upgrading nodes from 1.2 to 2.0 Patch by Sergio Bossa, reviewed by brandonwilliams for CASSANDRA-6678
Fix unwanted schema pull while upgrading nodes from 1.2 to 2.0 Patch by Sergio Bossa, reviewed by brandonwilliams for CASSANDRA-6678 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/31414fb8 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/31414fb8 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/31414fb8 Branch: refs/heads/trunk Commit: 31414fb871c073a19a02dce5dda70bf3df0e5888 Parents: 8b6d87b Author: Brandon Williams brandonwilli...@apache.org Authored: Fri Feb 7 08:34:00 2014 -0600 Committer: Brandon Williams brandonwilli...@apache.org Committed: Fri Feb 7 08:34:00 2014 -0600 -- src/java/org/apache/cassandra/service/MigrationManager.java | 7 --- 1 file changed, 4 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/31414fb8/src/java/org/apache/cassandra/service/MigrationManager.java -- diff --git a/src/java/org/apache/cassandra/service/MigrationManager.java b/src/java/org/apache/cassandra/service/MigrationManager.java index 37d5f43..fd9eeda 100644 --- a/src/java/org/apache/cassandra/service/MigrationManager.java +++ b/src/java/org/apache/cassandra/service/MigrationManager.java @@ -138,9 +138,10 @@ public class MigrationManager * Don't request schema from nodes with a higher major (may have incompatible schema) * Don't request schema from fat clients */ -return MessagingService.instance().getVersion(endpoint) = MessagingService.VERSION_117 - MessagingService.instance().getVersion(endpoint) = MessagingService.current_version - !Gossiper.instance.isFatClient(endpoint); +return MessagingService.instance().knowsVersion(endpoint) + MessagingService.instance().getVersion(endpoint) = MessagingService.VERSION_117 + MessagingService.instance().getVersion(endpoint) = MessagingService.current_version + !Gossiper.instance.isFatClient(endpoint); } public static boolean isReadyForBootstrap()
[1/8] git commit: Fix unwanted schema pull while upgrading nodes from 1.2 to 2.0 Patch by Sergio Bossa, reviewed by brandonwilliams for CASSANDRA-6678
Updated Branches: refs/heads/cassandra-1.2 8b6d87b86 - 31414fb87 refs/heads/cassandra-2.0 6e0ce7a05 - 9e0700c07 refs/heads/trunk 7a3e697d8 - f8b1a9e15 Fix unwanted schema pull while upgrading nodes from 1.2 to 2.0 Patch by Sergio Bossa, reviewed by brandonwilliams for CASSANDRA-6678 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/31414fb8 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/31414fb8 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/31414fb8 Branch: refs/heads/cassandra-1.2 Commit: 31414fb871c073a19a02dce5dda70bf3df0e5888 Parents: 8b6d87b Author: Brandon Williams brandonwilli...@apache.org Authored: Fri Feb 7 08:34:00 2014 -0600 Committer: Brandon Williams brandonwilli...@apache.org Committed: Fri Feb 7 08:34:00 2014 -0600 -- src/java/org/apache/cassandra/service/MigrationManager.java | 7 --- 1 file changed, 4 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/31414fb8/src/java/org/apache/cassandra/service/MigrationManager.java -- diff --git a/src/java/org/apache/cassandra/service/MigrationManager.java b/src/java/org/apache/cassandra/service/MigrationManager.java index 37d5f43..fd9eeda 100644 --- a/src/java/org/apache/cassandra/service/MigrationManager.java +++ b/src/java/org/apache/cassandra/service/MigrationManager.java @@ -138,9 +138,10 @@ public class MigrationManager * Don't request schema from nodes with a higher major (may have incompatible schema) * Don't request schema from fat clients */ -return MessagingService.instance().getVersion(endpoint) = MessagingService.VERSION_117 - MessagingService.instance().getVersion(endpoint) = MessagingService.current_version - !Gossiper.instance.isFatClient(endpoint); +return MessagingService.instance().knowsVersion(endpoint) + MessagingService.instance().getVersion(endpoint) = MessagingService.VERSION_117 + MessagingService.instance().getVersion(endpoint) = MessagingService.current_version + !Gossiper.instance.isFatClient(endpoint); } public static boolean isReadyForBootstrap()
[5/8] git commit: Merge branch 'cassandra-1.2' into cassandra-2.0
Merge branch 'cassandra-1.2' into cassandra-2.0 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/fe5de338 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/fe5de338 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/fe5de338 Branch: refs/heads/trunk Commit: fe5de33838c5d7ca5ec1000140d9778a9767fe34 Parents: 6e0ce7a 31414fb Author: Brandon Williams brandonwilli...@apache.org Authored: Fri Feb 7 08:35:02 2014 -0600 Committer: Brandon Williams brandonwilli...@apache.org Committed: Fri Feb 7 08:35:02 2014 -0600 -- --
[8/8] git commit: Merge branch 'cassandra-2.0' into trunk
Merge branch 'cassandra-2.0' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/f8b1a9e1 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/f8b1a9e1 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/f8b1a9e1 Branch: refs/heads/trunk Commit: f8b1a9e1590dd8b0b2c4a4d698b8d3e2765f0cb3 Parents: 7a3e697 9e0700c Author: Brandon Williams brandonwilli...@apache.org Authored: Fri Feb 7 08:36:00 2014 -0600 Committer: Brandon Williams brandonwilli...@apache.org Committed: Fri Feb 7 08:36:00 2014 -0600 -- src/java/org/apache/cassandra/service/MigrationManager.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/f8b1a9e1/src/java/org/apache/cassandra/service/MigrationManager.java --
[jira] [Resolved] (CASSANDRA-6676) Add ability to see layout of storage for CQL tables
[ https://issues.apache.org/jira/browse/CASSANDRA-6676?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Ellis resolved CASSANDRA-6676. --- Resolution: Not A Problem Add ability to see layout of storage for CQL tables --- Key: CASSANDRA-6676 URL: https://issues.apache.org/jira/browse/CASSANDRA-6676 Project: Cassandra Issue Type: Improvement Reporter: Brian ONeill Priority: Minor Many of us use the CLI to see how data gets laid out in storage for tables created via CQL. If we intend to deprecate CLI, it would be nice to have this ability in CQL. See thread: http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/CQL-list-command-td7592673.html -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Resolved] (CASSANDRA-6677) Commitlog replay makes dropped and recreated keyspace and column family rows reappear
[ https://issues.apache.org/jira/browse/CASSANDRA-6677?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Ellis resolved CASSANDRA-6677. --- Resolution: Duplicate Fix Version/s: (was: 2.0.4) see CASSANDRA-5202 Commitlog replay makes dropped and recreated keyspace and column family rows reappear - Key: CASSANDRA-6677 URL: https://issues.apache.org/jira/browse/CASSANDRA-6677 Project: Cassandra Issue Type: Bug Components: Core Reporter: Ignace Desimpel Priority: Minor A row can reappear after reboot of the database if the keyspace was dropped and recreated and then rebooted. Thus before reboot : Create keyspaceX + Create ColumnFamilyY + Insert row R + Drop keyspaceX + Create keyspaceX + Create ColumnFamilyY . This will result in no rows. After reboot, the row R reappears ! Guess this will apply to all cassandra versions? I will attach some sample test code. -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[3/3] git commit: Merge branch 'cassandra-2.0' into trunk
Merge branch 'cassandra-2.0' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/f71ef609 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/f71ef609 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/f71ef609 Branch: refs/heads/trunk Commit: f71ef609930a9f10691e8febd4bf7c984efe5114 Parents: f8b1a9e 3d5b5c3 Author: Brandon Williams brandonwilli...@apache.org Authored: Fri Feb 7 08:54:29 2014 -0600 Committer: Brandon Williams brandonwilli...@apache.org Committed: Fri Feb 7 08:54:29 2014 -0600 -- src/java/org/apache/cassandra/service/CassandraDaemon.java | 3 +++ 1 file changed, 3 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/f71ef609/src/java/org/apache/cassandra/service/CassandraDaemon.java -- diff --cc src/java/org/apache/cassandra/service/CassandraDaemon.java index 0ad47ac,d87f6d8..179e955 --- a/src/java/org/apache/cassandra/service/CassandraDaemon.java +++ b/src/java/org/apache/cassandra/service/CassandraDaemon.java @@@ -20,8 -20,10 +20,9 @@@ package org.apache.cassandra.service import java.io.File; import java.io.IOException; import java.lang.management.ManagementFactory; + import java.lang.management.MemoryPoolMXBean; import java.net.InetAddress; -import java.net.MalformedURLException; -import java.net.URL; +import java.net.UnknownHostException; import java.util.Arrays; import java.util.Map; import java.util.UUID;
[2/3] git commit: Log heap pool sizes at startup. Patch by brandonwilliams, reviewed by Lyuben Todorov for CASSANDRA-6657
Log heap pool sizes at startup. Patch by brandonwilliams, reviewed by Lyuben Todorov for CASSANDRA-6657 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/3d5b5c3a Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/3d5b5c3a Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/3d5b5c3a Branch: refs/heads/trunk Commit: 3d5b5c3a7e37532017e910ffc680e4f42d918c30 Parents: 9e0700c Author: Brandon Williams brandonwilli...@apache.org Authored: Fri Feb 7 08:53:49 2014 -0600 Committer: Brandon Williams brandonwilli...@apache.org Committed: Fri Feb 7 08:53:49 2014 -0600 -- src/java/org/apache/cassandra/service/CassandraDaemon.java | 3 +++ 1 file changed, 3 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/3d5b5c3a/src/java/org/apache/cassandra/service/CassandraDaemon.java -- diff --git a/src/java/org/apache/cassandra/service/CassandraDaemon.java b/src/java/org/apache/cassandra/service/CassandraDaemon.java index 1319836..d87f6d8 100644 --- a/src/java/org/apache/cassandra/service/CassandraDaemon.java +++ b/src/java/org/apache/cassandra/service/CassandraDaemon.java @@ -20,6 +20,7 @@ package org.apache.cassandra.service; import java.io.File; import java.io.IOException; import java.lang.management.ManagementFactory; +import java.lang.management.MemoryPoolMXBean; import java.net.InetAddress; import java.net.MalformedURLException; import java.net.URL; @@ -181,6 +182,8 @@ public class CassandraDaemon } */ logger.info(Heap size: {}/{}, Runtime.getRuntime().totalMemory(), Runtime.getRuntime().maxMemory()); +for(MemoryPoolMXBean pool: ManagementFactory.getMemoryPoolMXBeans()) +logger.info({} {}: {}, pool.getName(), pool.getType(), pool.getPeakUsage()); logger.info(Classpath: {}, System.getProperty(java.class.path)); CLibrary.tryMlockall();
[1/3] git commit: Log heap pool sizes at startup. Patch by brandonwilliams, reviewed by Lyuben Todorov for CASSANDRA-6657
Updated Branches: refs/heads/cassandra-2.0 9e0700c07 - 3d5b5c3a7 refs/heads/trunk f8b1a9e15 - f71ef6099 Log heap pool sizes at startup. Patch by brandonwilliams, reviewed by Lyuben Todorov for CASSANDRA-6657 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/3d5b5c3a Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/3d5b5c3a Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/3d5b5c3a Branch: refs/heads/cassandra-2.0 Commit: 3d5b5c3a7e37532017e910ffc680e4f42d918c30 Parents: 9e0700c Author: Brandon Williams brandonwilli...@apache.org Authored: Fri Feb 7 08:53:49 2014 -0600 Committer: Brandon Williams brandonwilli...@apache.org Committed: Fri Feb 7 08:53:49 2014 -0600 -- src/java/org/apache/cassandra/service/CassandraDaemon.java | 3 +++ 1 file changed, 3 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/3d5b5c3a/src/java/org/apache/cassandra/service/CassandraDaemon.java -- diff --git a/src/java/org/apache/cassandra/service/CassandraDaemon.java b/src/java/org/apache/cassandra/service/CassandraDaemon.java index 1319836..d87f6d8 100644 --- a/src/java/org/apache/cassandra/service/CassandraDaemon.java +++ b/src/java/org/apache/cassandra/service/CassandraDaemon.java @@ -20,6 +20,7 @@ package org.apache.cassandra.service; import java.io.File; import java.io.IOException; import java.lang.management.ManagementFactory; +import java.lang.management.MemoryPoolMXBean; import java.net.InetAddress; import java.net.MalformedURLException; import java.net.URL; @@ -181,6 +182,8 @@ public class CassandraDaemon } */ logger.info(Heap size: {}/{}, Runtime.getRuntime().totalMemory(), Runtime.getRuntime().maxMemory()); +for(MemoryPoolMXBean pool: ManagementFactory.getMemoryPoolMXBeans()) +logger.info({} {}: {}, pool.getName(), pool.getType(), pool.getPeakUsage()); logger.info(Classpath: {}, System.getProperty(java.class.path)); CLibrary.tryMlockall();
[jira] [Commented] (CASSANDRA-6622) Streaming session failures during node replace of same address
[ https://issues.apache.org/jira/browse/CASSANDRA-6622?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13894609#comment-13894609 ] Brandon Williams commented on CASSANDRA-6622: - bq. What i'm seeing is, the other nodes in the ring take around 2-3 seconds for PHI on the replacing node to drop below convict threshold. You mean rise above it, so the node is still being convicted? Can you add new logs? Maybe now it actually is the restart event, so trying that patch with 6658 might work. The problem with just sleeping for RING_DELAY is that the reason we do that during bootstrap is to announce the range, but with replacement that shouldn't be needed. If we sleep and it works we're papering over the real problem without understand what it is. Streaming session failures during node replace of same address -- Key: CASSANDRA-6622 URL: https://issues.apache.org/jira/browse/CASSANDRA-6622 Project: Cassandra Issue Type: Bug Environment: RHEL6, cassandra-2.0.4 Reporter: Ravi Prasad Assignee: Brandon Williams Attachments: 0001-don-t-signal-restart-of-dead-states.txt, 6622-2.0.txt, logs.tgz When using replace_address, Gossiper ApplicationState is set to hibernate, which is a down state. We are seeing that the peer nodes are seeing streaming plan request even before the Gossiper on them marks the replacing node as dead. As a result, streaming on peer nodes convicts the replacing node by closing the stream handler. I think, making the StorageService thread on the replacing node, sleep for BROADCAST_INTERVAL before bootstrapping, would avoid this scenario. Relevant logs from peer node (see that the Gossiper on peer node mark the replacing node as down, 2 secs after the streaming init request): {noformat} INFO [STREAM-INIT-/x.x.x.x:46436] 2014-01-26 20:42:24,388 StreamResultFuture.java (line 116) [Stream #5c6cd940-86ca-11e3-90a0-411b913c0e88] Received streaming plan for Bootstrap INFO [GossipTasks:1] 2014-01-26 20:42:25,240 StreamResultFuture.java (line 181) [Stream #5c6cd940-86ca-11e3-90a0-411b913c0e88] Session with /x.x.x.x is complete WARN [GossipTasks:1] 2014-01-26 20:42:25,240 StreamResultFuture.java (line 210) [Stream #5c6cd940-86ca-11e3-90a0-411b913c0e88] Stream failed INFO [GossipStage:1] 2014-01-26 20:42:25,242 Gossiper.java (line 850) InetAddress /x.x.x.x is now DOWN ERROR [STREAM-IN-/x.x.x.x] 2014-01-26 20:42:25,766 StreamSession.java (line 410) [Stream #5c6cd940-86ca-11e3-90a0-411b913c0e88] Streaming error occurred java.lang.RuntimeException: Outgoing stream handler has been closed at org.apache.cassandra.streaming.ConnectionHandler.sendMessage(ConnectionHandler.java:175) at org.apache.cassandra.streaming.StreamSession.prepare(StreamSession.java:436) at org.apache.cassandra.streaming.StreamSession.messageReceived(StreamSession.java:358) at org.apache.cassandra.streaming.ConnectionHandler$IncomingMessageHandler.run(ConnectionHandler.java:293) at java.lang.Thread.run(Thread.java:722) INFO [STREAM-IN-/x.x.x.x] 2014-01-26 20:42:25,768 StreamResultFuture.java (line 181) [Stream #5c6cd940-86ca-11e3-90a0-411b913c0e88] Session with /x.x.x.x is complete WARN [STREAM-IN-/x.x.x.x] 2014-01-26 20:42:25,768 StreamResultFuture.java (line 210) [Stream #5c6cd940-86ca-11e3-90a0-411b913c0e88] Stream failed {noformat} -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Commented] (CASSANDRA-6678) Unwanted schema pull while upgrading nodes from 1.2 to 2.0
[ https://issues.apache.org/jira/browse/CASSANDRA-6678?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13894649#comment-13894649 ] Piotr Kołaczkowski commented on CASSANDRA-6678: --- For upgrade to work, do I need to patch 1.2? Or is it enough to patch 2.0? Unwanted schema pull while upgrading nodes from 1.2 to 2.0 -- Key: CASSANDRA-6678 URL: https://issues.apache.org/jira/browse/CASSANDRA-6678 Project: Cassandra Issue Type: Bug Components: Core Reporter: Sergio Bossa Assignee: Sergio Bossa Fix For: 1.2.16, 2.0.6 Attachments: CASSANDRA-6678-1_2.patch, CASSANDRA-6678-2_0.patch While upgrading from 1.2 to 2.0, the 1.2 nodes are not supposed to pull schemas from upgraded 2.0 nodes to avoid conflicts. This relies on network version checks between the two nodes, but there's a bit of a race between the Gossiper, which is activated first, and the MessagingService, which is activated after the Gossiper and handles network version exchange: if a 1.2 node Gossiper gets a gossip message from a newly 2.0 node *before* opening connections from the MessagingService, the version will still be 1.2, and the schema will be pulled from the new node. A possible solution may be to have the Gossiper update the network version upon receiving the first gossip message of an upgraded node: thoughts? -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Commented] (CASSANDRA-6678) Unwanted schema pull while upgrading nodes from 1.2 to 2.0
[ https://issues.apache.org/jira/browse/CASSANDRA-6678?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13894651#comment-13894651 ] Piotr Kołaczkowski commented on CASSANDRA-6678: --- Is there any workaround that could be applied to version 2.0 *only* so it can join a non-patched 1.2 cluster? Unwanted schema pull while upgrading nodes from 1.2 to 2.0 -- Key: CASSANDRA-6678 URL: https://issues.apache.org/jira/browse/CASSANDRA-6678 Project: Cassandra Issue Type: Bug Components: Core Reporter: Sergio Bossa Assignee: Sergio Bossa Fix For: 1.2.16, 2.0.6 Attachments: CASSANDRA-6678-1_2.patch, CASSANDRA-6678-2_0.patch While upgrading from 1.2 to 2.0, the 1.2 nodes are not supposed to pull schemas from upgraded 2.0 nodes to avoid conflicts. This relies on network version checks between the two nodes, but there's a bit of a race between the Gossiper, which is activated first, and the MessagingService, which is activated after the Gossiper and handles network version exchange: if a 1.2 node Gossiper gets a gossip message from a newly 2.0 node *before* opening connections from the MessagingService, the version will still be 1.2, and the schema will be pulled from the new node. A possible solution may be to have the Gossiper update the network version upon receiving the first gossip message of an upgraded node: thoughts? -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Issue Comment Deleted] (CASSANDRA-6678) Unwanted schema pull while upgrading nodes from 1.2 to 2.0
[ https://issues.apache.org/jira/browse/CASSANDRA-6678?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Piotr Kołaczkowski updated CASSANDRA-6678: -- Comment: was deleted (was: For upgrade to work, do I need to patch 1.2? Or is it enough to patch 2.0?) Unwanted schema pull while upgrading nodes from 1.2 to 2.0 -- Key: CASSANDRA-6678 URL: https://issues.apache.org/jira/browse/CASSANDRA-6678 Project: Cassandra Issue Type: Bug Components: Core Reporter: Sergio Bossa Assignee: Sergio Bossa Fix For: 1.2.16, 2.0.6 Attachments: CASSANDRA-6678-1_2.patch, CASSANDRA-6678-2_0.patch While upgrading from 1.2 to 2.0, the 1.2 nodes are not supposed to pull schemas from upgraded 2.0 nodes to avoid conflicts. This relies on network version checks between the two nodes, but there's a bit of a race between the Gossiper, which is activated first, and the MessagingService, which is activated after the Gossiper and handles network version exchange: if a 1.2 node Gossiper gets a gossip message from a newly 2.0 node *before* opening connections from the MessagingService, the version will still be 1.2, and the schema will be pulled from the new node. A possible solution may be to have the Gossiper update the network version upon receiving the first gossip message of an upgraded node: thoughts? -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Assigned] (CASSANDRA-6679) CleanupTest occasional failure in 1.2
[ https://issues.apache.org/jira/browse/CASSANDRA-6679?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Ellis reassigned CASSANDRA-6679: - Assignee: Marcus Eriksson CleanupTest occasional failure in 1.2 - Key: CASSANDRA-6679 URL: https://issues.apache.org/jira/browse/CASSANDRA-6679 Project: Cassandra Issue Type: Test Components: Tests Environment: Debian Stable (Wheezy) amd64 Oracle JVM 1.7.0_51-b13 Reporter: Michael Shuler Assignee: Marcus Eriksson Priority: Minor Attachments: system.log {noformat} test: [echo] running unit tests [junit] WARNING: multiple versions of ant detected in path for junit [junit] jar:file:/usr/share/ant/lib/ant.jar!/org/apache/tools/ant/Project.class [junit] and jar:file:/home/mshuler/git/cassandra/build/lib/jars/ant-1.6.5.jar!/org/apache/tools/ant/Project.class [junit] Testsuite: org.apache.cassandra.db.CleanupTest [junit] Tests run: 2, Failures: 1, Errors: 0, Time elapsed: 6.508 sec [junit] [junit] - Standard Error - [junit] WARN 15:27:11,566 No host ID found, created e8a8a37c-56c5-49d5-8260-7a3dfc2174a7 (Note: This should happen exactly once per node). [junit] WARN 15:27:11,655 Generated random token [0850c6b26994617235bec220dd17a6d6]. Random tokens will result in an unbalanced ring; see http://wiki.apache.org/cassandra/Operations [junit] - --- [junit] Testcase: testCleanup(org.apache.cassandra.db.CleanupTest): FAILED [junit] null [junit] junit.framework.AssertionFailedError [junit] at org.apache.cassandra.db.CleanupTest.testCleanup(CleanupTest.java:87) [junit] [junit] [junit] Test org.apache.cassandra.db.CleanupTest FAILED BUILD FAILED {noformat} - loop through CleanupTest unit test (https://issues.apache.org/jira/secure/attachment/12627493/test.sh) - system.log from failed test attached -- This message was sent by Atlassian JIRA (v6.1.5#6160)
git commit: revert unintentionally committed code from #6667
Updated Branches: refs/heads/trunk f71ef6099 - d69529c3e revert unintentionally committed code from #6667 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/d69529c3 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/d69529c3 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/d69529c3 Branch: refs/heads/trunk Commit: d69529c3e5a3734e97254190d2049124c6f897e4 Parents: f71ef60 Author: Jonathan Ellis jbel...@apache.org Authored: Fri Feb 7 10:12:38 2014 -0600 Committer: Jonathan Ellis jbel...@apache.org Committed: Fri Feb 7 10:12:38 2014 -0600 -- src/java/org/apache/cassandra/db/DataTracker.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/d69529c3/src/java/org/apache/cassandra/db/DataTracker.java -- diff --git a/src/java/org/apache/cassandra/db/DataTracker.java b/src/java/org/apache/cassandra/db/DataTracker.java index d90c0ff..e748ffa 100644 --- a/src/java/org/apache/cassandra/db/DataTracker.java +++ b/src/java/org/apache/cassandra/db/DataTracker.java @@ -440,9 +440,8 @@ public class DataTracker long count = 0; for (SSTableReader sstable : getSSTables()) { -long n = sstable.getEstimatedColumnCount().count(); -sum += sstable.getEstimatedColumnCount().mean() * n; -count += n; +sum += sstable.getEstimatedColumnCount().mean(); +count++; } return count 0 ? (int) (sum / count) : 0; }
[2/6] git commit: Fix mean cells and mean row size per sstable calculations patch by Paulo Gaspar, jbellis, and Marcus Eriksson for CASSANDRA-6667
Fix mean cells and mean row size per sstable calculations patch by Paulo Gaspar, jbellis, and Marcus Eriksson for CASSANDRA-6667 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/beefd0b8 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/beefd0b8 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/beefd0b8 Branch: refs/heads/cassandra-2.0 Commit: beefd0b8cc91054a559cdecfe5d972dffb20e0e7 Parents: 31414fb Author: Jonathan Ellis jbel...@apache.org Authored: Fri Feb 7 10:17:04 2014 -0600 Committer: Jonathan Ellis jbel...@apache.org Committed: Fri Feb 7 10:18:21 2014 -0600 -- CHANGES.txt | 1 + src/java/org/apache/cassandra/db/ColumnFamilyStoreMBean.java | 2 +- src/java/org/apache/cassandra/db/DataTracker.java | 7 --- .../org/apache/cassandra/metrics/ColumnFamilyMetrics.java | 5 +++-- 4 files changed, 9 insertions(+), 6 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/beefd0b8/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 4be97f1..5511e01 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,6 +1,7 @@ 1.2.16 * Fix upgradesstables NPE for non-CF-based indexes (CASSANDRA-6645) * Fix partition and range deletes not triggering flush (CASSANDRA-6655) + * Fix mean cells and mean row size per sstable calculations (CASSANDRA-6667) 1.2.15 http://git-wip-us.apache.org/repos/asf/cassandra/blob/beefd0b8/src/java/org/apache/cassandra/db/ColumnFamilyStoreMBean.java -- diff --git a/src/java/org/apache/cassandra/db/ColumnFamilyStoreMBean.java b/src/java/org/apache/cassandra/db/ColumnFamilyStoreMBean.java index 9ee7568..86bd860 100644 --- a/src/java/org/apache/cassandra/db/ColumnFamilyStoreMBean.java +++ b/src/java/org/apache/cassandra/db/ColumnFamilyStoreMBean.java @@ -194,7 +194,7 @@ public interface ColumnFamilyStoreMBean /** * @see org.apache.cassandra.metrics.ColumnFamilyMetrics#meanRowSize - * @return the size of the smallest compacted row + * @return the average row size across all the sstables */ @Deprecated public long getMeanRowSize(); http://git-wip-us.apache.org/repos/asf/cassandra/blob/beefd0b8/src/java/org/apache/cassandra/db/DataTracker.java -- diff --git a/src/java/org/apache/cassandra/db/DataTracker.java b/src/java/org/apache/cassandra/db/DataTracker.java index b128abb..3e271d3 100644 --- a/src/java/org/apache/cassandra/db/DataTracker.java +++ b/src/java/org/apache/cassandra/db/DataTracker.java @@ -389,11 +389,12 @@ public class DataTracker public int getMeanColumns() { long sum = 0; -int count = 0; +long count = 0; for (SSTableReader sstable : getSSTables()) { -sum += sstable.getEstimatedColumnCount().mean(); -count++; +long n = sstable.getEstimatedColumnCount().count(); +sum += sstable.getEstimatedColumnCount().mean() * n; +count += n; } return count 0 ? (int) (sum / count) : 0; } http://git-wip-us.apache.org/repos/asf/cassandra/blob/beefd0b8/src/java/org/apache/cassandra/metrics/ColumnFamilyMetrics.java -- diff --git a/src/java/org/apache/cassandra/metrics/ColumnFamilyMetrics.java b/src/java/org/apache/cassandra/metrics/ColumnFamilyMetrics.java index cb13c22..a665365 100644 --- a/src/java/org/apache/cassandra/metrics/ColumnFamilyMetrics.java +++ b/src/java/org/apache/cassandra/metrics/ColumnFamilyMetrics.java @@ -213,8 +213,9 @@ public class ColumnFamilyMetrics long count = 0; for (SSTableReader sstable : cfs.getSSTables()) { -sum += sstable.getEstimatedRowSize().mean(); -count++; +long n = sstable.getEstimatedRowSize().count(); +sum += sstable.getEstimatedRowSize().mean() * n; +count += n; } return count 0 ? sum / count : 0; }
[6/6] git commit: Merge branch 'cassandra-2.0' into trunk
Merge branch 'cassandra-2.0' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/ef6d42cf Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ef6d42cf Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ef6d42cf Branch: refs/heads/trunk Commit: ef6d42cfc522b555d9b1c20a418e90d83f7a29a3 Parents: d69529c 56a615d Author: Jonathan Ellis jbel...@apache.org Authored: Fri Feb 7 10:18:48 2014 -0600 Committer: Jonathan Ellis jbel...@apache.org Committed: Fri Feb 7 10:18:48 2014 -0600 -- CHANGES.txt| 1 + src/java/org/apache/cassandra/db/ColumnFamilyStoreMBean.java | 2 +- src/java/org/apache/cassandra/db/DataTracker.java | 5 +++-- src/java/org/apache/cassandra/metrics/ColumnFamilyMetrics.java | 5 +++-- 4 files changed, 8 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/ef6d42cf/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/ef6d42cf/src/java/org/apache/cassandra/db/ColumnFamilyStoreMBean.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/ef6d42cf/src/java/org/apache/cassandra/db/DataTracker.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/ef6d42cf/src/java/org/apache/cassandra/metrics/ColumnFamilyMetrics.java --
[1/6] git commit: Fix mean cells and mean row size per sstable calculations patch by Paulo Gaspar, jbellis, and Marcus Eriksson for CASSANDRA-6667
Updated Branches: refs/heads/cassandra-1.2 31414fb87 - beefd0b8c refs/heads/cassandra-2.0 3d5b5c3a7 - 56a615d73 refs/heads/trunk d69529c3e - ef6d42cfc Fix mean cells and mean row size per sstable calculations patch by Paulo Gaspar, jbellis, and Marcus Eriksson for CASSANDRA-6667 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/beefd0b8 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/beefd0b8 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/beefd0b8 Branch: refs/heads/cassandra-1.2 Commit: beefd0b8cc91054a559cdecfe5d972dffb20e0e7 Parents: 31414fb Author: Jonathan Ellis jbel...@apache.org Authored: Fri Feb 7 10:17:04 2014 -0600 Committer: Jonathan Ellis jbel...@apache.org Committed: Fri Feb 7 10:18:21 2014 -0600 -- CHANGES.txt | 1 + src/java/org/apache/cassandra/db/ColumnFamilyStoreMBean.java | 2 +- src/java/org/apache/cassandra/db/DataTracker.java | 7 --- .../org/apache/cassandra/metrics/ColumnFamilyMetrics.java | 5 +++-- 4 files changed, 9 insertions(+), 6 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/beefd0b8/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 4be97f1..5511e01 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,6 +1,7 @@ 1.2.16 * Fix upgradesstables NPE for non-CF-based indexes (CASSANDRA-6645) * Fix partition and range deletes not triggering flush (CASSANDRA-6655) + * Fix mean cells and mean row size per sstable calculations (CASSANDRA-6667) 1.2.15 http://git-wip-us.apache.org/repos/asf/cassandra/blob/beefd0b8/src/java/org/apache/cassandra/db/ColumnFamilyStoreMBean.java -- diff --git a/src/java/org/apache/cassandra/db/ColumnFamilyStoreMBean.java b/src/java/org/apache/cassandra/db/ColumnFamilyStoreMBean.java index 9ee7568..86bd860 100644 --- a/src/java/org/apache/cassandra/db/ColumnFamilyStoreMBean.java +++ b/src/java/org/apache/cassandra/db/ColumnFamilyStoreMBean.java @@ -194,7 +194,7 @@ public interface ColumnFamilyStoreMBean /** * @see org.apache.cassandra.metrics.ColumnFamilyMetrics#meanRowSize - * @return the size of the smallest compacted row + * @return the average row size across all the sstables */ @Deprecated public long getMeanRowSize(); http://git-wip-us.apache.org/repos/asf/cassandra/blob/beefd0b8/src/java/org/apache/cassandra/db/DataTracker.java -- diff --git a/src/java/org/apache/cassandra/db/DataTracker.java b/src/java/org/apache/cassandra/db/DataTracker.java index b128abb..3e271d3 100644 --- a/src/java/org/apache/cassandra/db/DataTracker.java +++ b/src/java/org/apache/cassandra/db/DataTracker.java @@ -389,11 +389,12 @@ public class DataTracker public int getMeanColumns() { long sum = 0; -int count = 0; +long count = 0; for (SSTableReader sstable : getSSTables()) { -sum += sstable.getEstimatedColumnCount().mean(); -count++; +long n = sstable.getEstimatedColumnCount().count(); +sum += sstable.getEstimatedColumnCount().mean() * n; +count += n; } return count 0 ? (int) (sum / count) : 0; } http://git-wip-us.apache.org/repos/asf/cassandra/blob/beefd0b8/src/java/org/apache/cassandra/metrics/ColumnFamilyMetrics.java -- diff --git a/src/java/org/apache/cassandra/metrics/ColumnFamilyMetrics.java b/src/java/org/apache/cassandra/metrics/ColumnFamilyMetrics.java index cb13c22..a665365 100644 --- a/src/java/org/apache/cassandra/metrics/ColumnFamilyMetrics.java +++ b/src/java/org/apache/cassandra/metrics/ColumnFamilyMetrics.java @@ -213,8 +213,9 @@ public class ColumnFamilyMetrics long count = 0; for (SSTableReader sstable : cfs.getSSTables()) { -sum += sstable.getEstimatedRowSize().mean(); -count++; +long n = sstable.getEstimatedRowSize().count(); +sum += sstable.getEstimatedRowSize().mean() * n; +count += n; } return count 0 ? sum / count : 0; }
[4/6] git commit: Merge branch 'cassandra-1.2' into cassandra-2.0
Merge branch 'cassandra-1.2' into cassandra-2.0 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/56a615d7 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/56a615d7 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/56a615d7 Branch: refs/heads/trunk Commit: 56a615d7397a937b8f6586fe2ecc79cfc2da28f0 Parents: 3d5b5c3 beefd0b Author: Jonathan Ellis jbel...@apache.org Authored: Fri Feb 7 10:18:31 2014 -0600 Committer: Jonathan Ellis jbel...@apache.org Committed: Fri Feb 7 10:18:31 2014 -0600 -- CHANGES.txt | 1 + src/java/org/apache/cassandra/db/ColumnFamilyStoreMBean.java | 2 +- src/java/org/apache/cassandra/db/DataTracker.java | 7 --- .../org/apache/cassandra/metrics/ColumnFamilyMetrics.java | 5 +++-- 4 files changed, 9 insertions(+), 6 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/56a615d7/CHANGES.txt -- diff --cc CHANGES.txt index 85c6533,5511e01..94cd19c --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,42 -1,24 +1,43 @@@ -1.2.16 +2.0.6 + * Failure detector correctly converts initial value to nanos (CASSANDRA-6658) + * Add nodetool taketoken to relocate vnodes (CASSANDRA-4445) + * Fix upgradesstables NPE for non-CF-based indexes (CASSANDRA-6645) + * Improve nodetool cfhistograms formatting (CASSANDRA-6360) + * Expose bulk loading progress over JMX (CASSANDRA-4757) + * Correctly handle null with IF conditions and TTL (CASSANDRA-6623) + * Account for range/row tombstones in tombstone drop + time histogram (CASSANDRA-6522) +Merged from 1.2: * Fix upgradesstables NPE for non-CF-based indexes (CASSANDRA-6645) * Fix partition and range deletes not triggering flush (CASSANDRA-6655) + * Fix mean cells and mean row size per sstable calculations (CASSANDRA-6667) - -1.2.15 - * Move handling of migration event source to solve bootstrap race (CASSANDRA-6648) - * Make sure compaction throughput value doesn't overflow with int math (CASSANDRA-6647) - - -1.2.14 - * Reverted code to limit CQL prepared statement cache by size (CASSANDRA-6592) - * add cassandra.default_messaging_version property to allow easier - upgrading from 1.1 (CASSANDRA-6619) - * Allow executing CREATE statements multiple times (CASSANDRA-6471) - * Don't send confusing info with timeouts (CASSANDRA-6491) - * Don't resubmit counter mutation runnables internally (CASSANDRA-6427) - * Don't drop local mutations without a hint (CASSANDRA-6510) - * Don't allow null max_hint_window_in_ms (CASSANDRA-6419) - * Validate SliceRange start and finish lengths (CASSANDRA-6521) +2.0.5 + * Reduce garbage generated by bloom filter lookups (CASSANDRA-6609) + * Add ks.cf names to tombstone logging (CASSANDRA-6597) + * Use LOCAL_QUORUM for LWT operations at LOCAL_SERIAL (CASSANDRA-6495) + * Wait for gossip to settle before accepting client connections (CASSANDRA-4288) + * Delete unfinished compaction incrementally (CASSANDRA-6086) + * Allow specifying custom secondary index options in CQL3 (CASSANDRA-6480) + * Improve replica pinning for cache efficiency in DES (CASSANDRA-6485) + * Fix LOCAL_SERIAL from thrift (CASSANDRA-6584) + * Don't special case received counts in CAS timeout exceptions (CASSANDRA-6595) + * Add support for 2.1 global counter shards (CASSANDRA-6505) + * Fix NPE when streaming connection is not yet established (CASSANDRA-6210) + * Avoid rare duplicate read repair triggering (CASSANDRA-6606) + * Fix paging discardFirst (CASSANDRA-6555) + * Fix ArrayIndexOutOfBoundsException in 2ndary index query (CASSANDRA-6470) + * Release sstables upon rebuilding 2i (CASSANDRA-6635) + * Add AbstractCompactionStrategy.startup() method (CASSANDRA-6637) + * SSTableScanner may skip rows during cleanup (CASSANDRA-6638) + * sstables from stalled repair sessions can resurrect deleted data (CASSANDRA-6503) + * Switch stress to use ITransportFactory (CASSANDRA-6641) + * Fix IllegalArgumentException during prepare (CASSANDRA-6592) + * Fix possible loss of 2ndary index entries during compaction (CASSANDRA-6517) + * Fix direct Memory on architectures that do not support unaligned long access + (CASSANDRA-6628) + * Let scrub optionally skip broken counter partitions (CASSANDRA-5930) +Merged from 1.2: * fsync compression metadata (CASSANDRA-6531) * Validate CF existence on execution for prepared statement (CASSANDRA-6535) * Add ability to throttle batchlog replay (CASSANDRA-6550) http://git-wip-us.apache.org/repos/asf/cassandra/blob/56a615d7/src/java/org/apache/cassandra/db/ColumnFamilyStoreMBean.java --
[3/6] git commit: Fix mean cells and mean row size per sstable calculations patch by Paulo Gaspar, jbellis, and Marcus Eriksson for CASSANDRA-6667
Fix mean cells and mean row size per sstable calculations patch by Paulo Gaspar, jbellis, and Marcus Eriksson for CASSANDRA-6667 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/beefd0b8 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/beefd0b8 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/beefd0b8 Branch: refs/heads/trunk Commit: beefd0b8cc91054a559cdecfe5d972dffb20e0e7 Parents: 31414fb Author: Jonathan Ellis jbel...@apache.org Authored: Fri Feb 7 10:17:04 2014 -0600 Committer: Jonathan Ellis jbel...@apache.org Committed: Fri Feb 7 10:18:21 2014 -0600 -- CHANGES.txt | 1 + src/java/org/apache/cassandra/db/ColumnFamilyStoreMBean.java | 2 +- src/java/org/apache/cassandra/db/DataTracker.java | 7 --- .../org/apache/cassandra/metrics/ColumnFamilyMetrics.java | 5 +++-- 4 files changed, 9 insertions(+), 6 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/beefd0b8/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 4be97f1..5511e01 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,6 +1,7 @@ 1.2.16 * Fix upgradesstables NPE for non-CF-based indexes (CASSANDRA-6645) * Fix partition and range deletes not triggering flush (CASSANDRA-6655) + * Fix mean cells and mean row size per sstable calculations (CASSANDRA-6667) 1.2.15 http://git-wip-us.apache.org/repos/asf/cassandra/blob/beefd0b8/src/java/org/apache/cassandra/db/ColumnFamilyStoreMBean.java -- diff --git a/src/java/org/apache/cassandra/db/ColumnFamilyStoreMBean.java b/src/java/org/apache/cassandra/db/ColumnFamilyStoreMBean.java index 9ee7568..86bd860 100644 --- a/src/java/org/apache/cassandra/db/ColumnFamilyStoreMBean.java +++ b/src/java/org/apache/cassandra/db/ColumnFamilyStoreMBean.java @@ -194,7 +194,7 @@ public interface ColumnFamilyStoreMBean /** * @see org.apache.cassandra.metrics.ColumnFamilyMetrics#meanRowSize - * @return the size of the smallest compacted row + * @return the average row size across all the sstables */ @Deprecated public long getMeanRowSize(); http://git-wip-us.apache.org/repos/asf/cassandra/blob/beefd0b8/src/java/org/apache/cassandra/db/DataTracker.java -- diff --git a/src/java/org/apache/cassandra/db/DataTracker.java b/src/java/org/apache/cassandra/db/DataTracker.java index b128abb..3e271d3 100644 --- a/src/java/org/apache/cassandra/db/DataTracker.java +++ b/src/java/org/apache/cassandra/db/DataTracker.java @@ -389,11 +389,12 @@ public class DataTracker public int getMeanColumns() { long sum = 0; -int count = 0; +long count = 0; for (SSTableReader sstable : getSSTables()) { -sum += sstable.getEstimatedColumnCount().mean(); -count++; +long n = sstable.getEstimatedColumnCount().count(); +sum += sstable.getEstimatedColumnCount().mean() * n; +count += n; } return count 0 ? (int) (sum / count) : 0; } http://git-wip-us.apache.org/repos/asf/cassandra/blob/beefd0b8/src/java/org/apache/cassandra/metrics/ColumnFamilyMetrics.java -- diff --git a/src/java/org/apache/cassandra/metrics/ColumnFamilyMetrics.java b/src/java/org/apache/cassandra/metrics/ColumnFamilyMetrics.java index cb13c22..a665365 100644 --- a/src/java/org/apache/cassandra/metrics/ColumnFamilyMetrics.java +++ b/src/java/org/apache/cassandra/metrics/ColumnFamilyMetrics.java @@ -213,8 +213,9 @@ public class ColumnFamilyMetrics long count = 0; for (SSTableReader sstable : cfs.getSSTables()) { -sum += sstable.getEstimatedRowSize().mean(); -count++; +long n = sstable.getEstimatedRowSize().count(); +sum += sstable.getEstimatedRowSize().mean() * n; +count += n; } return count 0 ? sum / count : 0; }
[2/6] git commit: Compact hints after partial replay to clean out tombstones patch by jbellis; reviewed by ayeschenko for CASSANDRA-6666
Compact hints after partial replay to clean out tombstones patch by jbellis; reviewed by ayeschenko for CASSANDRA- Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/ab5372f0 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ab5372f0 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ab5372f0 Branch: refs/heads/cassandra-2.0 Commit: ab5372f0f3b3650556242a21a9d463b4f1e93efd Parents: beefd0b Author: Jonathan Ellis jbel...@apache.org Authored: Fri Feb 7 10:30:20 2014 -0600 Committer: Jonathan Ellis jbel...@apache.org Committed: Fri Feb 7 10:30:20 2014 -0600 -- CHANGES.txt | 1 + .../cassandra/db/HintedHandOffManager.java | 26 2 files changed, 17 insertions(+), 10 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/ab5372f0/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 5511e01..82783f8 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -2,6 +2,7 @@ * Fix upgradesstables NPE for non-CF-based indexes (CASSANDRA-6645) * Fix partition and range deletes not triggering flush (CASSANDRA-6655) * Fix mean cells and mean row size per sstable calculations (CASSANDRA-6667) + * Compact hints after partial replay to clean out tombstones (CASSANDRA-) 1.2.15 http://git-wip-us.apache.org/repos/asf/cassandra/blob/ab5372f0/src/java/org/apache/cassandra/db/HintedHandOffManager.java -- diff --git a/src/java/org/apache/cassandra/db/HintedHandOffManager.java b/src/java/org/apache/cassandra/db/HintedHandOffManager.java index ede49e4..b1ccbc3 100644 --- a/src/java/org/apache/cassandra/db/HintedHandOffManager.java +++ b/src/java/org/apache/cassandra/db/HintedHandOffManager.java @@ -309,6 +309,7 @@ public class HintedHandOffManager implements HintedHandOffManagerMBean / (StorageService.instance.getTokenMetadata().getAllEndpoints().size() - 1); RateLimiter rateLimiter = RateLimiter.create(throttleInKB == 0 ? Double.MAX_VALUE : throttleInKB * 1024); +boolean finished = false; delivery: while (true) { @@ -323,13 +324,17 @@ public class HintedHandOffManager implements HintedHandOffManagerMBean (int) (System.currentTimeMillis() / 1000)); if (pagingFinished(hintsPage, startColumn)) +{ +logger.info(Finished hinted handoff of {} rows to endpoint {}, rowsReplayed, endpoint); +finished = true; break; +} // check if node is still alive and we should continue delivery process if (!FailureDetector.instance.isAlive(endpoint)) { logger.info(Endpoint {} died during hint delivery; aborting ({} delivered), endpoint, rowsReplayed); -return; +break; } ListWriteResponseHandler responseHandlers = Lists.newArrayList(); @@ -420,20 +425,21 @@ public class HintedHandOffManager implements HintedHandOffManagerMBean catch (WriteTimeoutException e) { logger.info(Timed out replaying hints to {}; aborting ({} delivered), endpoint, rowsReplayed); -return; +break delivery; } } } -logger.info(Finished hinted handoff of {} rows to endpoint {}, rowsReplayed, endpoint); - -try +if (finished || rowsReplayed.get() = DatabaseDescriptor.getTombstoneDebugThreshold()) { -compact().get(); -} -catch (Exception e) -{ -throw new RuntimeException(e); +try +{ +compact().get(); +} +catch (Exception e) +{ +throw new RuntimeException(e); +} } }
[5/6] git commit: Merge branch 'cassandra-1.2' into cassandra-2.0
Merge branch 'cassandra-1.2' into cassandra-2.0 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/fe571421 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/fe571421 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/fe571421 Branch: refs/heads/cassandra-2.0 Commit: fe571421dadea7e8a904a7b5b3127cd6b71263a8 Parents: 56a615d ab5372f Author: Jonathan Ellis jbel...@apache.org Authored: Fri Feb 7 10:30:30 2014 -0600 Committer: Jonathan Ellis jbel...@apache.org Committed: Fri Feb 7 10:30:50 2014 -0600 -- CHANGES.txt | 1 + .../cassandra/db/HintedHandOffManager.java | 26 2 files changed, 17 insertions(+), 10 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/fe571421/CHANGES.txt -- diff --cc CHANGES.txt index 94cd19c,82783f8..d32490e --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -11,33 -2,24 +11,34 @@@ Merged from 1.2 * Fix upgradesstables NPE for non-CF-based indexes (CASSANDRA-6645) * Fix partition and range deletes not triggering flush (CASSANDRA-6655) * Fix mean cells and mean row size per sstable calculations (CASSANDRA-6667) + * Compact hints after partial replay to clean out tombstones (CASSANDRA-) - -1.2.15 - * Move handling of migration event source to solve bootstrap race (CASSANDRA-6648) - * Make sure compaction throughput value doesn't overflow with int math (CASSANDRA-6647) - - -1.2.14 - * Reverted code to limit CQL prepared statement cache by size (CASSANDRA-6592) - * add cassandra.default_messaging_version property to allow easier - upgrading from 1.1 (CASSANDRA-6619) - * Allow executing CREATE statements multiple times (CASSANDRA-6471) - * Don't send confusing info with timeouts (CASSANDRA-6491) - * Don't resubmit counter mutation runnables internally (CASSANDRA-6427) - * Don't drop local mutations without a hint (CASSANDRA-6510) - * Don't allow null max_hint_window_in_ms (CASSANDRA-6419) - * Validate SliceRange start and finish lengths (CASSANDRA-6521) +2.0.5 + * Reduce garbage generated by bloom filter lookups (CASSANDRA-6609) + * Add ks.cf names to tombstone logging (CASSANDRA-6597) + * Use LOCAL_QUORUM for LWT operations at LOCAL_SERIAL (CASSANDRA-6495) + * Wait for gossip to settle before accepting client connections (CASSANDRA-4288) + * Delete unfinished compaction incrementally (CASSANDRA-6086) + * Allow specifying custom secondary index options in CQL3 (CASSANDRA-6480) + * Improve replica pinning for cache efficiency in DES (CASSANDRA-6485) + * Fix LOCAL_SERIAL from thrift (CASSANDRA-6584) + * Don't special case received counts in CAS timeout exceptions (CASSANDRA-6595) + * Add support for 2.1 global counter shards (CASSANDRA-6505) + * Fix NPE when streaming connection is not yet established (CASSANDRA-6210) + * Avoid rare duplicate read repair triggering (CASSANDRA-6606) + * Fix paging discardFirst (CASSANDRA-6555) + * Fix ArrayIndexOutOfBoundsException in 2ndary index query (CASSANDRA-6470) + * Release sstables upon rebuilding 2i (CASSANDRA-6635) + * Add AbstractCompactionStrategy.startup() method (CASSANDRA-6637) + * SSTableScanner may skip rows during cleanup (CASSANDRA-6638) + * sstables from stalled repair sessions can resurrect deleted data (CASSANDRA-6503) + * Switch stress to use ITransportFactory (CASSANDRA-6641) + * Fix IllegalArgumentException during prepare (CASSANDRA-6592) + * Fix possible loss of 2ndary index entries during compaction (CASSANDRA-6517) + * Fix direct Memory on architectures that do not support unaligned long access + (CASSANDRA-6628) + * Let scrub optionally skip broken counter partitions (CASSANDRA-5930) +Merged from 1.2: * fsync compression metadata (CASSANDRA-6531) * Validate CF existence on execution for prepared statement (CASSANDRA-6535) * Add ability to throttle batchlog replay (CASSANDRA-6550) http://git-wip-us.apache.org/repos/asf/cassandra/blob/fe571421/src/java/org/apache/cassandra/db/HintedHandOffManager.java -- diff --cc src/java/org/apache/cassandra/db/HintedHandOffManager.java index 40d5aaa,b1ccbc3..b9914a6 --- a/src/java/org/apache/cassandra/db/HintedHandOffManager.java +++ b/src/java/org/apache/cassandra/db/HintedHandOffManager.java @@@ -367,13 -318,17 +368,17 @@@ public class HintedHandOffManager imple startColumn, ByteBufferUtil.EMPTY_BYTE_BUFFER, false, -pageSize); +
[4/6] git commit: Merge branch 'cassandra-1.2' into cassandra-2.0
Merge branch 'cassandra-1.2' into cassandra-2.0 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/fe571421 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/fe571421 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/fe571421 Branch: refs/heads/trunk Commit: fe571421dadea7e8a904a7b5b3127cd6b71263a8 Parents: 56a615d ab5372f Author: Jonathan Ellis jbel...@apache.org Authored: Fri Feb 7 10:30:30 2014 -0600 Committer: Jonathan Ellis jbel...@apache.org Committed: Fri Feb 7 10:30:50 2014 -0600 -- CHANGES.txt | 1 + .../cassandra/db/HintedHandOffManager.java | 26 2 files changed, 17 insertions(+), 10 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/fe571421/CHANGES.txt -- diff --cc CHANGES.txt index 94cd19c,82783f8..d32490e --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -11,33 -2,24 +11,34 @@@ Merged from 1.2 * Fix upgradesstables NPE for non-CF-based indexes (CASSANDRA-6645) * Fix partition and range deletes not triggering flush (CASSANDRA-6655) * Fix mean cells and mean row size per sstable calculations (CASSANDRA-6667) + * Compact hints after partial replay to clean out tombstones (CASSANDRA-) - -1.2.15 - * Move handling of migration event source to solve bootstrap race (CASSANDRA-6648) - * Make sure compaction throughput value doesn't overflow with int math (CASSANDRA-6647) - - -1.2.14 - * Reverted code to limit CQL prepared statement cache by size (CASSANDRA-6592) - * add cassandra.default_messaging_version property to allow easier - upgrading from 1.1 (CASSANDRA-6619) - * Allow executing CREATE statements multiple times (CASSANDRA-6471) - * Don't send confusing info with timeouts (CASSANDRA-6491) - * Don't resubmit counter mutation runnables internally (CASSANDRA-6427) - * Don't drop local mutations without a hint (CASSANDRA-6510) - * Don't allow null max_hint_window_in_ms (CASSANDRA-6419) - * Validate SliceRange start and finish lengths (CASSANDRA-6521) +2.0.5 + * Reduce garbage generated by bloom filter lookups (CASSANDRA-6609) + * Add ks.cf names to tombstone logging (CASSANDRA-6597) + * Use LOCAL_QUORUM for LWT operations at LOCAL_SERIAL (CASSANDRA-6495) + * Wait for gossip to settle before accepting client connections (CASSANDRA-4288) + * Delete unfinished compaction incrementally (CASSANDRA-6086) + * Allow specifying custom secondary index options in CQL3 (CASSANDRA-6480) + * Improve replica pinning for cache efficiency in DES (CASSANDRA-6485) + * Fix LOCAL_SERIAL from thrift (CASSANDRA-6584) + * Don't special case received counts in CAS timeout exceptions (CASSANDRA-6595) + * Add support for 2.1 global counter shards (CASSANDRA-6505) + * Fix NPE when streaming connection is not yet established (CASSANDRA-6210) + * Avoid rare duplicate read repair triggering (CASSANDRA-6606) + * Fix paging discardFirst (CASSANDRA-6555) + * Fix ArrayIndexOutOfBoundsException in 2ndary index query (CASSANDRA-6470) + * Release sstables upon rebuilding 2i (CASSANDRA-6635) + * Add AbstractCompactionStrategy.startup() method (CASSANDRA-6637) + * SSTableScanner may skip rows during cleanup (CASSANDRA-6638) + * sstables from stalled repair sessions can resurrect deleted data (CASSANDRA-6503) + * Switch stress to use ITransportFactory (CASSANDRA-6641) + * Fix IllegalArgumentException during prepare (CASSANDRA-6592) + * Fix possible loss of 2ndary index entries during compaction (CASSANDRA-6517) + * Fix direct Memory on architectures that do not support unaligned long access + (CASSANDRA-6628) + * Let scrub optionally skip broken counter partitions (CASSANDRA-5930) +Merged from 1.2: * fsync compression metadata (CASSANDRA-6531) * Validate CF existence on execution for prepared statement (CASSANDRA-6535) * Add ability to throttle batchlog replay (CASSANDRA-6550) http://git-wip-us.apache.org/repos/asf/cassandra/blob/fe571421/src/java/org/apache/cassandra/db/HintedHandOffManager.java -- diff --cc src/java/org/apache/cassandra/db/HintedHandOffManager.java index 40d5aaa,b1ccbc3..b9914a6 --- a/src/java/org/apache/cassandra/db/HintedHandOffManager.java +++ b/src/java/org/apache/cassandra/db/HintedHandOffManager.java @@@ -367,13 -318,17 +368,17 @@@ public class HintedHandOffManager imple startColumn, ByteBufferUtil.EMPTY_BYTE_BUFFER, false, -pageSize); +
[1/6] git commit: Compact hints after partial replay to clean out tombstones patch by jbellis; reviewed by ayeschenko for CASSANDRA-6666
Updated Branches: refs/heads/cassandra-1.2 beefd0b8c - ab5372f0f refs/heads/cassandra-2.0 56a615d73 - fe571421d refs/heads/trunk ef6d42cfc - 65e09fa5b Compact hints after partial replay to clean out tombstones patch by jbellis; reviewed by ayeschenko for CASSANDRA- Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/ab5372f0 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ab5372f0 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ab5372f0 Branch: refs/heads/cassandra-1.2 Commit: ab5372f0f3b3650556242a21a9d463b4f1e93efd Parents: beefd0b Author: Jonathan Ellis jbel...@apache.org Authored: Fri Feb 7 10:30:20 2014 -0600 Committer: Jonathan Ellis jbel...@apache.org Committed: Fri Feb 7 10:30:20 2014 -0600 -- CHANGES.txt | 1 + .../cassandra/db/HintedHandOffManager.java | 26 2 files changed, 17 insertions(+), 10 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/ab5372f0/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 5511e01..82783f8 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -2,6 +2,7 @@ * Fix upgradesstables NPE for non-CF-based indexes (CASSANDRA-6645) * Fix partition and range deletes not triggering flush (CASSANDRA-6655) * Fix mean cells and mean row size per sstable calculations (CASSANDRA-6667) + * Compact hints after partial replay to clean out tombstones (CASSANDRA-) 1.2.15 http://git-wip-us.apache.org/repos/asf/cassandra/blob/ab5372f0/src/java/org/apache/cassandra/db/HintedHandOffManager.java -- diff --git a/src/java/org/apache/cassandra/db/HintedHandOffManager.java b/src/java/org/apache/cassandra/db/HintedHandOffManager.java index ede49e4..b1ccbc3 100644 --- a/src/java/org/apache/cassandra/db/HintedHandOffManager.java +++ b/src/java/org/apache/cassandra/db/HintedHandOffManager.java @@ -309,6 +309,7 @@ public class HintedHandOffManager implements HintedHandOffManagerMBean / (StorageService.instance.getTokenMetadata().getAllEndpoints().size() - 1); RateLimiter rateLimiter = RateLimiter.create(throttleInKB == 0 ? Double.MAX_VALUE : throttleInKB * 1024); +boolean finished = false; delivery: while (true) { @@ -323,13 +324,17 @@ public class HintedHandOffManager implements HintedHandOffManagerMBean (int) (System.currentTimeMillis() / 1000)); if (pagingFinished(hintsPage, startColumn)) +{ +logger.info(Finished hinted handoff of {} rows to endpoint {}, rowsReplayed, endpoint); +finished = true; break; +} // check if node is still alive and we should continue delivery process if (!FailureDetector.instance.isAlive(endpoint)) { logger.info(Endpoint {} died during hint delivery; aborting ({} delivered), endpoint, rowsReplayed); -return; +break; } ListWriteResponseHandler responseHandlers = Lists.newArrayList(); @@ -420,20 +425,21 @@ public class HintedHandOffManager implements HintedHandOffManagerMBean catch (WriteTimeoutException e) { logger.info(Timed out replaying hints to {}; aborting ({} delivered), endpoint, rowsReplayed); -return; +break delivery; } } } -logger.info(Finished hinted handoff of {} rows to endpoint {}, rowsReplayed, endpoint); - -try +if (finished || rowsReplayed.get() = DatabaseDescriptor.getTombstoneDebugThreshold()) { -compact().get(); -} -catch (Exception e) -{ -throw new RuntimeException(e); +try +{ +compact().get(); +} +catch (Exception e) +{ +throw new RuntimeException(e); +} } }
[6/6] git commit: Merge branch 'cassandra-2.0' into trunk
Merge branch 'cassandra-2.0' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/65e09fa5 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/65e09fa5 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/65e09fa5 Branch: refs/heads/trunk Commit: 65e09fa5ba071f6e72987a4967b2470c9337 Parents: ef6d42c fe57142 Author: Jonathan Ellis jbel...@apache.org Authored: Fri Feb 7 10:30:56 2014 -0600 Committer: Jonathan Ellis jbel...@apache.org Committed: Fri Feb 7 10:30:56 2014 -0600 -- CHANGES.txt | 1 + .../cassandra/db/HintedHandOffManager.java | 26 2 files changed, 17 insertions(+), 10 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/65e09fa5/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/65e09fa5/src/java/org/apache/cassandra/db/HintedHandOffManager.java --
[2/6] git commit: fix race in LeaveAndBootstrapTest
fix race in LeaveAndBootstrapTest Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/2dd55c7d Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/2dd55c7d Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/2dd55c7d Branch: refs/heads/cassandra-2.0 Commit: 2dd55c7d31829b7746201fd86b647296b0c8ae58 Parents: ab5372f Author: Brandon Williams brandonwilli...@apache.org Authored: Fri Feb 7 10:37:36 2014 -0600 Committer: Brandon Williams brandonwilli...@apache.org Committed: Fri Feb 7 10:37:53 2014 -0600 -- test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java | 1 + 1 file changed, 1 insertion(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/2dd55c7d/test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java -- diff --git a/test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java b/test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java index de7958f..c8a634a 100644 --- a/test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java +++ b/test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java @@ -108,6 +108,7 @@ public class LeaveAndBootstrapTest valueFactory.leaving(Collections.singleton(endpointTokens.get(LEAVING_NODE; assertTrue(tmd.isLeaving(hosts.get(LEAVING_NODE))); +Thread.sleep(100); // because there is a tight race between submit and blockUntilFinished PendingRangeCalculatorService.instance.blockUntilFinished(); AbstractReplicationStrategy strategy;
[1/6] git commit: fix race in LeaveAndBootstrapTest
Updated Branches: refs/heads/cassandra-1.2 ab5372f0f - 2dd55c7d3 refs/heads/cassandra-2.0 fe571421d - 7407cf981 refs/heads/trunk 65e09fa5b - 4c0b4fa2e fix race in LeaveAndBootstrapTest Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/2dd55c7d Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/2dd55c7d Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/2dd55c7d Branch: refs/heads/cassandra-1.2 Commit: 2dd55c7d31829b7746201fd86b647296b0c8ae58 Parents: ab5372f Author: Brandon Williams brandonwilli...@apache.org Authored: Fri Feb 7 10:37:36 2014 -0600 Committer: Brandon Williams brandonwilli...@apache.org Committed: Fri Feb 7 10:37:53 2014 -0600 -- test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java | 1 + 1 file changed, 1 insertion(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/2dd55c7d/test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java -- diff --git a/test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java b/test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java index de7958f..c8a634a 100644 --- a/test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java +++ b/test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java @@ -108,6 +108,7 @@ public class LeaveAndBootstrapTest valueFactory.leaving(Collections.singleton(endpointTokens.get(LEAVING_NODE; assertTrue(tmd.isLeaving(hosts.get(LEAVING_NODE))); +Thread.sleep(100); // because there is a tight race between submit and blockUntilFinished PendingRangeCalculatorService.instance.blockUntilFinished(); AbstractReplicationStrategy strategy;
[3/6] git commit: fix race in LeaveAndBootstrapTest
fix race in LeaveAndBootstrapTest Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/2dd55c7d Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/2dd55c7d Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/2dd55c7d Branch: refs/heads/trunk Commit: 2dd55c7d31829b7746201fd86b647296b0c8ae58 Parents: ab5372f Author: Brandon Williams brandonwilli...@apache.org Authored: Fri Feb 7 10:37:36 2014 -0600 Committer: Brandon Williams brandonwilli...@apache.org Committed: Fri Feb 7 10:37:53 2014 -0600 -- test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java | 1 + 1 file changed, 1 insertion(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/2dd55c7d/test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java -- diff --git a/test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java b/test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java index de7958f..c8a634a 100644 --- a/test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java +++ b/test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java @@ -108,6 +108,7 @@ public class LeaveAndBootstrapTest valueFactory.leaving(Collections.singleton(endpointTokens.get(LEAVING_NODE; assertTrue(tmd.isLeaving(hosts.get(LEAVING_NODE))); +Thread.sleep(100); // because there is a tight race between submit and blockUntilFinished PendingRangeCalculatorService.instance.blockUntilFinished(); AbstractReplicationStrategy strategy;
[6/8] git commit: Fix unwanted schema pull while upgrading nodes from 1.2 to 2.0 Patch by Sergio Bossa, reviewed by brandonwilliams for CASSANDRA-6678
Fix unwanted schema pull while upgrading nodes from 1.2 to 2.0 Patch by Sergio Bossa, reviewed by brandonwilliams for CASSANDRA-6678 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/9e0700c0 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/9e0700c0 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/9e0700c0 Branch: refs/heads/trunk Commit: 9e0700c07e643c3eaf0a7687aab92f02a32d1899 Parents: fe5de33 Author: Brandon Williams brandonwilli...@apache.org Authored: Fri Feb 7 08:35:20 2014 -0600 Committer: Brandon Williams brandonwilli...@apache.org Committed: Fri Feb 7 08:35:20 2014 -0600 -- src/java/org/apache/cassandra/service/MigrationManager.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/9e0700c0/src/java/org/apache/cassandra/service/MigrationManager.java -- diff --git a/src/java/org/apache/cassandra/service/MigrationManager.java b/src/java/org/apache/cassandra/service/MigrationManager.java index b463116..fdcefe4 100644 --- a/src/java/org/apache/cassandra/service/MigrationManager.java +++ b/src/java/org/apache/cassandra/service/MigrationManager.java @@ -137,8 +137,9 @@ public class MigrationManager * Don't request schema from nodes with a higher major (may have incompatible schema) * Don't request schema from fat clients */ -return MessagingService.instance().getVersion(endpoint) = MessagingService.current_version - !Gossiper.instance.isFatClient(endpoint); +return MessagingService.instance().knowsVersion(endpoint) + MessagingService.instance().getVersion(endpoint) = MessagingService.current_version + !Gossiper.instance.isFatClient(endpoint); } public static boolean isReadyForBootstrap()
[6/6] git commit: Merge branch 'cassandra-2.0' into trunk
Merge branch 'cassandra-2.0' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/4c0b4fa2 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/4c0b4fa2 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/4c0b4fa2 Branch: refs/heads/trunk Commit: 4c0b4fa2e5a65be804d8179c376d672a42f4882b Parents: 65e09fa 7407cf9 Author: Brandon Williams brandonwilli...@apache.org Authored: Fri Feb 7 10:38:10 2014 -0600 Committer: Brandon Williams brandonwilli...@apache.org Committed: Fri Feb 7 10:38:10 2014 -0600 -- test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java | 1 + 1 file changed, 1 insertion(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/4c0b4fa2/test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java --
[4/6] git commit: Merge branch 'cassandra-1.2' into cassandra-2.0
Merge branch 'cassandra-1.2' into cassandra-2.0 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/7407cf98 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/7407cf98 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/7407cf98 Branch: refs/heads/trunk Commit: 7407cf981b928886a868cb82f899a99dd03fe612 Parents: fe57142 2dd55c7 Author: Brandon Williams brandonwilli...@apache.org Authored: Fri Feb 7 10:38:00 2014 -0600 Committer: Brandon Williams brandonwilli...@apache.org Committed: Fri Feb 7 10:38:00 2014 -0600 -- test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java | 1 + 1 file changed, 1 insertion(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/7407cf98/test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java --
[5/6] git commit: Merge branch 'cassandra-1.2' into cassandra-2.0
Merge branch 'cassandra-1.2' into cassandra-2.0 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/7407cf98 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/7407cf98 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/7407cf98 Branch: refs/heads/cassandra-2.0 Commit: 7407cf981b928886a868cb82f899a99dd03fe612 Parents: fe57142 2dd55c7 Author: Brandon Williams brandonwilli...@apache.org Authored: Fri Feb 7 10:38:00 2014 -0600 Committer: Brandon Williams brandonwilli...@apache.org Committed: Fri Feb 7 10:38:00 2014 -0600 -- test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java | 1 + 1 file changed, 1 insertion(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/7407cf98/test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java --
[jira] [Resolved] (CASSANDRA-6670) LeaveAndBootstrapTest occasional failure reproduced in 2.0
[ https://issues.apache.org/jira/browse/CASSANDRA-6670?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Brandon Williams resolved CASSANDRA-6670. - Resolution: Fixed LeaveAndBootstrapTest occasional failure reproduced in 2.0 -- Key: CASSANDRA-6670 URL: https://issues.apache.org/jira/browse/CASSANDRA-6670 Project: Cassandra Issue Type: Test Components: Tests Environment: Debian Stable (Wheezy) amd64 Oracle JVM 1.7.0_51-b13 (and 1.7.0_45-b18) Reporter: Michael Shuler Assignee: Brandon Williams Priority: Minor Attachments: system.log, test.sh {noformat} Run #122 Buildfile: /home/mshuler/git/cassandra/build.xml init: maven-ant-tasks-localrepo: maven-ant-tasks-download: maven-ant-tasks-init: maven-declare-dependencies: maven-ant-tasks-retrieve-build: init-dependencies: [echo] Loading dependency paths from file: /home/mshuler/git/cassandra/build/build-dependencies.xml check-gen-cli-grammar: gen-cli-grammar: check-gen-cql2-grammar: gen-cql2-grammar: check-gen-cql3-grammar: gen-cql3-grammar: build-project: [echo] apache-cassandra: /home/mshuler/git/cassandra/build.xml createVersionPropFile: [propertyfile] Updating property file: /home/mshuler/git/cassandra/src/resources/org/apache/cassandra/config/version.properties [copy] Copying 1 file to /home/mshuler/git/cassandra/build/classes/main build: build-test: test: [echo] running unit tests [junit] WARNING: multiple versions of ant detected in path for junit [junit] jar:file:/usr/share/ant/lib/ant.jar!/org/apache/tools/ant/Project.class [junit] and jar:file:/home/mshuler/git/cassandra/build/lib/jars/ant-1.6.5.jar!/org/apache/tools/ant/Project.class [junit] Testsuite: org.apache.cassandra.service.LeaveAndBootstrapTest [junit] Tests run: 8, Failures: 1, Errors: 0, Time elapsed: 7.054 sec [junit] [junit] - Standard Error - [junit] WARN 22:14:26,870 Node /127.0.0.3 'leaving' token mismatch. Long network partition? [junit] - --- [junit] Testcase: newTestWriteEndpointsDuringLeave(org.apache.cassandra.service.LeaveAndBootstrapTest): FAILED [junit] mismatched endpoint sets expected:[/127.0.0.4, /127.0.0.5] but was:[/127.0.0.4] [junit] junit.framework.AssertionFailedError: mismatched endpoint sets expected:[/127.0.0.4, /127.0.0.5] but was:[/127.0.0.4] [junit] at org.apache.cassandra.service.LeaveAndBootstrapTest.newTestWriteEndpointsDuringLeave(LeaveAndBootstrapTest.java:134) [junit] [junit] [junit] Test org.apache.cassandra.service.LeaveAndBootstrapTest FAILED BUILD FAILED /home/mshuler/git/cassandra/build.xml:1079: The following error occurred while executing this line: /home/mshuler/git/cassandra/build.xml:1038: Some unit test(s) failed. Total time: 10 seconds {noformat} - test.sh attached - system.log from failed test attached -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Commented] (CASSANDRA-6670) LeaveAndBootstrapTest occasional failure reproduced in 2.0
[ https://issues.apache.org/jira/browse/CASSANDRA-6670?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13894703#comment-13894703 ] Brandon Williams commented on CASSANDRA-6670: - I added some extra debug logging in PRCS.submit and PRCS.blockUntilFinished, and we can see that there is a occasionally very small window where the block instantly returns after submission before PRC is done: {noformat} DEBUG [main] 2014-02-07 03:44:31,503 PendingRangeCalculatorService.java (line 75) submitting update DEBUG [main] 2014-02-07 03:44:31,503 PendingRangeCalculatorService.java (line 85) calc done, breaking {noformat} This is going to be impossible in actual practice, but it's a problem for the test (and this does fail the same way on 1.2, as it should, since PRCS is the same there.) I think our best options come down to either a small sleep before calling blockUntilFinished or doing another submit/block, and between the two the sleep actually seems the least evil. I added a 100ms sleep before the block in 2dd55c7d3 LeaveAndBootstrapTest occasional failure reproduced in 2.0 -- Key: CASSANDRA-6670 URL: https://issues.apache.org/jira/browse/CASSANDRA-6670 Project: Cassandra Issue Type: Test Components: Tests Environment: Debian Stable (Wheezy) amd64 Oracle JVM 1.7.0_51-b13 (and 1.7.0_45-b18) Reporter: Michael Shuler Assignee: Brandon Williams Priority: Minor Attachments: system.log, test.sh {noformat} Run #122 Buildfile: /home/mshuler/git/cassandra/build.xml init: maven-ant-tasks-localrepo: maven-ant-tasks-download: maven-ant-tasks-init: maven-declare-dependencies: maven-ant-tasks-retrieve-build: init-dependencies: [echo] Loading dependency paths from file: /home/mshuler/git/cassandra/build/build-dependencies.xml check-gen-cli-grammar: gen-cli-grammar: check-gen-cql2-grammar: gen-cql2-grammar: check-gen-cql3-grammar: gen-cql3-grammar: build-project: [echo] apache-cassandra: /home/mshuler/git/cassandra/build.xml createVersionPropFile: [propertyfile] Updating property file: /home/mshuler/git/cassandra/src/resources/org/apache/cassandra/config/version.properties [copy] Copying 1 file to /home/mshuler/git/cassandra/build/classes/main build: build-test: test: [echo] running unit tests [junit] WARNING: multiple versions of ant detected in path for junit [junit] jar:file:/usr/share/ant/lib/ant.jar!/org/apache/tools/ant/Project.class [junit] and jar:file:/home/mshuler/git/cassandra/build/lib/jars/ant-1.6.5.jar!/org/apache/tools/ant/Project.class [junit] Testsuite: org.apache.cassandra.service.LeaveAndBootstrapTest [junit] Tests run: 8, Failures: 1, Errors: 0, Time elapsed: 7.054 sec [junit] [junit] - Standard Error - [junit] WARN 22:14:26,870 Node /127.0.0.3 'leaving' token mismatch. Long network partition? [junit] - --- [junit] Testcase: newTestWriteEndpointsDuringLeave(org.apache.cassandra.service.LeaveAndBootstrapTest): FAILED [junit] mismatched endpoint sets expected:[/127.0.0.4, /127.0.0.5] but was:[/127.0.0.4] [junit] junit.framework.AssertionFailedError: mismatched endpoint sets expected:[/127.0.0.4, /127.0.0.5] but was:[/127.0.0.4] [junit] at org.apache.cassandra.service.LeaveAndBootstrapTest.newTestWriteEndpointsDuringLeave(LeaveAndBootstrapTest.java:134) [junit] [junit] [junit] Test org.apache.cassandra.service.LeaveAndBootstrapTest FAILED BUILD FAILED /home/mshuler/git/cassandra/build.xml:1079: The following error occurred while executing this line: /home/mshuler/git/cassandra/build.xml:1038: Some unit test(s) failed. Total time: 10 seconds {noformat} - test.sh attached - system.log from failed test attached -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Commented] (CASSANDRA-6332) Cassandra startup failure: java.util.concurrent.ExecutionException: java.lang.RuntimeException: 706167655f74616773 is not defined as a collection
[ https://issues.apache.org/jira/browse/CASSANDRA-6332?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13894571#comment-13894571 ] Jonathan Ellis commented on CASSANDRA-6332: --- Did you drop and recreate a table with a different definition? Cassandra startup failure: java.util.concurrent.ExecutionException: java.lang.RuntimeException: 706167655f74616773 is not defined as a collection -- Key: CASSANDRA-6332 URL: https://issues.apache.org/jira/browse/CASSANDRA-6332 Project: Cassandra Issue Type: Bug Environment: Ubuntu 12.04 Cassandra 2.0.1 Reporter: Prateek Priority: Critical The cassandra node fails to startup with the following error message. This is currently impacting availability of our production cluster so your quick response is highly appreciated. ERROR 22:58:26,046 Exception encountered during startup java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.RuntimeException: 706167655f74616773 is not defined as a collection at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:411) at org.apache.cassandra.utils.FBUtilities.waitOnFutures(FBUtilities.java:400) at org.apache.cassandra.db.commitlog.CommitLogReplayer.recover(CommitLogReplayer.java:273) at org.apache.cassandra.db.commitlog.CommitLogReplayer.recover(CommitLogReplayer.java:96) at org.apache.cassandra.db.commitlog.CommitLog.recover(CommitLog.java:146) at org.apache.cassandra.db.commitlog.CommitLog.recover(CommitLog.java:126) at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:299) at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:442) at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:485) Caused by: java.util.concurrent.ExecutionException: java.lang.RuntimeException: 706167655f74616773 is not defined as a collection at java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.util.concurrent.FutureTask.get(FutureTask.java:188) at org.apache.cassandra.utils.FBUtilities.waitOnFuture(FBUtilities.java:407) ... 8 more Caused by: java.lang.RuntimeException: 706167655f74616773 is not defined as a collection at org.apache.cassandra.db.marshal.ColumnToCollectionType.compareCollectionMembers(ColumnToCollectionType.java:72) at org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:85) at org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:35) at edu.stanford.ppl.concurrent.SnapTreeMap$1.compareTo(SnapTreeMap.java:538) at edu.stanford.ppl.concurrent.SnapTreeMap.attemptUpdate(SnapTreeMap.java:1108) at edu.stanford.ppl.concurrent.SnapTreeMap.attemptUpdate(SnapTreeMap.java:1192) at edu.stanford.ppl.concurrent.SnapTreeMap.updateUnderRoot(SnapTreeMap.java:1059) at edu.stanford.ppl.concurrent.SnapTreeMap.update(SnapTreeMap.java:1023) at edu.stanford.ppl.concurrent.SnapTreeMap.putIfAbsent(SnapTreeMap.java:985) at org.apache.cassandra.db.AtomicSortedColumns$Holder.addColumn(AtomicSortedColumns.java:323) at org.apache.cassandra.db.AtomicSortedColumns.addAllWithSizeDelta(AtomicSortedColumns.java:195) at org.apache.cassandra.db.Memtable.resolve(Memtable.java:196) at org.apache.cassandra.db.Memtable.put(Memtable.java:160) at org.apache.cassandra.db.ColumnFamilyStore.apply(ColumnFamilyStore.java:842) at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:373) at org.apache.cassandra.db.Keyspace.apply(Keyspace.java:338) at org.apache.cassandra.db.commitlog.CommitLogReplayer$1.runMayThrow(CommitLogReplayer.java:265) -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Updated] (CASSANDRA-6648) Race condition during node bootstrapping
[ https://issues.apache.org/jira/browse/CASSANDRA-6648?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Robert Coli updated CASSANDRA-6648: --- Since Version: 1.2.14 Race condition during node bootstrapping Key: CASSANDRA-6648 URL: https://issues.apache.org/jira/browse/CASSANDRA-6648 Project: Cassandra Issue Type: Bug Components: Core Reporter: Sergio Bossa Assignee: Sergio Bossa Priority: Critical Fix For: 1.2.15, 2.0.5 Attachments: 6648-v2.txt, 6648-v3-1.2.txt, 6648-v3.txt, CASSANDRA-6648.patch When bootstrapping a new node, data is missing as if the new node didn't actually bootstrap, which I tracked down to the following scenario: 1) New node joins token ring and waits for schema to be settled before actually bootstrapping. 2) The schema scheck somewhat passes and it starts bootstrapping. 3) Bootstrapping doesn't find the ks/cf that should have received from the other node. 4) Queries at this point cause NPEs, until when later they recover but data is missed. The problem seems to be caused by a race condition between the migration manager and the bootstrapper, with the former running after the latter. I think this is supposed to protect against such scenarios: {noformat} while (!MigrationManager.isReadyForBootstrap()) { setMode(Mode.JOINING, waiting for schema information to complete, true); Uninterruptibles.sleepUninterruptibly(1, TimeUnit.SECONDS); } {noformat} But MigrationManager.isReadyForBootstrap() implementation is quite fragile and doesn't take into account slow schema propagation. -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Created] (CASSANDRA-6679) CleanupTest occasional failure in 1.2
Michael Shuler created CASSANDRA-6679: - Summary: CleanupTest occasional failure in 1.2 Key: CASSANDRA-6679 URL: https://issues.apache.org/jira/browse/CASSANDRA-6679 Project: Cassandra Issue Type: Test Components: Tests Environment: Debian Stable (Wheezy) amd64 Oracle JVM 1.7.0_51-b13 Reporter: Michael Shuler Priority: Minor {noformat} test: [echo] running unit tests [junit] WARNING: multiple versions of ant detected in path for junit [junit] jar:file:/usr/share/ant/lib/ant.jar!/org/apache/tools/ant/Project.class [junit] and jar:file:/home/mshuler/git/cassandra/build/lib/jars/ant-1.6.5.jar!/org/apache/tools/ant/Project.class [junit] Testsuite: org.apache.cassandra.db.CleanupTest [junit] Tests run: 2, Failures: 1, Errors: 0, Time elapsed: 6.508 sec [junit] [junit] - Standard Error - [junit] WARN 15:27:11,566 No host ID found, created e8a8a37c-56c5-49d5-8260-7a3dfc2174a7 (Note: This should happen exactly once per node). [junit] WARN 15:27:11,655 Generated random token [0850c6b26994617235bec220dd17a6d6]. Random tokens will result in an unbalanced ring; see http://wiki.apache.org/cassandra/Operations [junit] - --- [junit] Testcase: testCleanup(org.apache.cassandra.db.CleanupTest): FAILED [junit] null [junit] junit.framework.AssertionFailedError [junit] at org.apache.cassandra.db.CleanupTest.testCleanup(CleanupTest.java:87) [junit] [junit] [junit] Test org.apache.cassandra.db.CleanupTest FAILED BUILD FAILED {noformat} - loop through CleanupTest unit test (https://issues.apache.org/jira/secure/attachment/12627493/test.sh) - system.log from failed test attached -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[6/6] git commit: Merge branch 'cassandra-2.0' into trunk
Merge branch 'cassandra-2.0' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/01cf29c3 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/01cf29c3 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/01cf29c3 Branch: refs/heads/trunk Commit: 01cf29c3e9dac62495d360905323dd0dc4f9b47a Parents: 4c0b4fa 130d135 Author: Brandon Williams brandonwilli...@apache.org Authored: Fri Feb 7 13:19:50 2014 -0600 Committer: Brandon Williams brandonwilli...@apache.org Committed: Fri Feb 7 13:19:50 2014 -0600 -- build.xml | 12 1 file changed, 12 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/01cf29c3/build.xml -- diff --cc build.xml index d36b39e,bfbd8b2..d91e0e0 --- a/build.xml +++ b/build.xml @@@ -1116,10 -1084,18 +1117,21 @@@ jvmarg value=-Dcassandra.ring_delay_ms=1000/ jvmarg value=-Dcassandra.tolerate_sstable_size=true/ /testmacro +fileset dir=${test.unit.src} +exclude name=**/pig/*.java / +/fileset /target + + target name=testsome depends=build-test description=Execute specific unit tests + testmacro suitename=unit inputdir=${test.unit.src} exclude=**/pig/*.java timeout=${test.timeout} + test name=${test.name} methods=${test.methods}/ + jvmarg value=-Dlegacy-sstable-root=${test.data}/legacy-sstables/ + jvmarg value=-Dcorrupt-sstable-root=${test.data}/corrupt-sstables/ + jvmarg value=-Dmigration-sstable-root=${test.data}/migration-sstables/ + jvmarg value=-Dcassandra.ring_delay_ms=1000/ + jvmarg value=-Dcassandra.tolerate_sstable_size=true/ + /testmacro + /target target name=test-compression depends=build-test description=Execute unit tests with sstable compression enabled testmacro suitename=unit inputdir=${test.unit.src} exclude=**/pig/*.java timeout=${test.timeout}
[3/6] git commit: add target to run specific test methods
add target to run specific test methods Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/c70f6d80 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c70f6d80 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c70f6d80 Branch: refs/heads/trunk Commit: c70f6d80bd26904e0ff34136bf598d701f1ed69d Parents: 2dd55c7 Author: Brandon Williams brandonwilli...@apache.org Authored: Fri Feb 7 13:19:26 2014 -0600 Committer: Brandon Williams brandonwilli...@apache.org Committed: Fri Feb 7 13:19:26 2014 -0600 -- build.xml | 12 1 file changed, 12 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/c70f6d80/build.xml -- diff --git a/build.xml b/build.xml index ce87a2a..eaf35b5 100644 --- a/build.xml +++ b/build.xml @@ -56,6 +56,7 @@ property name=test.conf value=${test.dir}/conf/ property name=test.data value=${test.dir}/data/ property name=test.name value=*Test/ +property name=test.methods value=/ property name=test.unit.src value=${test.dir}/unit/ property name=test.long.src value=${test.dir}/long/ property name=dist.dir value=${build.dir}/dist/ @@ -1118,6 +1119,17 @@ jvmarg value=-Dcassandra.tolerate_sstable_size=true/ /testmacro /target + + target name=testsome depends=build-test description=Execute specific unit tests +testmacro suitename=unit inputdir=${test.unit.src} exclude=**/pig/*.java timeout=${test.timeout} + test name=${test.name} methods=${test.methods}/ + jvmarg value=-Dlegacy-sstable-root=${test.data}/legacy-sstables/ + jvmarg value=-Dcorrupt-sstable-root=${test.data}/corrupt-sstables/ + jvmarg value=-Dmigration-sstable-root=${test.data}/migration-sstables/ + jvmarg value=-Dcassandra.ring_delay_ms=1000/ + jvmarg value=-Dcassandra.tolerate_sstable_size=true/ +/testmacro + /target target name=test-compression depends=build-test description=Execute unit tests with sstable compression enabled testmacro suitename=unit inputdir=${test.unit.src} exclude=**/pig/*.java timeout=${test.timeout}
[4/6] git commit: Merge branch 'cassandra-1.2' into cassandra-2.0
Merge branch 'cassandra-1.2' into cassandra-2.0 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/130d135a Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/130d135a Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/130d135a Branch: refs/heads/trunk Commit: 130d135a63b213844270e3f94e5b07658ac897dd Parents: 7407cf9 c70f6d8 Author: Brandon Williams brandonwilli...@apache.org Authored: Fri Feb 7 13:19:38 2014 -0600 Committer: Brandon Williams brandonwilli...@apache.org Committed: Fri Feb 7 13:19:38 2014 -0600 -- build.xml | 12 1 file changed, 12 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/130d135a/build.xml -- diff --cc build.xml index 6804a1b,eaf35b5..bfbd8b2 --- a/build.xml +++ b/build.xml @@@ -55,13 -56,13 +55,14 @@@ property name=test.conf value=${test.dir}/conf/ property name=test.data value=${test.dir}/data/ property name=test.name value=*Test/ + property name=test.methods value=/ property name=test.unit.src value=${test.dir}/unit/ property name=test.long.src value=${test.dir}/long/ +property name=test.pig.src value=${test.dir}/pig/ property name=dist.dir value=${build.dir}/dist/ - property name=source.version value=1.6/ - property name=target.version value=1.6/ + property name=source.version value=1.7/ + property name=target.version value=1.7/ condition property=version value=${base.version} isset property=release/
[5/6] git commit: Merge branch 'cassandra-1.2' into cassandra-2.0
Merge branch 'cassandra-1.2' into cassandra-2.0 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/130d135a Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/130d135a Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/130d135a Branch: refs/heads/cassandra-2.0 Commit: 130d135a63b213844270e3f94e5b07658ac897dd Parents: 7407cf9 c70f6d8 Author: Brandon Williams brandonwilli...@apache.org Authored: Fri Feb 7 13:19:38 2014 -0600 Committer: Brandon Williams brandonwilli...@apache.org Committed: Fri Feb 7 13:19:38 2014 -0600 -- build.xml | 12 1 file changed, 12 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/130d135a/build.xml -- diff --cc build.xml index 6804a1b,eaf35b5..bfbd8b2 --- a/build.xml +++ b/build.xml @@@ -55,13 -56,13 +55,14 @@@ property name=test.conf value=${test.dir}/conf/ property name=test.data value=${test.dir}/data/ property name=test.name value=*Test/ + property name=test.methods value=/ property name=test.unit.src value=${test.dir}/unit/ property name=test.long.src value=${test.dir}/long/ +property name=test.pig.src value=${test.dir}/pig/ property name=dist.dir value=${build.dir}/dist/ - property name=source.version value=1.6/ - property name=target.version value=1.6/ + property name=source.version value=1.7/ + property name=target.version value=1.7/ condition property=version value=${base.version} isset property=release/
[jira] [Commented] (CASSANDRA-6676) Add ability to see layout of storage for CQL tables
[ https://issues.apache.org/jira/browse/CASSANDRA-6676?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13894931#comment-13894931 ] Andy Cobley commented on CASSANDRA-6676: +1 for the addition to CQL. I do like the suggestion select * from x show storage @alexsey perhaps then we need : select * from x show storage, tombstones. Going to sstable2jason is a step too far for simple debugging I suggest. Add ability to see layout of storage for CQL tables --- Key: CASSANDRA-6676 URL: https://issues.apache.org/jira/browse/CASSANDRA-6676 Project: Cassandra Issue Type: Improvement Reporter: Brian ONeill Priority: Minor Many of us use the CLI to see how data gets laid out in storage for tables created via CQL. If we intend to deprecate CLI, it would be nice to have this ability in CQL. See thread: http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/CQL-list-command-td7592673.html -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Commented] (CASSANDRA-6676) Add ability to see layout of storage for CQL tables
[ https://issues.apache.org/jira/browse/CASSANDRA-6676?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13894939#comment-13894939 ] Jonathan Ellis commented on CASSANDRA-6676: --- If you're trying to see the storage layout, you're beyond simple debugging. Add ability to see layout of storage for CQL tables --- Key: CASSANDRA-6676 URL: https://issues.apache.org/jira/browse/CASSANDRA-6676 Project: Cassandra Issue Type: Improvement Reporter: Brian ONeill Priority: Minor Many of us use the CLI to see how data gets laid out in storage for tables created via CQL. If we intend to deprecate CLI, it would be nice to have this ability in CQL. See thread: http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/CQL-list-command-td7592673.html -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[2/6] git commit: add target to run specific test methods
add target to run specific test methods Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/c70f6d80 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c70f6d80 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c70f6d80 Branch: refs/heads/cassandra-2.0 Commit: c70f6d80bd26904e0ff34136bf598d701f1ed69d Parents: 2dd55c7 Author: Brandon Williams brandonwilli...@apache.org Authored: Fri Feb 7 13:19:26 2014 -0600 Committer: Brandon Williams brandonwilli...@apache.org Committed: Fri Feb 7 13:19:26 2014 -0600 -- build.xml | 12 1 file changed, 12 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/c70f6d80/build.xml -- diff --git a/build.xml b/build.xml index ce87a2a..eaf35b5 100644 --- a/build.xml +++ b/build.xml @@ -56,6 +56,7 @@ property name=test.conf value=${test.dir}/conf/ property name=test.data value=${test.dir}/data/ property name=test.name value=*Test/ +property name=test.methods value=/ property name=test.unit.src value=${test.dir}/unit/ property name=test.long.src value=${test.dir}/long/ property name=dist.dir value=${build.dir}/dist/ @@ -1118,6 +1119,17 @@ jvmarg value=-Dcassandra.tolerate_sstable_size=true/ /testmacro /target + + target name=testsome depends=build-test description=Execute specific unit tests +testmacro suitename=unit inputdir=${test.unit.src} exclude=**/pig/*.java timeout=${test.timeout} + test name=${test.name} methods=${test.methods}/ + jvmarg value=-Dlegacy-sstable-root=${test.data}/legacy-sstables/ + jvmarg value=-Dcorrupt-sstable-root=${test.data}/corrupt-sstables/ + jvmarg value=-Dmigration-sstable-root=${test.data}/migration-sstables/ + jvmarg value=-Dcassandra.ring_delay_ms=1000/ + jvmarg value=-Dcassandra.tolerate_sstable_size=true/ +/testmacro + /target target name=test-compression depends=build-test description=Execute unit tests with sstable compression enabled testmacro suitename=unit inputdir=${test.unit.src} exclude=**/pig/*.java timeout=${test.timeout}
[3/6] git commit: Compact hints after partial replay to clean out tombstones patch by jbellis; reviewed by ayeschenko for CASSANDRA-6666
Compact hints after partial replay to clean out tombstones patch by jbellis; reviewed by ayeschenko for CASSANDRA- Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/ab5372f0 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/ab5372f0 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/ab5372f0 Branch: refs/heads/trunk Commit: ab5372f0f3b3650556242a21a9d463b4f1e93efd Parents: beefd0b Author: Jonathan Ellis jbel...@apache.org Authored: Fri Feb 7 10:30:20 2014 -0600 Committer: Jonathan Ellis jbel...@apache.org Committed: Fri Feb 7 10:30:20 2014 -0600 -- CHANGES.txt | 1 + .../cassandra/db/HintedHandOffManager.java | 26 2 files changed, 17 insertions(+), 10 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/ab5372f0/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index 5511e01..82783f8 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -2,6 +2,7 @@ * Fix upgradesstables NPE for non-CF-based indexes (CASSANDRA-6645) * Fix partition and range deletes not triggering flush (CASSANDRA-6655) * Fix mean cells and mean row size per sstable calculations (CASSANDRA-6667) + * Compact hints after partial replay to clean out tombstones (CASSANDRA-) 1.2.15 http://git-wip-us.apache.org/repos/asf/cassandra/blob/ab5372f0/src/java/org/apache/cassandra/db/HintedHandOffManager.java -- diff --git a/src/java/org/apache/cassandra/db/HintedHandOffManager.java b/src/java/org/apache/cassandra/db/HintedHandOffManager.java index ede49e4..b1ccbc3 100644 --- a/src/java/org/apache/cassandra/db/HintedHandOffManager.java +++ b/src/java/org/apache/cassandra/db/HintedHandOffManager.java @@ -309,6 +309,7 @@ public class HintedHandOffManager implements HintedHandOffManagerMBean / (StorageService.instance.getTokenMetadata().getAllEndpoints().size() - 1); RateLimiter rateLimiter = RateLimiter.create(throttleInKB == 0 ? Double.MAX_VALUE : throttleInKB * 1024); +boolean finished = false; delivery: while (true) { @@ -323,13 +324,17 @@ public class HintedHandOffManager implements HintedHandOffManagerMBean (int) (System.currentTimeMillis() / 1000)); if (pagingFinished(hintsPage, startColumn)) +{ +logger.info(Finished hinted handoff of {} rows to endpoint {}, rowsReplayed, endpoint); +finished = true; break; +} // check if node is still alive and we should continue delivery process if (!FailureDetector.instance.isAlive(endpoint)) { logger.info(Endpoint {} died during hint delivery; aborting ({} delivered), endpoint, rowsReplayed); -return; +break; } ListWriteResponseHandler responseHandlers = Lists.newArrayList(); @@ -420,20 +425,21 @@ public class HintedHandOffManager implements HintedHandOffManagerMBean catch (WriteTimeoutException e) { logger.info(Timed out replaying hints to {}; aborting ({} delivered), endpoint, rowsReplayed); -return; +break delivery; } } } -logger.info(Finished hinted handoff of {} rows to endpoint {}, rowsReplayed, endpoint); - -try +if (finished || rowsReplayed.get() = DatabaseDescriptor.getTombstoneDebugThreshold()) { -compact().get(); -} -catch (Exception e) -{ -throw new RuntimeException(e); +try +{ +compact().get(); +} +catch (Exception e) +{ +throw new RuntimeException(e); +} } }
[jira] [Commented] (CASSANDRA-6674) TombstoneOverwhelmingException during/after batch insert
[ https://issues.apache.org/jira/browse/CASSANDRA-6674?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13894561#comment-13894561 ] Machiel Groeneveld commented on CASSANDRA-6674: --- Is there a way to make the tombstones go away, can I force a cleanup for instance? TombstoneOverwhelmingException during/after batch insert Key: CASSANDRA-6674 URL: https://issues.apache.org/jira/browse/CASSANDRA-6674 Project: Cassandra Issue Type: Bug Environment: 2.0.4; 2.0.5 Mac OS X Reporter: Machiel Groeneveld Priority: Critical Select query on a table where I'm doing insert fails with tombstone exception. The database is clean/empty before doing inserts, doing the first query after a few thousand records inserted. I don't understand where the tombstones are coming from as I'm not doing any deletes. ERROR [ReadStage:41] 2014-02-07 12:16:42,169 SliceQueryFilter.java (line 200) Scanned over 10 tombstones in visits.visits; query aborted (see tombstone_fail_threshold) ERROR [ReadStage:41] 2014-02-07 12:16:42,171 CassandraDaemon.java (line 192) Exception in thread Thread[ReadStage:41,5,main] java.lang.RuntimeException: org.apache.cassandra.db.filter.TombstoneOverwhelmingException at org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1935) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:724) Caused by: org.apache.cassandra.db.filter.TombstoneOverwhelmingException at org.apache.cassandra.db.filter.SliceQueryFilter.collectReducedColumns(SliceQueryFilter.java:202) at org.apache.cassandra.db.filter.QueryFilter.collateColumns(QueryFilter.java:122) at org.apache.cassandra.db.filter.QueryFilter.collateOnDiskAtom(QueryFilter.java:80) at org.apache.cassandra.db.RowIteratorFactory$2.getReduced(RowIteratorFactory.java:101) at org.apache.cassandra.db.RowIteratorFactory$2.getReduced(RowIteratorFactory.java:75) at org.apache.cassandra.utils.MergeIterator$ManyToOne.consume(MergeIterator.java:115) at org.apache.cassandra.utils.MergeIterator$ManyToOne.computeNext(MergeIterator.java:98) at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) at org.apache.cassandra.db.ColumnFamilyStore$9.computeNext(ColumnFamilyStore.java:1607) at org.apache.cassandra.db.ColumnFamilyStore$9.computeNext(ColumnFamilyStore.java:1603) at com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) at com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) at org.apache.cassandra.db.ColumnFamilyStore.filter(ColumnFamilyStore.java:1754) at org.apache.cassandra.db.ColumnFamilyStore.getRangeSlice(ColumnFamilyStore.java:1718) at org.apache.cassandra.db.RangeSliceCommand.executeLocally(RangeSliceCommand.java:137) at org.apache.cassandra.service.StorageProxy$LocalRangeSliceRunnable.runMayThrow(StorageProxy.java:1418) at org.apache.cassandra.service.StorageProxy$DroppableRunnable.run(StorageProxy.java:1931) ... 3 more -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[7/8] git commit: Fix unwanted schema pull while upgrading nodes from 1.2 to 2.0 Patch by Sergio Bossa, reviewed by brandonwilliams for CASSANDRA-6678
Fix unwanted schema pull while upgrading nodes from 1.2 to 2.0 Patch by Sergio Bossa, reviewed by brandonwilliams for CASSANDRA-6678 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/9e0700c0 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/9e0700c0 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/9e0700c0 Branch: refs/heads/cassandra-2.0 Commit: 9e0700c07e643c3eaf0a7687aab92f02a32d1899 Parents: fe5de33 Author: Brandon Williams brandonwilli...@apache.org Authored: Fri Feb 7 08:35:20 2014 -0600 Committer: Brandon Williams brandonwilli...@apache.org Committed: Fri Feb 7 08:35:20 2014 -0600 -- src/java/org/apache/cassandra/service/MigrationManager.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/9e0700c0/src/java/org/apache/cassandra/service/MigrationManager.java -- diff --git a/src/java/org/apache/cassandra/service/MigrationManager.java b/src/java/org/apache/cassandra/service/MigrationManager.java index b463116..fdcefe4 100644 --- a/src/java/org/apache/cassandra/service/MigrationManager.java +++ b/src/java/org/apache/cassandra/service/MigrationManager.java @@ -137,8 +137,9 @@ public class MigrationManager * Don't request schema from nodes with a higher major (may have incompatible schema) * Don't request schema from fat clients */ -return MessagingService.instance().getVersion(endpoint) = MessagingService.current_version - !Gossiper.instance.isFatClient(endpoint); +return MessagingService.instance().knowsVersion(endpoint) + MessagingService.instance().getVersion(endpoint) = MessagingService.current_version + !Gossiper.instance.isFatClient(endpoint); } public static boolean isReadyForBootstrap()
[5/6] git commit: Merge branch 'cassandra-1.2' into cassandra-2.0
Merge branch 'cassandra-1.2' into cassandra-2.0 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/56a615d7 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/56a615d7 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/56a615d7 Branch: refs/heads/cassandra-2.0 Commit: 56a615d7397a937b8f6586fe2ecc79cfc2da28f0 Parents: 3d5b5c3 beefd0b Author: Jonathan Ellis jbel...@apache.org Authored: Fri Feb 7 10:18:31 2014 -0600 Committer: Jonathan Ellis jbel...@apache.org Committed: Fri Feb 7 10:18:31 2014 -0600 -- CHANGES.txt | 1 + src/java/org/apache/cassandra/db/ColumnFamilyStoreMBean.java | 2 +- src/java/org/apache/cassandra/db/DataTracker.java | 7 --- .../org/apache/cassandra/metrics/ColumnFamilyMetrics.java | 5 +++-- 4 files changed, 9 insertions(+), 6 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/56a615d7/CHANGES.txt -- diff --cc CHANGES.txt index 85c6533,5511e01..94cd19c --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,42 -1,24 +1,43 @@@ -1.2.16 +2.0.6 + * Failure detector correctly converts initial value to nanos (CASSANDRA-6658) + * Add nodetool taketoken to relocate vnodes (CASSANDRA-4445) + * Fix upgradesstables NPE for non-CF-based indexes (CASSANDRA-6645) + * Improve nodetool cfhistograms formatting (CASSANDRA-6360) + * Expose bulk loading progress over JMX (CASSANDRA-4757) + * Correctly handle null with IF conditions and TTL (CASSANDRA-6623) + * Account for range/row tombstones in tombstone drop + time histogram (CASSANDRA-6522) +Merged from 1.2: * Fix upgradesstables NPE for non-CF-based indexes (CASSANDRA-6645) * Fix partition and range deletes not triggering flush (CASSANDRA-6655) + * Fix mean cells and mean row size per sstable calculations (CASSANDRA-6667) - -1.2.15 - * Move handling of migration event source to solve bootstrap race (CASSANDRA-6648) - * Make sure compaction throughput value doesn't overflow with int math (CASSANDRA-6647) - - -1.2.14 - * Reverted code to limit CQL prepared statement cache by size (CASSANDRA-6592) - * add cassandra.default_messaging_version property to allow easier - upgrading from 1.1 (CASSANDRA-6619) - * Allow executing CREATE statements multiple times (CASSANDRA-6471) - * Don't send confusing info with timeouts (CASSANDRA-6491) - * Don't resubmit counter mutation runnables internally (CASSANDRA-6427) - * Don't drop local mutations without a hint (CASSANDRA-6510) - * Don't allow null max_hint_window_in_ms (CASSANDRA-6419) - * Validate SliceRange start and finish lengths (CASSANDRA-6521) +2.0.5 + * Reduce garbage generated by bloom filter lookups (CASSANDRA-6609) + * Add ks.cf names to tombstone logging (CASSANDRA-6597) + * Use LOCAL_QUORUM for LWT operations at LOCAL_SERIAL (CASSANDRA-6495) + * Wait for gossip to settle before accepting client connections (CASSANDRA-4288) + * Delete unfinished compaction incrementally (CASSANDRA-6086) + * Allow specifying custom secondary index options in CQL3 (CASSANDRA-6480) + * Improve replica pinning for cache efficiency in DES (CASSANDRA-6485) + * Fix LOCAL_SERIAL from thrift (CASSANDRA-6584) + * Don't special case received counts in CAS timeout exceptions (CASSANDRA-6595) + * Add support for 2.1 global counter shards (CASSANDRA-6505) + * Fix NPE when streaming connection is not yet established (CASSANDRA-6210) + * Avoid rare duplicate read repair triggering (CASSANDRA-6606) + * Fix paging discardFirst (CASSANDRA-6555) + * Fix ArrayIndexOutOfBoundsException in 2ndary index query (CASSANDRA-6470) + * Release sstables upon rebuilding 2i (CASSANDRA-6635) + * Add AbstractCompactionStrategy.startup() method (CASSANDRA-6637) + * SSTableScanner may skip rows during cleanup (CASSANDRA-6638) + * sstables from stalled repair sessions can resurrect deleted data (CASSANDRA-6503) + * Switch stress to use ITransportFactory (CASSANDRA-6641) + * Fix IllegalArgumentException during prepare (CASSANDRA-6592) + * Fix possible loss of 2ndary index entries during compaction (CASSANDRA-6517) + * Fix direct Memory on architectures that do not support unaligned long access + (CASSANDRA-6628) + * Let scrub optionally skip broken counter partitions (CASSANDRA-5930) +Merged from 1.2: * fsync compression metadata (CASSANDRA-6531) * Validate CF existence on execution for prepared statement (CASSANDRA-6535) * Add ability to throttle batchlog replay (CASSANDRA-6550) http://git-wip-us.apache.org/repos/asf/cassandra/blob/56a615d7/src/java/org/apache/cassandra/db/ColumnFamilyStoreMBean.java --
[1/6] git commit: add target to run specific test methods
Updated Branches: refs/heads/cassandra-1.2 2dd55c7d3 - c70f6d80b refs/heads/cassandra-2.0 7407cf981 - 130d135a6 refs/heads/trunk 4c0b4fa2e - 01cf29c3e add target to run specific test methods Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/c70f6d80 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/c70f6d80 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/c70f6d80 Branch: refs/heads/cassandra-1.2 Commit: c70f6d80bd26904e0ff34136bf598d701f1ed69d Parents: 2dd55c7 Author: Brandon Williams brandonwilli...@apache.org Authored: Fri Feb 7 13:19:26 2014 -0600 Committer: Brandon Williams brandonwilli...@apache.org Committed: Fri Feb 7 13:19:26 2014 -0600 -- build.xml | 12 1 file changed, 12 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/c70f6d80/build.xml -- diff --git a/build.xml b/build.xml index ce87a2a..eaf35b5 100644 --- a/build.xml +++ b/build.xml @@ -56,6 +56,7 @@ property name=test.conf value=${test.dir}/conf/ property name=test.data value=${test.dir}/data/ property name=test.name value=*Test/ +property name=test.methods value=/ property name=test.unit.src value=${test.dir}/unit/ property name=test.long.src value=${test.dir}/long/ property name=dist.dir value=${build.dir}/dist/ @@ -1118,6 +1119,17 @@ jvmarg value=-Dcassandra.tolerate_sstable_size=true/ /testmacro /target + + target name=testsome depends=build-test description=Execute specific unit tests +testmacro suitename=unit inputdir=${test.unit.src} exclude=**/pig/*.java timeout=${test.timeout} + test name=${test.name} methods=${test.methods}/ + jvmarg value=-Dlegacy-sstable-root=${test.data}/legacy-sstables/ + jvmarg value=-Dcorrupt-sstable-root=${test.data}/corrupt-sstables/ + jvmarg value=-Dmigration-sstable-root=${test.data}/migration-sstables/ + jvmarg value=-Dcassandra.ring_delay_ms=1000/ + jvmarg value=-Dcassandra.tolerate_sstable_size=true/ +/testmacro + /target target name=test-compression depends=build-test description=Execute unit tests with sstable compression enabled testmacro suitename=unit inputdir=${test.unit.src} exclude=**/pig/*.java timeout=${test.timeout}
[jira] [Commented] (CASSANDRA-6590) Gossip does not heal after a temporary partition at startup
[ https://issues.apache.org/jira/browse/CASSANDRA-6590?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13894980#comment-13894980 ] Brandon Williams commented on CASSANDRA-6590: - bq. the if (!localState.isAlive()) check is problematic, because while it got rid of the repeated UP messages, it also seemed to introduce a race situation Nevermind that part, it was something else. I'm still seeing repeated messages when healing the partition though: {noformat} INFO 20:16:56,176 Handshaking version with /10.208.8.63 INFO 20:16:56,186 InetAddress /10.208.8.63 is now UP INFO 20:16:56,187 InetAddress /10.208.8.63 is now UP INFO 20:16:56,187 InetAddress /10.208.8.63 is now UP INFO 20:16:56,190 InetAddress /10.208.8.63 is now UP INFO 20:16:56,190 InetAddress /10.208.8.63 is now UP INFO 20:16:56,190 InetAddress /10.208.8.63 is now UP INFO 20:16:56,191 InetAddress /10.208.8.63 is now UP INFO 20:16:56,191 InetAddress /10.208.8.63 is now UP INFO 20:16:56,191 InetAddress /10.208.8.63 is now UP INFO 20:16:56,193 InetAddress /10.208.8.63 is now UP {noformat} What I mentioned before about the block in handleMajorStateChange and the yaml option still applies. Gossip does not heal after a temporary partition at startup --- Key: CASSANDRA-6590 URL: https://issues.apache.org/jira/browse/CASSANDRA-6590 Project: Cassandra Issue Type: Bug Components: Core Reporter: Brandon Williams Assignee: Vijay Fix For: 2.0.6 Attachments: 0001-CASSANDRA-6590.patch, 0001-logging-for-6590.patch, 6590_disable_echo.txt See CASSANDRA-6571 for background. If a node is partitioned on startup when the echo command is sent, but then the partition heals, the halves of the partition will never mark each other up despite being able to communicate. This stems from CASSANDRA-3533. -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Commented] (CASSANDRA-6676) Add ability to see layout of storage for CQL tables
[ https://issues.apache.org/jira/browse/CASSANDRA-6676?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13894994#comment-13894994 ] Andy Cobley commented on CASSANDRA-6676: Sorry guys, perhaps storage layout is a bit far, but this: [default@keyspace2] list tweets; Using default limit of 100 Using default cell limit of 100 --- RowKey: Andy = (name=940634b0-3b1a-11e3-aa6e-0800200c9a66:, value=, timestamp=1391351360676000, ttl=2592000) = (name=940634b0-3b1a-11e3-aa6e-0800200c9a66:tweet, value=737465702033, timestamp=1391351360676000, ttl=2592000) = (name=8118c700-3b1a-11e3-aa6e-0800200c9a66:, value=, timestamp=139135136063, ttl=2592000) = (name=8118c700-3b1a-11e3-aa6e-0800200c9a66:tweet, value=737465702032, timestamp=139135136063, ttl=2592000) = (name=61647990-3b1a-11e3-aa6e-0800200c9a66:, value=, timestamp=1391351360729000, ttl=2592000) = (name=61647990-3b1a-11e3-aa6e-0800200c9a66:tweet, value=737465702031, timestamp=1391351360729000, ttl=2592000) 1 Row Returned. Elapsed time: 1123 msec(s). [default@keyspace2] exit Tells me a lot about whats going on form this: CREATE TABLE Tweets ( user varchar, interaction_time timeuuid, tweet varchar, PRIMARY KEY (user,interaction_time) ) WITH CLUSTERING ORDER BY (interaction_time DESC); INSERT INTO Tweets (user,interaction_time,tweet) VALUES ('Andy',3b3250c0-8f6c-11e3-baa8-0800200c9a66,'step 4'); INSERT INTO Tweets (user,interaction_time,tweet) VALUES ('Bill',e878d600-8f6c-11e3-baa8-0800200c9a66,'Bill step a'); Add ability to see layout of storage for CQL tables --- Key: CASSANDRA-6676 URL: https://issues.apache.org/jira/browse/CASSANDRA-6676 Project: Cassandra Issue Type: Improvement Reporter: Brian ONeill Priority: Minor Many of us use the CLI to see how data gets laid out in storage for tables created via CQL. If we intend to deprecate CLI, it would be nice to have this ability in CQL. See thread: http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/CQL-list-command-td7592673.html -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Created] (CASSANDRA-6680) Clock skew detection via gossip
Brandon Williams created CASSANDRA-6680: --- Summary: Clock skew detection via gossip Key: CASSANDRA-6680 URL: https://issues.apache.org/jira/browse/CASSANDRA-6680 Project: Cassandra Issue Type: New Feature Components: Core Reporter: Brandon Williams Assignee: Brandon Williams Priority: Minor Fix For: 3.0 Gossip's HeartbeatState keeps the generation (local timestamp the node was started) and version (monotonically increasing per gossip interval) which could be used to roughly calculate the node's current time, enabling detection of gossip messages too far in the future for the clocks to be synced. -- This message was sent by Atlassian JIRA (v6.1.5#6160)
[jira] [Commented] (CASSANDRA-6676) Add ability to see layout of storage for CQL tables
[ https://issues.apache.org/jira/browse/CASSANDRA-6676?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13895076#comment-13895076 ] Aleksey Yeschenko commented on CASSANDRA-6676: -- It's not going to be added to CQL3. The only thing it could be added to would be a cqlsh-only internal cmd, but you could just as well write a separate tool for it. Add ability to see layout of storage for CQL tables --- Key: CASSANDRA-6676 URL: https://issues.apache.org/jira/browse/CASSANDRA-6676 Project: Cassandra Issue Type: Improvement Reporter: Brian ONeill Priority: Minor Many of us use the CLI to see how data gets laid out in storage for tables created via CQL. If we intend to deprecate CLI, it would be nice to have this ability in CQL. See thread: http://cassandra-user-incubator-apache-org.3065146.n2.nabble.com/CQL-list-command-td7592673.html -- This message was sent by Atlassian JIRA (v6.1.5#6160)
git commit: Fix CFMetaData.equals()
Updated Branches: refs/heads/trunk 01cf29c3e - 0ced33c6e Fix CFMetaData.equals() Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/0ced33c6 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/0ced33c6 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/0ced33c6 Branch: refs/heads/trunk Commit: 0ced33c6ee2469c68862a90cae7be477274f3be0 Parents: 01cf29c Author: Aleksey Yeschenko alek...@apache.org Authored: Sat Feb 8 01:05:47 2014 +0300 Committer: Aleksey Yeschenko alek...@apache.org Committed: Sat Feb 8 01:05:47 2014 +0300 -- src/java/org/apache/cassandra/config/CFMetaData.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/0ced33c6/src/java/org/apache/cassandra/config/CFMetaData.java -- diff --git a/src/java/org/apache/cassandra/config/CFMetaData.java b/src/java/org/apache/cassandra/config/CFMetaData.java index f600b83..9579f99 100644 --- a/src/java/org/apache/cassandra/config/CFMetaData.java +++ b/src/java/org/apache/cassandra/config/CFMetaData.java @@ -926,8 +926,8 @@ public final class CFMetaData if (indexInterval != rhs.indexInterval) return false; if (!Objects.equal(speculativeRetry, rhs.speculativeRetry)) return false; if (populateIoCacheOnFlush != rhs.populateIoCacheOnFlush) return false; -if (Objects.equal(droppedColumns, rhs.droppedColumns)) return false; -if (Objects.equal(triggers, rhs.triggers)) return false; +if (!Objects.equal(droppedColumns, rhs.droppedColumns)) return false; +if (!Objects.equal(triggers, rhs.triggers)) return false; if (!Objects.equal(rowsPerPartitionToCache, rhs.rowsPerPartitionToCache)) return false; return true; }
git commit: Consistencify CFMetadata equals/hashCode/toString
Updated Branches: refs/heads/trunk 0ced33c6e - 4336a1917 Consistencify CFMetadata equals/hashCode/toString Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/4336a191 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/4336a191 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/4336a191 Branch: refs/heads/trunk Commit: 4336a1917c32737bac9e5ef87b31926784065cdc Parents: 0ced33c Author: Aleksey Yeschenko alek...@apache.org Authored: Sat Feb 8 01:30:14 2014 +0300 Committer: Aleksey Yeschenko alek...@apache.org Committed: Sat Feb 8 01:30:14 2014 +0300 -- .../org/apache/cassandra/config/CFMetaData.java | 81 ++-- 1 file changed, 40 insertions(+), 41 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/4336a191/src/java/org/apache/cassandra/config/CFMetaData.java -- diff --git a/src/java/org/apache/cassandra/config/CFMetaData.java b/src/java/org/apache/cassandra/config/CFMetaData.java index 9579f99..5c09961 100644 --- a/src/java/org/apache/cassandra/config/CFMetaData.java +++ b/src/java/org/apache/cassandra/config/CFMetaData.java @@ -890,51 +890,51 @@ public final class CFMetaData return droppedColumns; } -public boolean equals(Object obj) +@Override +public boolean equals(Object o) { -if (obj == this) -{ +if (this == o) return true; -} -else if (obj == null || obj.getClass() != getClass()) -{ + +if (!(o instanceof CFMetaData)) return false; -} -CFMetaData rhs = (CFMetaData) obj; -if (!ksName.equals(rhs.ksName)) return false; -if (!cfName.equals(rhs.cfName)) return false; -if (!cfType.equals(rhs.cfType)) return false; -if (!comparator.equals(rhs.comparator)) return false; -if (!Objects.equal(comment, rhs.comment)) return false; -if (readRepairChance != rhs.readRepairChance) return false; -if (dcLocalReadRepairChance != rhs.dcLocalReadRepairChance) return false; -if (gcGraceSeconds != rhs.gcGraceSeconds) return false; -if (!Objects.equal(defaultValidator, rhs.defaultValidator)) return false; -if (!Objects.equal(keyValidator, rhs.keyValidator)) return false; -if (minCompactionThreshold != rhs.minCompactionThreshold) return false; -if (maxCompactionThreshold != rhs.maxCompactionThreshold) return false; -if (!Objects.equal(cfId, rhs.cfId)) return false; -if (!Objects.equal(columnMetadata, rhs.columnMetadata)) return false; -if (!Objects.equal(compactionStrategyClass, rhs.compactionStrategyClass)) return false; -if (!Objects.equal(compactionStrategyOptions, rhs.compactionStrategyOptions)) return false; -if (!Objects.equal(compressionParameters, rhs.compressionParameters)) return false; -if (!Objects.equal(bloomFilterFpChance, rhs.bloomFilterFpChance)) return false; -if (memtableFlushPeriod != rhs.memtableFlushPeriod) return false; -if (!Objects.equal(caching, rhs.caching)) return false; -if (defaultTimeToLive != rhs.defaultTimeToLive) return false; -if (indexInterval != rhs.indexInterval) return false; -if (!Objects.equal(speculativeRetry, rhs.speculativeRetry)) return false; -if (populateIoCacheOnFlush != rhs.populateIoCacheOnFlush) return false; -if (!Objects.equal(droppedColumns, rhs.droppedColumns)) return false; -if (!Objects.equal(triggers, rhs.triggers)) return false; -if (!Objects.equal(rowsPerPartitionToCache, rhs.rowsPerPartitionToCache)) return false; -return true; +CFMetaData other = (CFMetaData) o; + +return Objects.equal(cfId, other.cfId) + Objects.equal(ksName, other.ksName) + Objects.equal(cfName, other.cfName) + Objects.equal(cfType, other.cfType) + Objects.equal(comparator, other.comparator) + Objects.equal(comment, other.comment) + Objects.equal(readRepairChance, other.readRepairChance) + Objects.equal(dcLocalReadRepairChance, other.dcLocalReadRepairChance) + Objects.equal(gcGraceSeconds, other.gcGraceSeconds) + Objects.equal(defaultValidator, other.defaultValidator) + Objects.equal(keyValidator, other.keyValidator) + Objects.equal(minCompactionThreshold, other.minCompactionThreshold) + Objects.equal(maxCompactionThreshold, other.maxCompactionThreshold) + Objects.equal(columnMetadata, other.columnMetadata) + Objects.equal(compactionStrategyClass, other.compactionStrategyClass) +
[jira] [Commented] (CASSANDRA-5351) Avoid repairing already-repaired data by default
[ https://issues.apache.org/jira/browse/CASSANDRA-5351?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13895220#comment-13895220 ] Yuki Morishita commented on CASSANDRA-5351: --- Alright, +1 with nit: I see many Performing anticompaction on 0 sstables so better skip on 0 sstable. And we need NEWS.txt entry for this. Avoid repairing already-repaired data by default Key: CASSANDRA-5351 URL: https://issues.apache.org/jira/browse/CASSANDRA-5351 Project: Cassandra Issue Type: Task Components: Core Reporter: Jonathan Ellis Assignee: Lyuben Todorov Labels: repair Fix For: 2.1 Attachments: 0001-Incremental-repair-wip.patch, 5351_node1.log, 5351_node2.log, 5351_node3.log, 5351_nodetool.log Repair has always built its merkle tree from all the data in a columnfamily, which is guaranteed to work but is inefficient. We can improve this by remembering which sstables have already been successfully repaired, and only repairing sstables new since the last repair. (This automatically makes CASSANDRA-3362 much less of a problem too.) The tricky part is, compaction will (if not taught otherwise) mix repaired data together with non-repaired. So we should segregate unrepaired sstables from the repaired ones. -- This message was sent by Atlassian JIRA (v6.1.5#6160)
git commit: Clean up KSMetaData
Updated Branches: refs/heads/trunk 4336a1917 - a4ed367ea Clean up KSMetaData Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/a4ed367e Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/a4ed367e Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/a4ed367e Branch: refs/heads/trunk Commit: a4ed367eadb35b5b6df373db80b22898ebc0751b Parents: 4336a19 Author: Aleksey Yeschenko alek...@apache.org Authored: Sat Feb 8 02:50:39 2014 +0300 Committer: Aleksey Yeschenko alek...@apache.org Committed: Sat Feb 8 02:50:39 2014 +0300 -- .../org/apache/cassandra/config/KSMetaData.java | 68 +--- 1 file changed, 30 insertions(+), 38 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/a4ed367e/src/java/org/apache/cassandra/config/KSMetaData.java -- diff --git a/src/java/org/apache/cassandra/config/KSMetaData.java b/src/java/org/apache/cassandra/config/KSMetaData.java index 9be1e2b..3d1edb6 100644 --- a/src/java/org/apache/cassandra/config/KSMetaData.java +++ b/src/java/org/apache/cassandra/config/KSMetaData.java @@ -19,9 +19,8 @@ package org.apache.cassandra.config; import java.util.*; +import com.google.common.base.Objects; import com.google.common.collect.ImmutableMap; -import org.apache.commons.lang3.ObjectUtils; -import org.apache.commons.lang3.StringUtils; import org.apache.cassandra.cql3.QueryProcessor; import org.apache.cassandra.cql3.UntypedResultSet; @@ -60,7 +59,7 @@ public final class KSMetaData this.name = name; this.strategyClass = strategyClass == null ? NetworkTopologyStrategy.class : strategyClass; this.strategyOptions = strategyOptions; -MapString, CFMetaData cfmap = new HashMapString, CFMetaData(); +MapString, CFMetaData cfmap = new HashMap(); for (CFMetaData cfm : cfDefs) cfmap.put(cfm.cfName, cfm); this.cfMetaData = Collections.unmodifiableMap(cfmap); @@ -126,23 +125,29 @@ public final class KSMetaData return new KSMetaData(name, strategyClass, strategyOptions, false, Arrays.asList(cfDefs)); } +@Override public int hashCode() { -return name.hashCode(); +return Objects.hashCode(name, strategyClass, strategyOptions, cfMetaData, durableWrites, userTypes); } -public boolean equals(Object obj) +@Override +public boolean equals(Object o) { -if (!(obj instanceof KSMetaData)) +if (this == o) +return true; + +if (!(o instanceof KSMetaData)) return false; -KSMetaData other = (KSMetaData)obj; -if (!other.name.equals(name)) return false; -if (!ObjectUtils.equals(other.strategyClass, strategyClass)) return false; -if (!ObjectUtils.equals(other.strategyOptions, strategyOptions)) return false; -if (!other.cfMetaData.equals(cfMetaData)) return false; -if (other.durableWrites != durableWrites) return false; -if (!ObjectUtils.equals(other.userTypes, userTypes)) return false; -return true; + +KSMetaData other = (KSMetaData) o; + +return Objects.equal(name, other.name) + Objects.equal(strategyClass, other.strategyClass) + Objects.equal(strategyOptions, other.strategyOptions) + Objects.equal(cfMetaData, other.cfMetaData) + Objects.equal(durableWrites, other.durableWrites) + Objects.equal(userTypes, other.userTypes); } public MapString, CFMetaData cfMetaData() @@ -153,31 +158,19 @@ public final class KSMetaData @Override public String toString() { -StringBuilder sb = new StringBuilder(); -sb.append(name) - .append(, rep strategy:) - .append(strategyClass.getSimpleName()) - .append({) - .append(StringUtils.join(cfMetaData.values(), , )) - .append(}) - .append(, strategy_options: ) - .append(strategyOptions.toString()) - .append(, durable_writes: ) - .append(durableWrites); -return sb.toString(); -} - -public static String convertOldStrategyName(String name) -{ -return name.replace(RackUnawareStrategy, SimpleStrategy) - .replace(RackAwareStrategy, OldNetworkTopologyStrategy); +return Objects.toStringHelper(this) + .add(name, name) + .add(strategyClass, strategyClass.getSimpleName()) + .add(strategyOptions, strategyOptions) + .add(cfMetaData, cfMetaData) + .add(durableWrites, durableWrites) + .add(userTypes, userTypes) + .toString();
git commit: Clean up Memtable.resolve()
Updated Branches: refs/heads/cassandra-1.2 c70f6d80b - 887558f7a Clean up Memtable.resolve() Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/887558f7 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/887558f7 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/887558f7 Branch: refs/heads/cassandra-1.2 Commit: 887558f7a3c6a5bbb38a1cf0bacad90f8baa4f0e Parents: c70f6d8 Author: Aleksey Yeschenko alek...@apache.org Authored: Sat Feb 8 04:11:32 2014 +0300 Committer: Aleksey Yeschenko alek...@apache.org Committed: Sat Feb 8 04:11:32 2014 +0300 -- src/java/org/apache/cassandra/db/Memtable.java | 6 +- 1 file changed, 1 insertion(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/887558f7/src/java/org/apache/cassandra/db/Memtable.java -- diff --git a/src/java/org/apache/cassandra/db/Memtable.java b/src/java/org/apache/cassandra/db/Memtable.java index b229060..b6fceda 100644 --- a/src/java/org/apache/cassandra/db/Memtable.java +++ b/src/java/org/apache/cassandra/db/Memtable.java @@ -192,7 +192,6 @@ public class Memtable { ColumnFamily previous = columnFamilies.get(key); -long sizeDelta = 0; if (previous == null) { // AtomicSortedColumns doesn't work for super columns (see #3821) @@ -200,13 +199,10 @@ public class Memtable // We'll add the columns later. This avoids wasting works if we get beaten in the putIfAbsent previous = columnFamilies.putIfAbsent(new DecoratedKey(key.token, allocator.clone(key.key)), empty); if (previous == null) -{ previous = empty; -sizeDelta += empty.deletionInfo().dataSize(); -} } -sizeDelta = previous.addAllWithSizeDelta(cf, allocator, localCopyFunction, indexer); +long sizeDelta = previous.addAllWithSizeDelta(cf, allocator, localCopyFunction, indexer); currentSize.addAndGet(sizeDelta); currentOperations.addAndGet(cf.getColumnCount() + (cf.isMarkedForDelete() ? 1 : 0) + cf.deletionInfo().rangeCount()); }
[1/2] git commit: Clean up Memtable.resolve()
Updated Branches: refs/heads/cassandra-2.0 130d135a6 - 800e45f48 Clean up Memtable.resolve() Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/887558f7 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/887558f7 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/887558f7 Branch: refs/heads/cassandra-2.0 Commit: 887558f7a3c6a5bbb38a1cf0bacad90f8baa4f0e Parents: c70f6d8 Author: Aleksey Yeschenko alek...@apache.org Authored: Sat Feb 8 04:11:32 2014 +0300 Committer: Aleksey Yeschenko alek...@apache.org Committed: Sat Feb 8 04:11:32 2014 +0300 -- src/java/org/apache/cassandra/db/Memtable.java | 6 +- 1 file changed, 1 insertion(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/887558f7/src/java/org/apache/cassandra/db/Memtable.java -- diff --git a/src/java/org/apache/cassandra/db/Memtable.java b/src/java/org/apache/cassandra/db/Memtable.java index b229060..b6fceda 100644 --- a/src/java/org/apache/cassandra/db/Memtable.java +++ b/src/java/org/apache/cassandra/db/Memtable.java @@ -192,7 +192,6 @@ public class Memtable { ColumnFamily previous = columnFamilies.get(key); -long sizeDelta = 0; if (previous == null) { // AtomicSortedColumns doesn't work for super columns (see #3821) @@ -200,13 +199,10 @@ public class Memtable // We'll add the columns later. This avoids wasting works if we get beaten in the putIfAbsent previous = columnFamilies.putIfAbsent(new DecoratedKey(key.token, allocator.clone(key.key)), empty); if (previous == null) -{ previous = empty; -sizeDelta += empty.deletionInfo().dataSize(); -} } -sizeDelta = previous.addAllWithSizeDelta(cf, allocator, localCopyFunction, indexer); +long sizeDelta = previous.addAllWithSizeDelta(cf, allocator, localCopyFunction, indexer); currentSize.addAndGet(sizeDelta); currentOperations.addAndGet(cf.getColumnCount() + (cf.isMarkedForDelete() ? 1 : 0) + cf.deletionInfo().rangeCount()); }
[2/2] git commit: Merge branch 'cassandra-1.2' into cassandra-2.0
Merge branch 'cassandra-1.2' into cassandra-2.0 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/800e45f4 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/800e45f4 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/800e45f4 Branch: refs/heads/cassandra-2.0 Commit: 800e45f48c8860696559d896f28be1f3bd2ca86f Parents: 130d135 887558f Author: Aleksey Yeschenko alek...@apache.org Authored: Sat Feb 8 04:12:04 2014 +0300 Committer: Aleksey Yeschenko alek...@apache.org Committed: Sat Feb 8 04:12:04 2014 +0300 -- src/java/org/apache/cassandra/db/Memtable.java | 6 +- 1 file changed, 1 insertion(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/800e45f4/src/java/org/apache/cassandra/db/Memtable.java -- diff --cc src/java/org/apache/cassandra/db/Memtable.java index 01170d6,b6fceda..1d26779 --- a/src/java/org/apache/cassandra/db/Memtable.java +++ b/src/java/org/apache/cassandra/db/Memtable.java @@@ -180,22 -190,19 +180,18 @@@ public class Memtabl private void resolve(DecoratedKey key, ColumnFamily cf, SecondaryIndexManager.Updater indexer) { -ColumnFamily previous = columnFamilies.get(key); +AtomicSortedColumns previous = rows.get(key); - long sizeDelta = 0; if (previous == null) { -// AtomicSortedColumns doesn't work for super columns (see #3821) -ColumnFamily empty = cf.cloneMeShallow(cf.isSuper() ? ThreadSafeSortedColumns.factory() : AtomicSortedColumns.factory(), false); +AtomicSortedColumns empty = cf.cloneMeShallow(AtomicSortedColumns.factory, false); // We'll add the columns later. This avoids wasting works if we get beaten in the putIfAbsent -previous = columnFamilies.putIfAbsent(new DecoratedKey(key.token, allocator.clone(key.key)), empty); +previous = rows.putIfAbsent(new DecoratedKey(key.token, allocator.clone(key.key)), empty); if (previous == null) - { previous = empty; - sizeDelta += empty.deletionInfo().dataSize(); - } } - sizeDelta = previous.addAllWithSizeDelta(cf, allocator, localCopyFunction, indexer); + long sizeDelta = previous.addAllWithSizeDelta(cf, allocator, localCopyFunction, indexer); currentSize.addAndGet(sizeDelta); currentOperations.addAndGet(cf.getColumnCount() + (cf.isMarkedForDelete() ? 1 : 0) + cf.deletionInfo().rangeCount()); }
[2/3] git commit: Merge branch 'cassandra-1.2' into cassandra-2.0
Merge branch 'cassandra-1.2' into cassandra-2.0 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/800e45f4 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/800e45f4 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/800e45f4 Branch: refs/heads/trunk Commit: 800e45f48c8860696559d896f28be1f3bd2ca86f Parents: 130d135 887558f Author: Aleksey Yeschenko alek...@apache.org Authored: Sat Feb 8 04:12:04 2014 +0300 Committer: Aleksey Yeschenko alek...@apache.org Committed: Sat Feb 8 04:12:04 2014 +0300 -- src/java/org/apache/cassandra/db/Memtable.java | 6 +- 1 file changed, 1 insertion(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/800e45f4/src/java/org/apache/cassandra/db/Memtable.java -- diff --cc src/java/org/apache/cassandra/db/Memtable.java index 01170d6,b6fceda..1d26779 --- a/src/java/org/apache/cassandra/db/Memtable.java +++ b/src/java/org/apache/cassandra/db/Memtable.java @@@ -180,22 -190,19 +180,18 @@@ public class Memtabl private void resolve(DecoratedKey key, ColumnFamily cf, SecondaryIndexManager.Updater indexer) { -ColumnFamily previous = columnFamilies.get(key); +AtomicSortedColumns previous = rows.get(key); - long sizeDelta = 0; if (previous == null) { -// AtomicSortedColumns doesn't work for super columns (see #3821) -ColumnFamily empty = cf.cloneMeShallow(cf.isSuper() ? ThreadSafeSortedColumns.factory() : AtomicSortedColumns.factory(), false); +AtomicSortedColumns empty = cf.cloneMeShallow(AtomicSortedColumns.factory, false); // We'll add the columns later. This avoids wasting works if we get beaten in the putIfAbsent -previous = columnFamilies.putIfAbsent(new DecoratedKey(key.token, allocator.clone(key.key)), empty); +previous = rows.putIfAbsent(new DecoratedKey(key.token, allocator.clone(key.key)), empty); if (previous == null) - { previous = empty; - sizeDelta += empty.deletionInfo().dataSize(); - } } - sizeDelta = previous.addAllWithSizeDelta(cf, allocator, localCopyFunction, indexer); + long sizeDelta = previous.addAllWithSizeDelta(cf, allocator, localCopyFunction, indexer); currentSize.addAndGet(sizeDelta); currentOperations.addAndGet(cf.getColumnCount() + (cf.isMarkedForDelete() ? 1 : 0) + cf.deletionInfo().rangeCount()); }
[1/3] git commit: Clean up Memtable.resolve()
Updated Branches: refs/heads/trunk a4ed367ea - 813da911b Clean up Memtable.resolve() Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/887558f7 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/887558f7 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/887558f7 Branch: refs/heads/trunk Commit: 887558f7a3c6a5bbb38a1cf0bacad90f8baa4f0e Parents: c70f6d8 Author: Aleksey Yeschenko alek...@apache.org Authored: Sat Feb 8 04:11:32 2014 +0300 Committer: Aleksey Yeschenko alek...@apache.org Committed: Sat Feb 8 04:11:32 2014 +0300 -- src/java/org/apache/cassandra/db/Memtable.java | 6 +- 1 file changed, 1 insertion(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/887558f7/src/java/org/apache/cassandra/db/Memtable.java -- diff --git a/src/java/org/apache/cassandra/db/Memtable.java b/src/java/org/apache/cassandra/db/Memtable.java index b229060..b6fceda 100644 --- a/src/java/org/apache/cassandra/db/Memtable.java +++ b/src/java/org/apache/cassandra/db/Memtable.java @@ -192,7 +192,6 @@ public class Memtable { ColumnFamily previous = columnFamilies.get(key); -long sizeDelta = 0; if (previous == null) { // AtomicSortedColumns doesn't work for super columns (see #3821) @@ -200,13 +199,10 @@ public class Memtable // We'll add the columns later. This avoids wasting works if we get beaten in the putIfAbsent previous = columnFamilies.putIfAbsent(new DecoratedKey(key.token, allocator.clone(key.key)), empty); if (previous == null) -{ previous = empty; -sizeDelta += empty.deletionInfo().dataSize(); -} } -sizeDelta = previous.addAllWithSizeDelta(cf, allocator, localCopyFunction, indexer); +long sizeDelta = previous.addAllWithSizeDelta(cf, allocator, localCopyFunction, indexer); currentSize.addAndGet(sizeDelta); currentOperations.addAndGet(cf.getColumnCount() + (cf.isMarkedForDelete() ? 1 : 0) + cf.deletionInfo().rangeCount()); }
[3/3] git commit: Merge branch 'cassandra-2.0' into trunk
Merge branch 'cassandra-2.0' into trunk Conflicts: src/java/org/apache/cassandra/db/Memtable.java Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/813da911 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/813da911 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/813da911 Branch: refs/heads/trunk Commit: 813da911b9b4ba53b4da9714f3b37e76687d2904 Parents: a4ed367 800e45f Author: Aleksey Yeschenko alek...@apache.org Authored: Sat Feb 8 04:13:41 2014 +0300 Committer: Aleksey Yeschenko alek...@apache.org Committed: Sat Feb 8 04:13:41 2014 +0300 -- --
git commit: remove dead code
Updated Branches: refs/heads/trunk 813da911b - bcfaeaa9c remove dead code Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/bcfaeaa9 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/bcfaeaa9 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/bcfaeaa9 Branch: refs/heads/trunk Commit: bcfaeaa9c88c056cc36b47ae2df49062316cac83 Parents: 813da91 Author: Dave Brosius dbros...@mebigfatguy.com Authored: Fri Feb 7 23:05:41 2014 -0500 Committer: Dave Brosius dbros...@mebigfatguy.com Committed: Fri Feb 7 23:05:41 2014 -0500 -- .../org/apache/cassandra/db/commitlog/CommitLogReplayer.java| 4 ++-- src/java/org/apache/cassandra/service/StorageProxy.java | 5 ++--- 2 files changed, 4 insertions(+), 5 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/bcfaeaa9/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java -- diff --git a/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java b/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java index 00c8bb4..df28b8e 100644 --- a/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java +++ b/src/java/org/apache/cassandra/db/commitlog/CommitLogReplayer.java @@ -147,7 +147,7 @@ public class CommitLogReplayer return end; } -private int getStartOffset(long segmentId, int version, File file) +private int getStartOffset(long segmentId, int version) { if (globalPosition.segment segmentId) { @@ -236,7 +236,7 @@ public class CommitLogReplayer try { assert reader.length() = Integer.MAX_VALUE; -int offset = getStartOffset(segmentId, version, file); +int offset = getStartOffset(segmentId, version); if (offset 0) { logger.debug(skipping replay of fully-flushed {}, file); http://git-wip-us.apache.org/repos/asf/cassandra/blob/bcfaeaa9/src/java/org/apache/cassandra/service/StorageProxy.java -- diff --git a/src/java/org/apache/cassandra/service/StorageProxy.java b/src/java/org/apache/cassandra/service/StorageProxy.java index 69d7123..8c31192 100644 --- a/src/java/org/apache/cassandra/service/StorageProxy.java +++ b/src/java/org/apache/cassandra/service/StorageProxy.java @@ -563,7 +563,7 @@ public class StorageProxy implements StorageProxyMBean syncWriteToBatchlog(mutations, batchlogEndpoints, batchUUID); // now actually perform the writes and wait for them to complete -syncWriteBatchedMutations(wrappers, localDataCenter, consistency_level); +syncWriteBatchedMutations(wrappers, localDataCenter); // remove the batchlog entries asynchronously asyncRemoveFromBatchlog(batchlogEndpoints, batchUUID); @@ -630,8 +630,7 @@ public class StorageProxy implements StorageProxyMBean } private static void syncWriteBatchedMutations(ListWriteResponseHandlerWrapper wrappers, - String localDataCenter, - ConsistencyLevel consistencyLevel) + String localDataCenter) throws WriteTimeoutException, OverloadedException { for (WriteResponseHandlerWrapper wrapper : wrappers)
[jira] [Commented] (CASSANDRA-6679) CleanupTest occasional failure in 1.2
[ https://issues.apache.org/jira/browse/CASSANDRA-6679?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13895424#comment-13895424 ] Brandon Williams commented on CASSANDRA-6679: - When this fails this way it's because cfs.getSSTables() returned an empty list. But it can fail another way, too: {noformat} [junit] Testcase: testCleanup(org.apache.cassandra.db.CleanupTest): FAILED [junit] expected:200 but was:145 [junit] junit.framework.AssertionFailedError: expected:200 but was:145 [junit] at org.apache.cassandra.db.CleanupTest.testCleanup(CleanupTest.java:95) {noformat} Line number is off by a few there because of extra debug logging I added. CleanupTest occasional failure in 1.2 - Key: CASSANDRA-6679 URL: https://issues.apache.org/jira/browse/CASSANDRA-6679 Project: Cassandra Issue Type: Test Components: Tests Environment: Debian Stable (Wheezy) amd64 Oracle JVM 1.7.0_51-b13 Reporter: Michael Shuler Assignee: Marcus Eriksson Priority: Minor Attachments: system.log {noformat} test: [echo] running unit tests [junit] WARNING: multiple versions of ant detected in path for junit [junit] jar:file:/usr/share/ant/lib/ant.jar!/org/apache/tools/ant/Project.class [junit] and jar:file:/home/mshuler/git/cassandra/build/lib/jars/ant-1.6.5.jar!/org/apache/tools/ant/Project.class [junit] Testsuite: org.apache.cassandra.db.CleanupTest [junit] Tests run: 2, Failures: 1, Errors: 0, Time elapsed: 6.508 sec [junit] [junit] - Standard Error - [junit] WARN 15:27:11,566 No host ID found, created e8a8a37c-56c5-49d5-8260-7a3dfc2174a7 (Note: This should happen exactly once per node). [junit] WARN 15:27:11,655 Generated random token [0850c6b26994617235bec220dd17a6d6]. Random tokens will result in an unbalanced ring; see http://wiki.apache.org/cassandra/Operations [junit] - --- [junit] Testcase: testCleanup(org.apache.cassandra.db.CleanupTest): FAILED [junit] null [junit] junit.framework.AssertionFailedError [junit] at org.apache.cassandra.db.CleanupTest.testCleanup(CleanupTest.java:87) [junit] [junit] [junit] Test org.apache.cassandra.db.CleanupTest FAILED BUILD FAILED {noformat} - loop through CleanupTest unit test (https://issues.apache.org/jira/secure/attachment/12627493/test.sh) - system.log from failed test attached -- This message was sent by Atlassian JIRA (v6.1.5#6160)