[jira] [Created] (CASSANDRA-8134) cassandra crashes sporadically on windows
Stefan Gusenbauer created CASSANDRA-8134: Summary: cassandra crashes sporadically on windows Key: CASSANDRA-8134 URL: https://issues.apache.org/jira/browse/CASSANDRA-8134 Project: Cassandra Issue Type: Bug Environment: OS: Windows Server 2012 R2 , 64 bit Build 9600 CPU:total 2 (2 cores per cpu, 1 threads per core) family 6 model 37 stepping 1, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, aes, tsc, tscinvbit Memory: 4k page, physical 8388148k(3802204k free), swap 8388148k(4088948k free) vm_info: Java HotSpot(TM) 64-Bit Server VM (24.60-b09) for windows-amd64 JRE (1.7.0_60-b19), built on May 7 2014 12:55:18 by "java_re" with unknown MS VC++:1600 Reporter: Stefan Gusenbauer Attachments: hs_err_pid1180.log, hs_err_pid5732.log During our test runs cassandra crashes from time to time with the following stacktrace: a similar bug can be found here https://issues.apache.org/jira/browse/CASSANDRA-5256 operating system is --- S Y S T E M --- OS: Windows Server 2012 R2 , 64 bit Build 9600 CPU:total 2 (2 cores per cpu, 1 threads per core) family 6 model 37 stepping 1, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, aes, tsc, tscinvbit Memory: 4k page, physical 8388148k(3802204k free), swap 8388148k(4088948k free) vm_info: Java HotSpot(TM) 64-Bit Server VM (24.60-b09) for windows-amd64 JRE (1.7.0_60-b19), built on May 7 2014 12:55:18 by "java_re" with unknown MS VC++:1600 time: Wed Oct 15 09:32:30 2014 elapsed time: 16 seconds attached are several hs_err files too j org.apache.cassandra.io.util.Memory.getLong(J)J+14 j org.apache.cassandra.io.compress.CompressionMetadata.chunkFor(J)Lorg/apache/cassandra/io/compress/CompressionMetadata$Chunk;+53 j org.apache.cassandra.io.compress.CompressedRandomAccessReader.reBuffer()V+9 j org.apache.cassandra.io.compress.CompressedThrottledReader.reBuffer()V+13 J 258 C2 org.apache.cassandra.io.util.RandomAccessReader.read()I (128 bytes) @ 0x0250cbcc [0x0250cae0+0xec] J 306 C2 java.io.RandomAccessFile.readUnsignedShort()I (33 bytes) @ 0x025475e4 [0x02547480+0x164] J 307 C2 org.apache.cassandra.utils.ByteBufferUtil.readWithShortLength(Ljava/io/DataInput;)Ljava/nio/ByteBuffer; (9 bytes) @ 0x0254c290 [0x0254c140+0x150] j org.apache.cassandra.io.sstable.SSTableScanner$KeyScanningIterator.next()Lorg/apache/cassandra/db/columniterator/OnDiskAtomIterator;+65 j org.apache.cassandra.io.sstable.SSTableScanner$KeyScanningIterator.next()Ljava/lang/Object;+1 j org.apache.cassandra.io.sstable.SSTableScanner.next()Lorg/apache/cassandra/db/columniterator/OnDiskAtomIterator;+41 j org.apache.cassandra.io.sstable.SSTableScanner.next()Ljava/lang/Object;+1 j org.apache.cassandra.utils.MergeIterator$Candidate.advance()Z+19 j org.apache.cassandra.utils.MergeIterator$ManyToOne.(Ljava/util/List;Ljava/util/Comparator;Lorg/apache/cassandra/utils/MergeIterator$Reducer;)V+71 j org.apache.cassandra.utils.MergeIterator.get(Ljava/util/List;Ljava/util/Comparator;Lorg/apache/cassandra/utils/MergeIterator$Reducer;)Lorg/apache/cassandra/utils/IMergeIterator;+46 j org.apache.cassandra.db.compaction.CompactionIterable.iterator()Lorg/apache/cassandra/utils/CloseableIterator;+15 j org.apache.cassandra.db.compaction.CompactionTask.runWith(Ljava/io/File;)V+319 j org.apache.cassandra.io.util.DiskAwareRunnable.runMayThrow()V+89 j org.apache.cassandra.utils.WrappedRunnable.run()V+1 j org.apache.cassandra.db.compaction.CompactionTask.executeInternal(Lorg/apache/cassandra/db/compaction/CompactionManager$CompactionExecutorStatsCollector;)I+6 j org.apache.cassandra.db.compaction.AbstractCompactionTask.execute(Lorg/apache/cassandra/db/compaction/CompactionManager$CompactionExecutorStatsCollector;)I+2 j org.apache.cassandra.db.compaction.CompactionManager$BackgroundCompactionTask.run()V+164 j java.util.concurrent.Executors$RunnableAdapter.call()Ljava/lang/Object;+4 j java.util.concurrent.FutureTask.run()V+42 j java.util.concurrent.ThreadPoolExecutor.runWorker(Ljava/util/concurrent/ThreadPoolExecutor$Worker;)V+95 j java.util.concurrent.ThreadPoolExecutor$Worker.run()V+5 j java.lang.Thread.run()V+11 v ~StubRoutines::call_stub V [jvm.dll+0x1ce043] -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-7966) 1.2.18 -> 2.0.10 upgrade compactions_in_progress: java.lang.IllegalArgumentException
[ https://issues.apache.org/jira/browse/CASSANDRA-7966?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14174763#comment-14174763 ] Marcus Eriksson commented on CASSANDRA-7966: Could you post a bit more of the log leading up to that exception? > 1.2.18 -> 2.0.10 upgrade compactions_in_progress: > java.lang.IllegalArgumentException > > > Key: CASSANDRA-7966 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7966 > Project: Cassandra > Issue Type: Bug > Environment: JDK 1.7 >Reporter: Karl Mueller >Assignee: Marcus Eriksson >Priority: Minor > > This happened on a new node when starting 2.0.10 after 1.2.18 with complete > upgradesstables run: > {noformat} > INFO 15:31:11,532 Enqueuing flush of > Memtable-compactions_in_progress@1366724594(0/0 serialized/live bytes, 1 ops) > INFO 15:31:11,532 Writing Memtable-compactions_in_progress@1366724594(0/0 > serialized/live bytes, 1 ops) > INFO 15:31:11,547 Completed flushing > /data2/data-cassandra/system/compactions_in_progress/system-compactions_in_progress-jb-10-Data.db > (42 bytes) for commitlog position ReplayPosition(segmentId=1410993002452, > position=164409) > ERROR 15:31:11,550 Exception in thread Thread[CompactionExecutor:36,1,main] > java.lang.IllegalArgumentException > at java.nio.Buffer.limit(Buffer.java:267) > at > org.apache.cassandra.utils.ByteBufferUtil.readBytes(ByteBufferUtil.java:587) > at > org.apache.cassandra.utils.ByteBufferUtil.readBytesWithShortLength(ByteBufferUtil.java:596) > at > org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:61) > at > org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:36) > at > org.apache.cassandra.db.ArrayBackedSortedColumns.addColumn(ArrayBackedSortedColumns.java:112) > at > org.apache.cassandra.db.ColumnFamily.addColumn(ColumnFamily.java:116) > at org.apache.cassandra.db.ColumnFamily.addAtom(ColumnFamily.java:150) > at > org.apache.cassandra.io.sstable.SSTableIdentityIterator.getColumnFamilyWithColumns(SSTableIdentityIterator.java:186) > at > org.apache.cassandra.db.compaction.PrecompactedRow.merge(PrecompactedRow.java:98) > at > org.apache.cassandra.db.compaction.PrecompactedRow.(PrecompactedRow.java:85) > at > org.apache.cassandra.db.compaction.CompactionController.getCompactedRow(CompactionController.java:196) > at > org.apache.cassandra.db.compaction.CompactionIterable$Reducer.getReduced(CompactionIterable.java:74) > at > org.apache.cassandra.db.compaction.CompactionIterable$Reducer.getReduced(CompactionIterable.java:55) > 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.compaction.CompactionTask.runWith(CompactionTask.java:143) > at > org.apache.cassandra.io.util.DiskAwareRunnable.runMayThrow(DiskAwareRunnable.java:48) > at > org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) > at > org.apache.cassandra.db.compaction.CompactionTask.executeInternal(CompactionTask.java:60) > at > org.apache.cassandra.db.compaction.AbstractCompactionTask.execute(AbstractCompactionTask.java:59) > at > org.apache.cassandra.db.compaction.CompactionManager$BackgroundCompactionTask.run(CompactionManager.java:198) > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) > at java.util.concurrent.FutureTask.run(FutureTask.java:262) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:724) > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Resolved] (CASSANDRA-7368) Compaction stops after org.apache.cassandra.io.sstable.CorruptSSTableException
[ https://issues.apache.org/jira/browse/CASSANDRA-7368?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Marcus Eriksson resolved CASSANDRA-7368. Resolution: Cannot Reproduce The compaction stopping can have a few causes (that are now fixed), first we have CASSANDRA-7745 where we wrongly said that there were no more compactions to do, and then we have the fact that multi threaded compaction was really shaky and it is now gone (in 2.0) I would recommend upgrading to a newer version and try to reproduce it there > Compaction stops after org.apache.cassandra.io.sstable.CorruptSSTableException > -- > > Key: CASSANDRA-7368 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7368 > Project: Cassandra > Issue Type: Bug > Components: Core > Environment: OS: RHEL 6.5 > Cassandra version: 1.2.16 >Reporter: Francois Richard >Assignee: Marcus Eriksson > > Hi, > We are getting a case where compaction stops totally on a node after an > exception related to: org.apache.cassandra.io.sstable.CorruptSSTableException. > nodetool compactionstats remains at the same level for hours: > {code} > pending tasks: 1451 > compaction typekeyspace column family completed > total unit progress >CompactionSyncCoreContactPrefixBytesIndex > 257799931 376785179 bytes68.42% > Active compaction remaining time :n/a > {code} > Here is the exception log: > {code} > ERROR [Deserialize > SSTableReader(path='/home/y/var/cassandra/data/SyncCore/ContactPrefixBytesIndex/SyncCore-ContactPrefixBytesIndex-ic-116118-Data.db')] > 2014-06-09 06:39:37,570 CassandraDaemon.java (line 191) Exception in thread > Thread[Deserialize > SSTableReader(path='/home/y/var/cassandra/data/SyncCore/ContactPrefixBytesIndex/SyncCore-ContactPrefixBytesIndex-ic-116118-Data.db'),1,main] > org.apache.cassandra.io.sstable.CorruptSSTableException: java.io.IOException: > dataSize of 7421941880990663551 starting at 257836699 would be larger than > file > /home/y/var/cassandra/data/SyncCore/ContactPrefixBytesIndex/SyncCore-ContactPrefixBytesIndex-ic-116118-Data.db > length 376785179 > at > org.apache.cassandra.io.sstable.SSTableIdentityIterator.(SSTableIdentityIterator.java:167) > at > org.apache.cassandra.io.sstable.SSTableIdentityIterator.(SSTableIdentityIterator.java:83) > at > org.apache.cassandra.io.sstable.SSTableIdentityIterator.(SSTableIdentityIterator.java:69) > at > org.apache.cassandra.io.sstable.SSTableScanner$KeyScanningIterator.next(SSTableScanner.java:180) > at > org.apache.cassandra.io.sstable.SSTableScanner$KeyScanningIterator.next(SSTableScanner.java:155) > at > org.apache.cassandra.io.sstable.SSTableScanner.next(SSTableScanner.java:142) > at > org.apache.cassandra.io.sstable.SSTableScanner.next(SSTableScanner.java:38) > at > org.apache.cassandra.db.compaction.LeveledCompactionStrategy$LeveledScanner.computeNext(LeveledCompactionStrategy.java:238) > at > org.apache.cassandra.db.compaction.LeveledCompactionStrategy$LeveledScanner.computeNext(LeveledCompactionStrategy.java:207) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) > -- > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Resolved] (CASSANDRA-7949) LCS compaction low performance, many pending compactions, nodes are almost idle
[ https://issues.apache.org/jira/browse/CASSANDRA-7949?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Marcus Eriksson resolved CASSANDRA-7949. Resolution: Duplicate I think this is a problem that CASSANDRA-7409 will solve If you have a system where you can test these things, we would love if you could test the patch in that ticket > LCS compaction low performance, many pending compactions, nodes are almost > idle > --- > > Key: CASSANDRA-7949 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7949 > Project: Cassandra > Issue Type: Bug > Components: Core > Environment: DSE 4.5.1-1, Cassandra 2.0.8 >Reporter: Nikolai Grigoriev > Attachments: iostats.txt, nodetool_compactionstats.txt, > nodetool_tpstats.txt, pending compactions 2day.png, system.log.gz, vmstat.txt > > > I've been evaluating new cluster of 15 nodes (32 core, 6x800Gb SSD disks + > 2x600Gb SAS, 128Gb RAM, OEL 6.5) and I've built a simulator that creates the > load similar to the load in our future product. Before running the simulator > I had to pre-generate enough data. This was done using Java code and DataStax > Java driver. To avoid going deep into details, two tables have been > generated. Each table currently has about 55M rows and between few dozens and > few thousands of columns in each row. > This data generation process was generating massive amount of non-overlapping > data. Thus, the activity was write-only and highly parallel. This is not the > type of the traffic that the system will have ultimately to deal with, it > will be mix of reads and updates to the existing data in the future. This is > just to explain the choice of LCS, not mentioning the expensive SSD disk > space. > At some point while generating the data I have noticed that the compactions > started to pile up. I knew that I was overloading the cluster but I still > wanted the genration test to complete. I was expecting to give the cluster > enough time to finish the pending compactions and get ready for real traffic. > However, after the storm of write requests have been stopped I have noticed > that the number of pending compactions remained constant (and even climbed up > a little bit) on all nodes. After trying to tune some parameters (like > setting the compaction bandwidth cap to 0) I have noticed a strange pattern: > the nodes were compacting one of the CFs in a single stream using virtually > no CPU and no disk I/O. This process was taking hours. After that it would be > followed by a short burst of few dozens of compactions running in parallel > (CPU at 2000%, some disk I/O - up to 10-20%) and then getting stuck again for > many hours doing one compaction at time. So it looks like this: > # nodetool compactionstats > pending tasks: 3351 > compaction typekeyspace table completed > total unit progress >Compaction myks table_list1 66499295588 > 1910515889913 bytes 3.48% > Active compaction remaining time :n/a > # df -h > ... > /dev/sdb1.5T 637G 854G 43% /cassandra-data/disk1 > /dev/sdc1.5T 425G 1.1T 29% /cassandra-data/disk2 > /dev/sdd1.5T 429G 1.1T 29% /cassandra-data/disk3 > # find . -name **table_list1**Data** | grep -v snapshot | wc -l > 1310 > Among these files I see: > 1043 files of 161Mb (my sstable size is 160Mb) > 9 large files - 3 between 1 and 2Gb, 3 of 5-8Gb, 55Gb, 70Gb and 370Gb > 263 files of various sized - between few dozens of Kb and 160Mb > I've been running the heavy load for about 1,5days and it's been close to 3 > days after that and the number of pending compactions does not go down. > I have applied one of the not-so-obvious recommendations to disable > multithreaded compactions and that seems to be helping a bit - I see some > nodes started to have fewer pending compactions. About half of the cluster, > in fact. But even there I see they are sitting idle most of the time lazily > compacting in one stream with CPU at ~140% and occasionally doing the bursts > of compaction work for few minutes. > I am wondering if this is really a bug or something in the LCS logic that > would manifest itself only in such an edge case scenario where I have loaded > lots of unique data quickly. > By the way, I see this pattern only for one of two tables - the one that has > about 4 times more data than another (space-wise, number of rows is the > same). Looks like all these pending compactions are really only for that > larger table. > I'll be attaching the relevant logs shortly. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-8132) Save or stream hints to a safe place in node replacement
[ https://issues.apache.org/jira/browse/CASSANDRA-8132?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14174729#comment-14174729 ] Minh Do commented on CASSANDRA-8132: Brandon, I mean it is the other way around to stream hints from the node about to be replaced to one of its neighbors. It is just like in unbootstrap() that we have to stream hints from the closest node prior to the shutdown. We need to do this because we don't want to lose hints in shutting down a node and replacing it with a new instance or machine. > Save or stream hints to a safe place in node replacement > > > Key: CASSANDRA-8132 > URL: https://issues.apache.org/jira/browse/CASSANDRA-8132 > Project: Cassandra > Issue Type: Improvement > Components: Core >Reporter: Minh Do >Assignee: Minh Do > Fix For: 2.1.1 > > > Often, we need to replace a node with a new instance in the cloud environment > where we have all nodes are still alive. To be safe without losing data, we > usually make sure all hints are gone before we do this operation. > Replacement means we just want to shutdown C* process on a node and bring up > another instance to take over that node's token. > However, if a node to be replaced has a lot of stored hints, its > HintedHandofManager seems very slow to send the hints to other nodes. In our > case, we tried to replace a node and had to wait for several days before its > stored hints are clear out. As mentioned above, we need all hints on this > node to clear out before we can terminate it and replace it by a new > instance/machine. > Since this is not a decommission, I am proposing that we have the same > hints-streaming mechanism as in the decommission code. Furthermore, there > needs to be a cmd for NodeTool to trigger this. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-8132) Save or stream hints to a safe place in node replacement
[ https://issues.apache.org/jira/browse/CASSANDRA-8132?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Minh Do updated CASSANDRA-8132: --- Description: Often, we need to replace a node with a new instance in the cloud environment where we have all nodes are still alive. To be safe without losing data, we usually make sure all hints are gone before we do this operation. Replacement means we just want to shutdown C* process on a node and bring up another instance to take over that node's token. However, if a node to be replaced has a lot of stored hints, its HintedHandofManager seems very slow to send the hints to other nodes. In our case, we tried to replace a node and had to wait for several days before its stored hints are clear out. As mentioned above, we need all hints on this node to clear out before we can terminate it and replace it by a new instance/machine. Since this is not a decommission, I am proposing that we have the same hints-streaming mechanism as in the decommission code. Furthermore, there needs to be a cmd for NodeTool to trigger this. was: Often, we need to replace a node with a new instance in the cloud environment where we have all nodes are still alive. To be safe without losing data, we usually make sure all hints are gone before we do this operation. Replacement means we just want to shutdown C* process on a node and bring up another instance to take over that node's token. However, if a node to be replaced has a lot of stored hints, its HintedHandofManager seems very slow to send the hints to other nodes. In our case, we tried to replace a node and had to wait for several days before its stored hints are clear out. As mentioned above, we need all hints on this node to clear out before we can terminate it and replace it by a new node. Since this is not a decommission, I am proposing that we have the same hints-streaming mechanism as in the decommission code. Furthermore, there needs to be a cmd for NodeTool to trigger this. > Save or stream hints to a safe place in node replacement > > > Key: CASSANDRA-8132 > URL: https://issues.apache.org/jira/browse/CASSANDRA-8132 > Project: Cassandra > Issue Type: Improvement > Components: Core >Reporter: Minh Do >Assignee: Minh Do > Fix For: 2.1.1 > > > Often, we need to replace a node with a new instance in the cloud environment > where we have all nodes are still alive. To be safe without losing data, we > usually make sure all hints are gone before we do this operation. > Replacement means we just want to shutdown C* process on a node and bring up > another instance to take over that node's token. > However, if a node to be replaced has a lot of stored hints, its > HintedHandofManager seems very slow to send the hints to other nodes. In our > case, we tried to replace a node and had to wait for several days before its > stored hints are clear out. As mentioned above, we need all hints on this > node to clear out before we can terminate it and replace it by a new > instance/machine. > Since this is not a decommission, I am proposing that we have the same > hints-streaming mechanism as in the decommission code. Furthermore, there > needs to be a cmd for NodeTool to trigger this. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-8132) Save or stream hints to a safe place in node replacement
[ https://issues.apache.org/jira/browse/CASSANDRA-8132?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Minh Do updated CASSANDRA-8132: --- Description: Often, we need to replace a node with a new instance in the cloud environment where we have all nodes are still alive. To be safe without losing data, we usually make sure all hints are gone before we do this operation. Replacement means we just want to shutdown C* process on a node and bring up another instance to take over that node's token. However, if a node to be replaced has a lot of stored hints, its HintedHandofManager seems very slow to send the hints to other nodes. In our case, we tried to replace a node and had to wait for several days before its stored hints are clear out. As mentioned above, we need all hints on this node to clear out before we can terminate it and replace it by a new node. Since this is not a decommission, I am proposing that we have the same hints-streaming mechanism as in the decommission code. Furthermore, there needs to be a cmd for NodeTool to trigger this. was: Often, we need to replace a node with a new instance in the cloud environment where we have all nodes are still alive. To be safe without losing data, we usually make sure all hints are gone before we do this operation. Replacement means we just want to shutdown C* process on a node and bring up another instance to take over that node's token. However, if a node has a lot of stored hints, HintedHandofManager seems very slow to play the hints. In our case, we tried to replace a node and had to wait for several days. Since this is not a decommission, I am proposing that we have the same hints-streaming mechanism as in the decommission code. Furthermore, there needs to be a cmd for NodeTool to trigger this. > Save or stream hints to a safe place in node replacement > > > Key: CASSANDRA-8132 > URL: https://issues.apache.org/jira/browse/CASSANDRA-8132 > Project: Cassandra > Issue Type: Improvement > Components: Core >Reporter: Minh Do >Assignee: Minh Do > Fix For: 2.1.1 > > > Often, we need to replace a node with a new instance in the cloud environment > where we have all nodes are still alive. To be safe without losing data, we > usually make sure all hints are gone before we do this operation. > Replacement means we just want to shutdown C* process on a node and bring up > another instance to take over that node's token. > However, if a node to be replaced has a lot of stored hints, its > HintedHandofManager seems very slow to send the hints to other nodes. In our > case, we tried to replace a node and had to wait for several days before its > stored hints are clear out. As mentioned above, we need all hints on this > node to clear out before we can terminate it and replace it by a new node. > Since this is not a decommission, I am proposing that we have the same > hints-streaming mechanism as in the decommission code. Furthermore, there > needs to be a cmd for NodeTool to trigger this. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Comment Edited] (CASSANDRA-7949) LCS compaction low performance, many pending compactions, nodes are almost idle
[ https://issues.apache.org/jira/browse/CASSANDRA-7949?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14174702#comment-14174702 ] Nikolai Grigoriev edited comment on CASSANDRA-7949 at 10/17/14 3:57 AM: Update: Using the property from CASSANDRA-6621 does help to get out of this state. My cluster is slowly digesting the large sstables and creating bunch of nice small sstables from them. It is slower than using sstablesplit, I believe, because it actually does real compactions and, thus, processes and reprocesses different sets of sstables. My understanding is that every time I get new bunch of L0 sstables there is a phase for updating other levels and it repeats and repeats. With that property set I see that my total number of sstables grows, my number of "huge" sstables decreases and the average size of the sstable decreases as result. My conclusions so far: 1. STCS fallback in LCS is a double-edged sword. It is needed to prevent the flooding the node with tons of small sstables resulting from ongoing writes. These small ones are often much smaller than the configured target size and hey need to be merged. But also the use of STCS results in generation of the super-sized sstables. These become a large headache when the fallback stops and LCS is supposed to resume normal operations. It appears to me (my humble opinion) that fallback should be done to some kind of specialized "rescue" STCS flavor that merges the small sstables to approximately the LCS target sstable size BUT DOES NOT create sstables that are much larger than the target size. With this approach the LCS will resume normal operations much faster than the cause for the fallback (abnormally high write load) is gone. 2. LCS has major (performance?) issue when you have super-large sstables in the system. It often gets stuck with single long (many hours) compaction stream that, by itself, will increase the probability of another STCS fallback even with reasonable write load. As a possible workaround I was recommended to consider running multiple C* instances on our relatively powerful machines - to significantly reduce the amount of data per node and increase compaction throughput. 3. In the existing systems, depending on the severity of the STCS fallback "work", the fix from CASSANDRA-6621 may help to recover while keeping the nodes up. It will take a very long time to recover but the nodes will be online. 4. Recovery (see above) is very long. It is much much longer than the duration of the "stress period" that causes the condition. In my case I was writing like crazy for about 4 days and it's been over a week of compactions after that. I am still very far from 0 pending compactions. Considering this it makes sense to artificially throttle the write speed when generating the data (like in the use case I described in previous comments). Extra time spent on writing the data will be still significantly shorter than the amount of time required to recover from the consequences of abusing the available write bandwidth. was (Author: ngrigor...@gmail.com): Update: Using the property from CASSANDRA-6621 does help to get out of this state. My cluster is slowly digesting the large sstables and creating bunch of nice small sstables from them. It is slower than using sstablesplit, I believe, because it actually does real compactions and, thus, processes and reprocesses different sets of sstables. My understanding is that every time I get new bunch of L0 sstables there is a phase for updating other levels and it repeats and repeats. With that property set I see that my total number of sstables grows, my number of "huge" sstables decreases and the average size of the sstable decreases as result. My conclusions so far: 1. STCS fallback in LCS is a double-edged sword. It is needed to prevent the flooding the node with tons of small sstables resulting from ongoing writes. These small ones are often much smaller than the configured target size and hey need to be merged. But also the use of STCS results in generation of the super-sized sstables. These become a large headache when the fallback stops and LCS is supposed to resume normal operations. It appears to me (my humble opinion) that fallback should be done to some kind of specialized "rescue" STCS flavor that merges the small sstables to approximately the LCS target sstable size BUT DOES NOT create sstables that are much larger than the target size. With this approach the LCS will resume normal operations much faster than the cause for the fallback (abnormally high write load) is gone. 2. LCS has major (performance?) issue when you have super-large sstables in the system. It often gets stuck with single long (many hours) compaction stream that, by itself, will increase the probability of another STCS fallback even with reason
[jira] [Commented] (CASSANDRA-7949) LCS compaction low performance, many pending compactions, nodes are almost idle
[ https://issues.apache.org/jira/browse/CASSANDRA-7949?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14174702#comment-14174702 ] Nikolai Grigoriev commented on CASSANDRA-7949: -- Update: Using the property from CASSANDRA-6621 does help to get out of this state. My cluster is slowly digesting the large sstables and creating bunch of nice small sstables from them. It is slower than using sstablesplit, I believe, because it actually does real compactions and, thus, processes and reprocesses different sets of sstables. My understanding is that every time I get new bunch of L0 sstables there is a phase for updating other levels and it repeats and repeats. With that property set I see that my total number of sstables grows, my number of "huge" sstables decreases and the average size of the sstable decreases as result. My conclusions so far: 1. STCS fallback in LCS is a double-edged sword. It is needed to prevent the flooding the node with tons of small sstables resulting from ongoing writes. These small ones are often much smaller than the configured target size and hey need to be merged. But also the use of STCS results in generation of the super-sized sstables. These become a large headache when the fallback stops and LCS is supposed to resume normal operations. It appears to me (my humble opinion) that fallback should be done to some kind of specialized "rescue" STCS flavor that merges the small sstables to approximately the LCS target sstable size BUT DOES NOT create sstables that are much larger than the target size. With this approach the LCS will resume normal operations much faster than the cause for the fallback (abnormally high write load) is gone. 2. LCS has major (performance?) issue when you have super-large sstables in the system. It often gets stuck with single long (many hours) compaction stream that, by itself, will increase the probability of another STCS fallback even with reasonable write load. As a possible workaround I was recommended to consider running multiple C* instances on our relatively powerful machines - to significantly reduce the amount of data per node and increase compaction throughput. 3. In the existing systems, depending on the severity of the STCS fallback "work" the fix from CASSANDRA-6621 may help to recover while keeping the nodes up. It will take a very long time to recover but the nodes will be online. 4. Recovery (see above) is very long. It is much much longer than the duration of the "stress period" that causes the condition. In my case I was writing like crazy for about 4 days and it's been over a week of compactions after that. I am still very far from 0 pending compactions. Considering this it makes sense to artificially throttle the write speed when generating the data (like in the use case I described in previous comments). Extra time spent on writing the data will be still significantly shorter than the amount of time required to recover from the consequences of abusing the available write bandwidth. > LCS compaction low performance, many pending compactions, nodes are almost > idle > --- > > Key: CASSANDRA-7949 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7949 > Project: Cassandra > Issue Type: Bug > Components: Core > Environment: DSE 4.5.1-1, Cassandra 2.0.8 >Reporter: Nikolai Grigoriev > Attachments: iostats.txt, nodetool_compactionstats.txt, > nodetool_tpstats.txt, pending compactions 2day.png, system.log.gz, vmstat.txt > > > I've been evaluating new cluster of 15 nodes (32 core, 6x800Gb SSD disks + > 2x600Gb SAS, 128Gb RAM, OEL 6.5) and I've built a simulator that creates the > load similar to the load in our future product. Before running the simulator > I had to pre-generate enough data. This was done using Java code and DataStax > Java driver. To avoid going deep into details, two tables have been > generated. Each table currently has about 55M rows and between few dozens and > few thousands of columns in each row. > This data generation process was generating massive amount of non-overlapping > data. Thus, the activity was write-only and highly parallel. This is not the > type of the traffic that the system will have ultimately to deal with, it > will be mix of reads and updates to the existing data in the future. This is > just to explain the choice of LCS, not mentioning the expensive SSD disk > space. > At some point while generating the data I have noticed that the compactions > started to pile up. I knew that I was overloading the cluster but I still > wanted the genration test to complete. I was expecting to give the cluster > enough time to finish the pending compactions and get ready for real traffic. > However, after t
[jira] [Commented] (CASSANDRA-8129) Increase max heap for sstablesplit
[ https://issues.apache.org/jira/browse/CASSANDRA-8129?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14174637#comment-14174637 ] Jonathan Ellis commented on CASSANDRA-8129: --- It shouldn't have to read large parts of the file into memory, though. What makes it OOM? > Increase max heap for sstablesplit > -- > > Key: CASSANDRA-8129 > URL: https://issues.apache.org/jira/browse/CASSANDRA-8129 > Project: Cassandra > Issue Type: Improvement > Components: Tools >Reporter: Matt Stump >Priority: Minor > > The max heap for sstablesplit is 256m. For large files that's too small and > it will OOM. We should increase the max heap to something like 2-4G with the > understanding that sstablesplit will only most likely be invoked to split > large files. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-7713) CommitLogTest failure causes cascading unit test failures
[ https://issues.apache.org/jira/browse/CASSANDRA-7713?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14174613#comment-14174613 ] Michael Shuler commented on CASSANDRA-7713: --- Without any recommendation on CASSANDRA-7927, since I haven't had a good look at it, we don't want to close this ticket without fixing/replacing/removing/something CommitFailurePolicy_stop leaving this non-writable dir behind - not only do following tests fail, things like `git clean -df` don't work, if this test dorks. :) I'd be happy if the solution was to pass in a code trigger of some sort than actually setting the dir read-only - whatever tests functionality properly. > CommitLogTest failure causes cascading unit test failures > - > > Key: CASSANDRA-7713 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7713 > Project: Cassandra > Issue Type: Test >Reporter: Michael Shuler >Assignee: Bogdan Kanivets > Fix For: 2.0.11 > > Attachments: CommitLogTest.system.log.txt > > > When CommitLogTest.testCommitFailurePolicy_stop fails or times out, > {{commitDir.setWritable(true)}} is never reached, so the > build/test/cassandra/commitlog directory is left without write permissions, > causing cascading failure of all subsequent tests. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-7713) CommitLogTest failure causes cascading unit test failures
[ https://issues.apache.org/jira/browse/CASSANDRA-7713?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14174588#comment-14174588 ] Joshua McKenzie commented on CASSANDRA-7713: This came up while I was working on CASSANDRA-7927. The _stop test was always returning true regardless of whether or not the stop case on CommitLog.handleCommitError actually stopped anything or not, and having that dangling directory w/out write permissions can cause problems (as evidenced here). I've updated that unit test in that ticket to actually pass the stop error in rather than trying to simulate it to confirm the Gossiper is shutting down; if the general public is happy with that solution we can close this as duplicate / not a problem after that ticket. > CommitLogTest failure causes cascading unit test failures > - > > Key: CASSANDRA-7713 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7713 > Project: Cassandra > Issue Type: Test >Reporter: Michael Shuler >Assignee: Bogdan Kanivets > Fix For: 2.0.11 > > Attachments: CommitLogTest.system.log.txt > > > When CommitLogTest.testCommitFailurePolicy_stop fails or times out, > {{commitDir.setWritable(true)}} is never reached, so the > build/test/cassandra/commitlog directory is left without write permissions, > causing cascading failure of all subsequent tests. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-8131) Short-circuited query results from collection index query
[ https://issues.apache.org/jira/browse/CASSANDRA-8131?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Michael Shuler updated CASSANDRA-8131: -- Assignee: Sylvain Lebresne Labels: collections cql3 cqlsh query queryparser triaged (was: collections cql3 cqlsh query queryparser) > Short-circuited query results from collection index query > - > > Key: CASSANDRA-8131 > URL: https://issues.apache.org/jira/browse/CASSANDRA-8131 > Project: Cassandra > Issue Type: Bug > Components: Core > Environment: Debian Wheezy, Oracle JDK, Cassandra 2.1 >Reporter: Catalin Alexandru Zamfir >Assignee: Sylvain Lebresne > Labels: collections, cql3, cqlsh, query, queryparser, triaged > Fix For: 2.1.0 > > > After watching Jonathan's 2014 summit video, I wanted to give collection > indexes a try as they seem to be a fit for a "search by key/values" usage > pattern we have in our setup. Doing some test queries that I expect users > would do against the table, a short-circuit behavior came up: > Here's the whole transcript: > {noformat} > CREATE TABLE by_sets (id int PRIMARY KEY, datakeys set, datavars > set); > CREATE INDEX by_sets_datakeys ON by_sets (datakeys); > CREATE INDEX by_sets_datavars ON by_sets (datavars); > INSERT INTO by_sets (id, datakeys, datavars) VALUES (1, {'a'}, {'b'}); > INSERT INTO by_sets (id, datakeys, datavars) VALUES (2, {'c'}, {'d'}); > INSERT INTO by_sets (id, datakeys, datavars) VALUES (3, {'e'}, {'f'}); > INSERT INTO by_sets (id, datakeys, datavars) VALUES (4, {'a'}, {'z'}); > SELECT * FROM by_sets; > id | datakeys | datavars > +--+-- > 1 |{'a'} |{'b'} > 2 |{'c'} |{'d'} > 4 |{'a'} |{'z'} > 3 |{'e'} |{'f'} > {noformat} > We then tried this query which short-circuited: > {noformat} > SELECT * FROM by_sets WHERE datakeys CONTAINS 'a' AND datakeys CONTAINS 'c'; > id | datakeys | datavars > +--+-- > 1 |{'a'} |{'b'} > 4 |{'a'} |{'z'} > (2 rows) > {noformat} > Instead of receveing 3 rows, which match the datakeys CONTAINS 'a' AND > datakeys CONTAINS 'c' we only got the first. > Doing the same, but with CONTAINS 'c' first, ignores the second AND. > {noformat} > SELECT * FROM by_sets WHERE datakeys CONTAINS 'c' AND datakeys CONTAINS 'a' ; > id | datakeys | datavars > +--+-- > 2 |{'c'} |{'d'} > (1 rows) > {noformat} > Also, on a side-note, I have two indexes on both datakeys and datavars. But > when trying to run a query such as: > {noformat} > select * from by_sets WHERE datakeys CONTAINS 'a' AND datavars CONTAINS 'z'; > code=2200 [Invalid query] message="Cannot execute this query as it might > involve data filtering and thus may have unpredictable performance. > If you want to execute this query despite the performance unpredictability, > use ALLOW FILTERING" > {noformat} > The second column, after AND (even if I inverse the order) requires an "allow > filtering" clause yet the column is indexed an an in-memory "join" of the > primary keys of these sets on the coordinator could build up the result. > Could anyone explain the short-circuit behavior? > And the requirement for "allow-filtering" on a secondly indexed column? > If they're not bugs but intended they should be documented better, at least > their limitations. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-7713) CommitLogTest failure causes cascading unit test failures
[ https://issues.apache.org/jira/browse/CASSANDRA-7713?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14174571#comment-14174571 ] Bogdan Kanivets commented on CASSANDRA-7713: Another way is to not use sleepUninterruptibly. It looks like this prevents 'finally' block to execute in time. That was my original solution, but then I've noticed that there is more general problem with the test - when you remove 'logFile.setWritable(false)' it still passes. I'll try to look into it this weekend to get a patch (have been busy lately), but feel free to reassign > CommitLogTest failure causes cascading unit test failures > - > > Key: CASSANDRA-7713 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7713 > Project: Cassandra > Issue Type: Test >Reporter: Michael Shuler >Assignee: Bogdan Kanivets > Fix For: 2.0.11 > > Attachments: CommitLogTest.system.log.txt > > > When CommitLogTest.testCommitFailurePolicy_stop fails or times out, > {{commitDir.setWritable(true)}} is never reached, so the > build/test/cassandra/commitlog directory is left without write permissions, > causing cascading failure of all subsequent tests. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-8131) Short-circuited query results from collection index query
[ https://issues.apache.org/jira/browse/CASSANDRA-8131?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14174567#comment-14174567 ] Michael Shuler commented on CASSANDRA-8131: --- On the cassandra-2.1 branch, commit 440824c, I get some different behavior: {noformat} mshuler@hana:~$ cqlsh Connected to Test Cluster at 127.0.0.1:9042. [cqlsh 5.0.1 | Cassandra 2.1.1-SNAPSHOT | CQL spec 3.2.0 | Native protocol v3] Use HELP for help. cqlsh> CREATE KEYSPACE test WITH replication = {'class': 'SimpleStrategy' , 'replication_factor': 1 }; cqlsh> USE test ; cqlsh:test> CREATE TABLE by_sets (id int PRIMARY KEY, datakeys set, datavars set); cqlsh:test> CREATE INDEX by_sets_datakeys ON by_sets (datakeys); cqlsh:test> CREATE INDEX by_sets_datavars ON by_sets (datavars); cqlsh:test> INSERT INTO by_sets (id, datakeys, datavars) VALUES (1, {'a'}, {'b'}); cqlsh:test> INSERT INTO by_sets (id, datakeys, datavars) VALUES (2, {'c'}, {'d'}); cqlsh:test> INSERT INTO by_sets (id, datakeys, datavars) VALUES (3, {'e'}, {'f'}); cqlsh:test> INSERT INTO by_sets (id, datakeys, datavars) VALUES (4, {'a'}, {'z'}); cqlsh:test> SELECT * FROM by_sets; id | datakeys | datavars +--+-- 1 |{'a'} |{'b'} 2 |{'c'} |{'d'} 4 |{'a'} |{'z'} 3 |{'e'} |{'f'} (4 rows) cqlsh:test> SELECT * FROM by_sets WHERE datakeys CONTAINS 'a' AND datakeys CONTAINS 'c'; id | datakeys | datavars +--+-- (0 rows) cqlsh:test> SELECT * FROM by_sets WHERE datakeys CONTAINS 'c' AND datakeys CONTAINS 'a' ; id | datakeys | datavars +--+-- (0 rows) cqlsh:test> SELECT * FROM by_sets WHERE datakeys CONTAINS 'a'; id | datakeys | datavars +--+-- 1 |{'a'} |{'b'} 4 |{'a'} |{'z'} (2 rows) cqlsh:test> SELECT * FROM by_sets WHERE datakeys CONTAINS 'c'; id | datakeys | datavars +--+-- 2 |{'c'} |{'d'} (1 rows) {noformat} > Short-circuited query results from collection index query > - > > Key: CASSANDRA-8131 > URL: https://issues.apache.org/jira/browse/CASSANDRA-8131 > Project: Cassandra > Issue Type: Bug > Components: Core > Environment: Debian Wheezy, Oracle JDK, Cassandra 2.1 >Reporter: Catalin Alexandru Zamfir > Labels: collections, cql3, cqlsh, query, queryparser > Fix For: 2.1.0 > > > After watching Jonathan's 2014 summit video, I wanted to give collection > indexes a try as they seem to be a fit for a "search by key/values" usage > pattern we have in our setup. Doing some test queries that I expect users > would do against the table, a short-circuit behavior came up: > Here's the whole transcript: > {noformat} > CREATE TABLE by_sets (id int PRIMARY KEY, datakeys set, datavars > set); > CREATE INDEX by_sets_datakeys ON by_sets (datakeys); > CREATE INDEX by_sets_datavars ON by_sets (datavars); > INSERT INTO by_sets (id, datakeys, datavars) VALUES (1, {'a'}, {'b'}); > INSERT INTO by_sets (id, datakeys, datavars) VALUES (2, {'c'}, {'d'}); > INSERT INTO by_sets (id, datakeys, datavars) VALUES (3, {'e'}, {'f'}); > INSERT INTO by_sets (id, datakeys, datavars) VALUES (4, {'a'}, {'z'}); > SELECT * FROM by_sets; > id | datakeys | datavars > +--+-- > 1 |{'a'} |{'b'} > 2 |{'c'} |{'d'} > 4 |{'a'} |{'z'} > 3 |{'e'} |{'f'} > {noformat} > We then tried this query which short-circuited: > {noformat} > SELECT * FROM by_sets WHERE datakeys CONTAINS 'a' AND datakeys CONTAINS 'c'; > id | datakeys | datavars > +--+-- > 1 |{'a'} |{'b'} > 4 |{'a'} |{'z'} > (2 rows) > {noformat} > Instead of receveing 3 rows, which match the datakeys CONTAINS 'a' AND > datakeys CONTAINS 'c' we only got the first. > Doing the same, but with CONTAINS 'c' first, ignores the second AND. > {noformat} > SELECT * FROM by_sets WHERE datakeys CONTAINS 'c' AND datakeys CONTAINS 'a' ; > id | datakeys | datavars > +--+-- > 2 |{'c'} |{'d'} > (1 rows) > {noformat} > Also, on a side-note, I have two indexes on both datakeys and datavars. But > when trying to run a query such as: > {noformat} > select * from by_sets WHERE datakeys CONTAINS 'a' AND datavars CONTAINS 'z'; > code=2200 [Invalid query] message="Cannot execute this query as it might > involve data filtering and thus may have unpredictable performance. > If you want to execute this query despite the performance unpredictability, > use ALLOW FILTERING" > {noformat} > The second column, after AND (even if I inverse the order) requires an "allow > filtering" clause yet the column is indexed an an in-memory "join" of the > primary keys of these sets on the coordinator could build up the result. > Could anyon
[jira] [Resolved] (CASSANDRA-7446) Batchlog should be streamed to a different node on decom
[ https://issues.apache.org/jira/browse/CASSANDRA-7446?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Aleksey Yeschenko resolved CASSANDRA-7446. -- Resolution: Fixed Fix Version/s: (was: 2.1.2) 2.1.1 2.0.11 Committed, thanks > Batchlog should be streamed to a different node on decom > > > Key: CASSANDRA-7446 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7446 > Project: Cassandra > Issue Type: Bug >Reporter: Aleksey Yeschenko >Assignee: Branimir Lambov > Fix For: 2.0.11, 2.1.1 > > Attachments: 7446-2.0.txt > > > Just like we stream hints on decom, we should also stream the contents of the > batchlog - even though we do replicate the batch to at least two nodes. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[2/3] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1
Merge branch 'cassandra-2.0' into cassandra-2.1 Conflicts: CHANGES.txt src/java/org/apache/cassandra/db/BatchlogManager.java Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/440824c1 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/440824c1 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/440824c1 Branch: refs/heads/trunk Commit: 440824c1a60a344bc3e8a5ad35ae2fac879bd61d Parents: 014d328 e916dff Author: Aleksey Yeschenko Authored: Fri Oct 17 03:40:17 2014 +0300 Committer: Aleksey Yeschenko Committed: Fri Oct 17 03:40:17 2014 +0300 -- CHANGES.txt | 1 + .../apache/cassandra/db/BatchlogManager.java| 64 ++-- .../cassandra/service/StorageService.java | 25 ++-- .../cassandra/db/BatchlogManagerTest.java | 8 +-- 4 files changed, 57 insertions(+), 41 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/440824c1/CHANGES.txt -- diff --cc CHANGES.txt index b40e14b,73aaab0..d7a8904 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,89 -1,5 +1,90 @@@ -2.0.11: +2.1.1 + * Fix IllegalArgumentException when a list of IN values containing tuples + is passed as a single arg to a prepared statement with the v1 or v2 + protocol (CASSANDRA-8062) + * Fix ClassCastException in DISTINCT query on static columns with + query paging (CASSANDRA-8108) + * Fix NPE on null nested UDT inside a set (CASSANDRA-8105) + * Fix exception when querying secondary index on set items or map keys + when some clustering columns are specified (CASSANDRA-8073) + * Send proper error response when there is an error during native + protocol message decode (CASSANDRA-8118) + * Gossip should ignore generation numbers too far in the future (CASSANDRA-8113) + * Fix NPE when creating a table with frozen sets, lists (CASSANDRA-8104) + * Fix high memory use due to tracking reads on incrementally opened sstable + readers (CASSANDRA-8066) + * Fix EXECUTE request with skipMetadata=false returning no metadata + (CASSANDRA-8054) + * Allow concurrent use of CQLBulkOutputFormat (CASSANDRA-7776) + * Shutdown JVM on OOM (CASSANDRA-7507) + * Upgrade netty version and enable epoll event loop (CASSANDRA-7761) + * Don't duplicate sstables smaller than split size when using + the sstablesplitter tool (CASSANDRA-7616) + * Avoid re-parsing already prepared statements (CASSANDRA-7923) + * Fix some Thrift slice deletions and updates of COMPACT STORAGE + tables with some clustering columns omitted (CASSANDRA-7990) + * Fix filtering for CONTAINS on sets (CASSANDRA-8033) + * Properly track added size (CASSANDRA-7239) + * Allow compilation in java 8 (CASSANDRA-7208) + * Fix Assertion error on RangeTombstoneList diff (CASSANDRA-8013) + * Release references to overlapping sstables during compaction (CASSANDRA-7819) + * Send notification when opening compaction results early (CASSANDRA-8034) + * Make native server start block until properly bound (CASSANDRA-7885) + * (cqlsh) Fix IPv6 support (CASSANDRA-7988) + * Ignore fat clients when checking for endpoint collision (CASSANDRA-7939) + * Make sstablerepairedset take a list of files (CASSANDRA-7995) + * (cqlsh) Tab completeion for indexes on map keys (CASSANDRA-7972) + * (cqlsh) Fix UDT field selection in select clause (CASSANDRA-7891) + * Fix resource leak in event of corrupt sstable + * (cqlsh) Add command line option for cqlshrc file path (CASSANDRA-7131) + * Provide visibility into prepared statements churn (CASSANDRA-7921, CASSANDRA-7930) + * Invalidate prepared statements when their keyspace or table is + dropped (CASSANDRA-7566) + * cassandra-stress: fix support for NetworkTopologyStrategy (CASSANDRA-7945) + * Fix saving caches when a table is dropped (CASSANDRA-7784) + * Add better error checking of new stress profile (CASSANDRA-7716) + * Use ThreadLocalRandom and remove FBUtilities.threadLocalRandom (CASSANDRA-7934) + * Prevent operator mistakes due to simultaneous bootstrap (CASSANDRA-7069) + * cassandra-stress supports whitelist mode for node config (CASSANDRA-7658) + * GCInspector more closely tracks GC; cassandra-stress and nodetool report it (CASSANDRA-7916) + * nodetool won't output bogus ownership info without a keyspace (CASSANDRA-7173) + * Add human readable option to nodetool commands (CASSANDRA-5433) + * Don't try to set repairedAt on old sstables (CASSANDRA-7913) + * Add metrics for tracking PreparedStatement use (CASSANDRA-7719) + * (cqlsh) tab-completion for triggers (CASSANDRA-7824) + * (cqlsh) Support for query paging (CASSANDRA-7514) + * (cqlsh) Show progress of COPY operations (CASSANDRA-7789) + * Add syntax to remove mul
[3/3] git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/0ca6beb6 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/0ca6beb6 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/0ca6beb6 Branch: refs/heads/trunk Commit: 0ca6beb6823bcf6f31c69454da98c1f53cd88780 Parents: 543fbc3 440824c Author: Aleksey Yeschenko Authored: Fri Oct 17 03:40:46 2014 +0300 Committer: Aleksey Yeschenko Committed: Fri Oct 17 03:40:46 2014 +0300 -- CHANGES.txt | 1 + .../apache/cassandra/db/BatchlogManager.java| 63 ++-- .../cassandra/service/StorageService.java | 25 ++-- .../cassandra/db/BatchlogManagerTest.java | 8 +-- 4 files changed, 57 insertions(+), 40 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/0ca6beb6/CHANGES.txt -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/0ca6beb6/src/java/org/apache/cassandra/service/StorageService.java -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/0ca6beb6/test/unit/org/apache/cassandra/db/BatchlogManagerTest.java --
[1/3] git commit: Force batchlog replay before decommissioning a node
Repository: cassandra Updated Branches: refs/heads/trunk 543fbc374 -> 0ca6beb68 Force batchlog replay before decommissioning a node patch by Branimir Lambov; reviewed by Aleksey Yeschenko for CASSANDRA-7446 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/e916dff8 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e916dff8 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e916dff8 Branch: refs/heads/trunk Commit: e916dff8ba032d878ad4435eb7175c6a56f79ef4 Parents: 67db1bf Author: Branimir Lambov Authored: Fri Oct 17 03:18:37 2014 +0300 Committer: Aleksey Yeschenko Committed: Fri Oct 17 03:18:37 2014 +0300 -- CHANGES.txt | 1 + .../apache/cassandra/db/BatchlogManager.java| 63 ++-- .../cassandra/service/StorageService.java | 25 ++-- .../cassandra/db/BatchlogManagerTest.java | 8 +-- 4 files changed, 57 insertions(+), 40 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/e916dff8/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index cd4b6bb..73aaab0 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 2.0.11: + * Force batchlog replay before decommissioning a node (CASSANDRA-7446) * Fix hint replay with many accumulated expired hints (CASSANDRA-6998) * Fix duplicate results in DISTINCT queries on static columns with query paging (CASSANDRA-8108) http://git-wip-us.apache.org/repos/asf/cassandra/blob/e916dff8/src/java/org/apache/cassandra/db/BatchlogManager.java -- diff --git a/src/java/org/apache/cassandra/db/BatchlogManager.java b/src/java/org/apache/cassandra/db/BatchlogManager.java index b92c217..48f4c3c 100644 --- a/src/java/org/apache/cassandra/db/BatchlogManager.java +++ b/src/java/org/apache/cassandra/db/BatchlogManager.java @@ -25,7 +25,6 @@ import java.net.InetAddress; import java.nio.ByteBuffer; import java.util.*; import java.util.concurrent.*; -import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicLong; import javax.management.MBeanServer; import javax.management.ObjectName; @@ -69,8 +68,8 @@ public class BatchlogManager implements BatchlogManagerMBean public static final BatchlogManager instance = new BatchlogManager(); private final AtomicLong totalBatchesReplayed = new AtomicLong(); -private final AtomicBoolean isReplaying = new AtomicBoolean(); +// Single-thread executor service for scheduling and serializing log replay. public static final ScheduledExecutorService batchlogTasks = new DebuggableScheduledThreadPoolExecutor("BatchlogTasks"); public void start() @@ -108,6 +107,11 @@ public class BatchlogManager implements BatchlogManagerMBean public void forceBatchlogReplay() { +startBatchlogReplay(); +} + +public Future startBatchlogReplay() +{ Runnable runnable = new WrappedRunnable() { public void runMayThrow() throws ExecutionException, InterruptedException @@ -115,7 +119,8 @@ public class BatchlogManager implements BatchlogManagerMBean replayAllFailedBatches(); } }; -batchlogTasks.execute(runnable); +// If a replay is already in progress this request will be executed after it completes. +return batchlogTasks.submit(runnable); } public static RowMutation getBatchlogMutationFor(Collection mutations, UUID uuid) @@ -156,12 +161,8 @@ public class BatchlogManager implements BatchlogManagerMBean return ByteBuffer.wrap(bos.toByteArray()); } -@VisibleForTesting -void replayAllFailedBatches() throws ExecutionException, InterruptedException +private void replayAllFailedBatches() throws ExecutionException, InterruptedException { -if (!isReplaying.compareAndSet(false, true)) -return; - logger.debug("Started replayAllFailedBatches"); // rate limit is in bytes per second. Uses Double.MAX_VALUE if disabled (set to 0 in cassandra.yaml). @@ -169,34 +170,27 @@ public class BatchlogManager implements BatchlogManagerMBean int throttleInKB = DatabaseDescriptor.getBatchlogReplayThrottleInKB() / StorageService.instance.getTokenMetadata().getAllEndpoints().size(); RateLimiter rateLimiter = RateLimiter.create(throttleInKB == 0 ? Double.MAX_VALUE : throttleInKB * 1024); -try -{ -UntypedResultSet page = process("SELECT id, data, written_at, version FROM %s.%s LIMIT %d", -Keyspace.SYSTEM_KS, -SystemKey
[1/2] git commit: Force batchlog replay before decommissioning a node
Repository: cassandra Updated Branches: refs/heads/cassandra-2.1 014d328f4 -> 440824c1a Force batchlog replay before decommissioning a node patch by Branimir Lambov; reviewed by Aleksey Yeschenko for CASSANDRA-7446 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/e916dff8 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e916dff8 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e916dff8 Branch: refs/heads/cassandra-2.1 Commit: e916dff8ba032d878ad4435eb7175c6a56f79ef4 Parents: 67db1bf Author: Branimir Lambov Authored: Fri Oct 17 03:18:37 2014 +0300 Committer: Aleksey Yeschenko Committed: Fri Oct 17 03:18:37 2014 +0300 -- CHANGES.txt | 1 + .../apache/cassandra/db/BatchlogManager.java| 63 ++-- .../cassandra/service/StorageService.java | 25 ++-- .../cassandra/db/BatchlogManagerTest.java | 8 +-- 4 files changed, 57 insertions(+), 40 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/e916dff8/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index cd4b6bb..73aaab0 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 2.0.11: + * Force batchlog replay before decommissioning a node (CASSANDRA-7446) * Fix hint replay with many accumulated expired hints (CASSANDRA-6998) * Fix duplicate results in DISTINCT queries on static columns with query paging (CASSANDRA-8108) http://git-wip-us.apache.org/repos/asf/cassandra/blob/e916dff8/src/java/org/apache/cassandra/db/BatchlogManager.java -- diff --git a/src/java/org/apache/cassandra/db/BatchlogManager.java b/src/java/org/apache/cassandra/db/BatchlogManager.java index b92c217..48f4c3c 100644 --- a/src/java/org/apache/cassandra/db/BatchlogManager.java +++ b/src/java/org/apache/cassandra/db/BatchlogManager.java @@ -25,7 +25,6 @@ import java.net.InetAddress; import java.nio.ByteBuffer; import java.util.*; import java.util.concurrent.*; -import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicLong; import javax.management.MBeanServer; import javax.management.ObjectName; @@ -69,8 +68,8 @@ public class BatchlogManager implements BatchlogManagerMBean public static final BatchlogManager instance = new BatchlogManager(); private final AtomicLong totalBatchesReplayed = new AtomicLong(); -private final AtomicBoolean isReplaying = new AtomicBoolean(); +// Single-thread executor service for scheduling and serializing log replay. public static final ScheduledExecutorService batchlogTasks = new DebuggableScheduledThreadPoolExecutor("BatchlogTasks"); public void start() @@ -108,6 +107,11 @@ public class BatchlogManager implements BatchlogManagerMBean public void forceBatchlogReplay() { +startBatchlogReplay(); +} + +public Future startBatchlogReplay() +{ Runnable runnable = new WrappedRunnable() { public void runMayThrow() throws ExecutionException, InterruptedException @@ -115,7 +119,8 @@ public class BatchlogManager implements BatchlogManagerMBean replayAllFailedBatches(); } }; -batchlogTasks.execute(runnable); +// If a replay is already in progress this request will be executed after it completes. +return batchlogTasks.submit(runnable); } public static RowMutation getBatchlogMutationFor(Collection mutations, UUID uuid) @@ -156,12 +161,8 @@ public class BatchlogManager implements BatchlogManagerMBean return ByteBuffer.wrap(bos.toByteArray()); } -@VisibleForTesting -void replayAllFailedBatches() throws ExecutionException, InterruptedException +private void replayAllFailedBatches() throws ExecutionException, InterruptedException { -if (!isReplaying.compareAndSet(false, true)) -return; - logger.debug("Started replayAllFailedBatches"); // rate limit is in bytes per second. Uses Double.MAX_VALUE if disabled (set to 0 in cassandra.yaml). @@ -169,34 +170,27 @@ public class BatchlogManager implements BatchlogManagerMBean int throttleInKB = DatabaseDescriptor.getBatchlogReplayThrottleInKB() / StorageService.instance.getTokenMetadata().getAllEndpoints().size(); RateLimiter rateLimiter = RateLimiter.create(throttleInKB == 0 ? Double.MAX_VALUE : throttleInKB * 1024); -try -{ -UntypedResultSet page = process("SELECT id, data, written_at, version FROM %s.%s LIMIT %d", -Keyspace.SYSTEM_KS, -
[2/2] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1
Merge branch 'cassandra-2.0' into cassandra-2.1 Conflicts: CHANGES.txt src/java/org/apache/cassandra/db/BatchlogManager.java Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/440824c1 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/440824c1 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/440824c1 Branch: refs/heads/cassandra-2.1 Commit: 440824c1a60a344bc3e8a5ad35ae2fac879bd61d Parents: 014d328 e916dff Author: Aleksey Yeschenko Authored: Fri Oct 17 03:40:17 2014 +0300 Committer: Aleksey Yeschenko Committed: Fri Oct 17 03:40:17 2014 +0300 -- CHANGES.txt | 1 + .../apache/cassandra/db/BatchlogManager.java| 64 ++-- .../cassandra/service/StorageService.java | 25 ++-- .../cassandra/db/BatchlogManagerTest.java | 8 +-- 4 files changed, 57 insertions(+), 41 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/440824c1/CHANGES.txt -- diff --cc CHANGES.txt index b40e14b,73aaab0..d7a8904 --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,89 -1,5 +1,90 @@@ -2.0.11: +2.1.1 + * Fix IllegalArgumentException when a list of IN values containing tuples + is passed as a single arg to a prepared statement with the v1 or v2 + protocol (CASSANDRA-8062) + * Fix ClassCastException in DISTINCT query on static columns with + query paging (CASSANDRA-8108) + * Fix NPE on null nested UDT inside a set (CASSANDRA-8105) + * Fix exception when querying secondary index on set items or map keys + when some clustering columns are specified (CASSANDRA-8073) + * Send proper error response when there is an error during native + protocol message decode (CASSANDRA-8118) + * Gossip should ignore generation numbers too far in the future (CASSANDRA-8113) + * Fix NPE when creating a table with frozen sets, lists (CASSANDRA-8104) + * Fix high memory use due to tracking reads on incrementally opened sstable + readers (CASSANDRA-8066) + * Fix EXECUTE request with skipMetadata=false returning no metadata + (CASSANDRA-8054) + * Allow concurrent use of CQLBulkOutputFormat (CASSANDRA-7776) + * Shutdown JVM on OOM (CASSANDRA-7507) + * Upgrade netty version and enable epoll event loop (CASSANDRA-7761) + * Don't duplicate sstables smaller than split size when using + the sstablesplitter tool (CASSANDRA-7616) + * Avoid re-parsing already prepared statements (CASSANDRA-7923) + * Fix some Thrift slice deletions and updates of COMPACT STORAGE + tables with some clustering columns omitted (CASSANDRA-7990) + * Fix filtering for CONTAINS on sets (CASSANDRA-8033) + * Properly track added size (CASSANDRA-7239) + * Allow compilation in java 8 (CASSANDRA-7208) + * Fix Assertion error on RangeTombstoneList diff (CASSANDRA-8013) + * Release references to overlapping sstables during compaction (CASSANDRA-7819) + * Send notification when opening compaction results early (CASSANDRA-8034) + * Make native server start block until properly bound (CASSANDRA-7885) + * (cqlsh) Fix IPv6 support (CASSANDRA-7988) + * Ignore fat clients when checking for endpoint collision (CASSANDRA-7939) + * Make sstablerepairedset take a list of files (CASSANDRA-7995) + * (cqlsh) Tab completeion for indexes on map keys (CASSANDRA-7972) + * (cqlsh) Fix UDT field selection in select clause (CASSANDRA-7891) + * Fix resource leak in event of corrupt sstable + * (cqlsh) Add command line option for cqlshrc file path (CASSANDRA-7131) + * Provide visibility into prepared statements churn (CASSANDRA-7921, CASSANDRA-7930) + * Invalidate prepared statements when their keyspace or table is + dropped (CASSANDRA-7566) + * cassandra-stress: fix support for NetworkTopologyStrategy (CASSANDRA-7945) + * Fix saving caches when a table is dropped (CASSANDRA-7784) + * Add better error checking of new stress profile (CASSANDRA-7716) + * Use ThreadLocalRandom and remove FBUtilities.threadLocalRandom (CASSANDRA-7934) + * Prevent operator mistakes due to simultaneous bootstrap (CASSANDRA-7069) + * cassandra-stress supports whitelist mode for node config (CASSANDRA-7658) + * GCInspector more closely tracks GC; cassandra-stress and nodetool report it (CASSANDRA-7916) + * nodetool won't output bogus ownership info without a keyspace (CASSANDRA-7173) + * Add human readable option to nodetool commands (CASSANDRA-5433) + * Don't try to set repairedAt on old sstables (CASSANDRA-7913) + * Add metrics for tracking PreparedStatement use (CASSANDRA-7719) + * (cqlsh) tab-completion for triggers (CASSANDRA-7824) + * (cqlsh) Support for query paging (CASSANDRA-7514) + * (cqlsh) Show progress of COPY operations (CASSANDRA-7789) + * Add syntax to re
git commit: Force batchlog replay before decommissioning a node
Repository: cassandra Updated Branches: refs/heads/cassandra-2.0 67db1bf27 -> e916dff8b Force batchlog replay before decommissioning a node patch by Branimir Lambov; reviewed by Aleksey Yeschenko for CASSANDRA-7446 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/e916dff8 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/e916dff8 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/e916dff8 Branch: refs/heads/cassandra-2.0 Commit: e916dff8ba032d878ad4435eb7175c6a56f79ef4 Parents: 67db1bf Author: Branimir Lambov Authored: Fri Oct 17 03:18:37 2014 +0300 Committer: Aleksey Yeschenko Committed: Fri Oct 17 03:18:37 2014 +0300 -- CHANGES.txt | 1 + .../apache/cassandra/db/BatchlogManager.java| 63 ++-- .../cassandra/service/StorageService.java | 25 ++-- .../cassandra/db/BatchlogManagerTest.java | 8 +-- 4 files changed, 57 insertions(+), 40 deletions(-) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/e916dff8/CHANGES.txt -- diff --git a/CHANGES.txt b/CHANGES.txt index cd4b6bb..73aaab0 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,4 +1,5 @@ 2.0.11: + * Force batchlog replay before decommissioning a node (CASSANDRA-7446) * Fix hint replay with many accumulated expired hints (CASSANDRA-6998) * Fix duplicate results in DISTINCT queries on static columns with query paging (CASSANDRA-8108) http://git-wip-us.apache.org/repos/asf/cassandra/blob/e916dff8/src/java/org/apache/cassandra/db/BatchlogManager.java -- diff --git a/src/java/org/apache/cassandra/db/BatchlogManager.java b/src/java/org/apache/cassandra/db/BatchlogManager.java index b92c217..48f4c3c 100644 --- a/src/java/org/apache/cassandra/db/BatchlogManager.java +++ b/src/java/org/apache/cassandra/db/BatchlogManager.java @@ -25,7 +25,6 @@ import java.net.InetAddress; import java.nio.ByteBuffer; import java.util.*; import java.util.concurrent.*; -import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicLong; import javax.management.MBeanServer; import javax.management.ObjectName; @@ -69,8 +68,8 @@ public class BatchlogManager implements BatchlogManagerMBean public static final BatchlogManager instance = new BatchlogManager(); private final AtomicLong totalBatchesReplayed = new AtomicLong(); -private final AtomicBoolean isReplaying = new AtomicBoolean(); +// Single-thread executor service for scheduling and serializing log replay. public static final ScheduledExecutorService batchlogTasks = new DebuggableScheduledThreadPoolExecutor("BatchlogTasks"); public void start() @@ -108,6 +107,11 @@ public class BatchlogManager implements BatchlogManagerMBean public void forceBatchlogReplay() { +startBatchlogReplay(); +} + +public Future startBatchlogReplay() +{ Runnable runnable = new WrappedRunnable() { public void runMayThrow() throws ExecutionException, InterruptedException @@ -115,7 +119,8 @@ public class BatchlogManager implements BatchlogManagerMBean replayAllFailedBatches(); } }; -batchlogTasks.execute(runnable); +// If a replay is already in progress this request will be executed after it completes. +return batchlogTasks.submit(runnable); } public static RowMutation getBatchlogMutationFor(Collection mutations, UUID uuid) @@ -156,12 +161,8 @@ public class BatchlogManager implements BatchlogManagerMBean return ByteBuffer.wrap(bos.toByteArray()); } -@VisibleForTesting -void replayAllFailedBatches() throws ExecutionException, InterruptedException +private void replayAllFailedBatches() throws ExecutionException, InterruptedException { -if (!isReplaying.compareAndSet(false, true)) -return; - logger.debug("Started replayAllFailedBatches"); // rate limit is in bytes per second. Uses Double.MAX_VALUE if disabled (set to 0 in cassandra.yaml). @@ -169,34 +170,27 @@ public class BatchlogManager implements BatchlogManagerMBean int throttleInKB = DatabaseDescriptor.getBatchlogReplayThrottleInKB() / StorageService.instance.getTokenMetadata().getAllEndpoints().size(); RateLimiter rateLimiter = RateLimiter.create(throttleInKB == 0 ? Double.MAX_VALUE : throttleInKB * 1024); -try -{ -UntypedResultSet page = process("SELECT id, data, written_at, version FROM %s.%s LIMIT %d", -Keyspace.SYSTEM_KS, -
[jira] [Commented] (CASSANDRA-7713) CommitLogTest failure causes cascading unit test failures
[ https://issues.apache.org/jira/browse/CASSANDRA-7713?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14174435#comment-14174435 ] Michael Shuler commented on CASSANDRA-7713: --- I'm half-way thinking that the way to handle this timeout problem is to simply add a test that is run immediately after CommitLogTest that simply resets {{commitDir.setWritable(true);}} > CommitLogTest failure causes cascading unit test failures > - > > Key: CASSANDRA-7713 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7713 > Project: Cassandra > Issue Type: Test >Reporter: Michael Shuler >Assignee: Bogdan Kanivets > Fix For: 2.0.11 > > Attachments: CommitLogTest.system.log.txt > > > When CommitLogTest.testCommitFailurePolicy_stop fails or times out, > {{commitDir.setWritable(true)}} is never reached, so the > build/test/cassandra/commitlog directory is left without write permissions, > causing cascading failure of all subsequent tests. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-7713) CommitLogTest failure causes cascading unit test failures
[ https://issues.apache.org/jira/browse/CASSANDRA-7713?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Michael Shuler updated CASSANDRA-7713: -- Reproduced In: 2.1.0, 2.0.10 Since Version: 2.0.6 Tester: Michael Shuler > CommitLogTest failure causes cascading unit test failures > - > > Key: CASSANDRA-7713 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7713 > Project: Cassandra > Issue Type: Test >Reporter: Michael Shuler >Assignee: Bogdan Kanivets > Fix For: 2.0.11 > > Attachments: CommitLogTest.system.log.txt > > > When CommitLogTest.testCommitFailurePolicy_stop fails or times out, > {{commitDir.setWritable(true)}} is never reached, so the > build/test/cassandra/commitlog directory is left without write permissions, > causing cascading failure of all subsequent tests. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-7713) CommitLogTest failure causes cascading unit test failures
[ https://issues.apache.org/jira/browse/CASSANDRA-7713?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14174392#comment-14174392 ] Michael Shuler commented on CASSANDRA-7713: --- [~dankan] have you had any luck with this? > CommitLogTest failure causes cascading unit test failures > - > > Key: CASSANDRA-7713 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7713 > Project: Cassandra > Issue Type: Test >Reporter: Michael Shuler >Assignee: Bogdan Kanivets > Fix For: 2.0.11 > > Attachments: CommitLogTest.system.log.txt > > > When CommitLogTest.testCommitFailurePolicy_stop fails or times out, > {{commitDir.setWritable(true)}} is never reached, so the > build/test/cassandra/commitlog directory is left without write permissions, > causing cascading failure of all subsequent tests. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-7713) CommitLogTest failure causes cascading unit test failures
[ https://issues.apache.org/jira/browse/CASSANDRA-7713?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14174391#comment-14174391 ] Michael Shuler commented on CASSANDRA-7713: --- An @AfterClass didn't help, either.. {noformat} diff --git a/test/unit/org/apache/cassandra/db/CommitLogTest.java b/test/unit/org/apache/cassandra/db/CommitLogTest.java index 1be29a6..19faace 100644 --- a/test/unit/org/apache/cassandra/db/CommitLogTest.java +++ b/test/unit/org/apache/cassandra/db/CommitLogTest.java @@ -29,6 +29,7 @@ import java.util.zip.Checksum; import com.google.common.util.concurrent.Uninterruptibles; import org.junit.Assert; +import org.junit.AfterClass; import org.junit.Test; import org.apache.cassandra.SchemaLoader; @@ -48,6 +49,15 @@ import static org.apache.cassandra.utils.ByteBufferUtil.bytes; public class CommitLogTest extends SchemaLoader { +@AfterClass +public static void resetCommitLogDir() +{ +// junit timeout leaves commitDir non-writable - CASSANDRA-7713 +File commitDir = new File(DatabaseDescriptor.getCommitLogLocation()); +commitDir.setWritable(true); +System.out.println("reset commitlogdir: " + commitDir); +} + @Test public void testRecoveryWithEmptyLog() throws Exception { {noformat} > CommitLogTest failure causes cascading unit test failures > - > > Key: CASSANDRA-7713 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7713 > Project: Cassandra > Issue Type: Test >Reporter: Michael Shuler >Assignee: Bogdan Kanivets > Fix For: 2.0.11 > > Attachments: CommitLogTest.system.log.txt > > > When CommitLogTest.testCommitFailurePolicy_stop fails or times out, > {{commitDir.setWritable(true)}} is never reached, so the > build/test/cassandra/commitlog directory is left without write permissions, > causing cascading failure of all subsequent tests. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-8028) Unable to compute when histogram overflowed
[ https://issues.apache.org/jira/browse/CASSANDRA-8028?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14174385#comment-14174385 ] Cameron Hatfield commented on CASSANDRA-8028: - Looks like this doesn't fully resolve the issue. According to running sstablemetadata on a 2.1.0 sstable file, as well as MetadataCollector.java: https://github.com/apache/cassandra/blob/8d8fed52242c34b477d0384ba1d1ce3978efbbe8/src/java/org/apache/cassandra/io/sstable/metadata/MetadataCollector.java#L59 the sstable metadata persisted for these histograms are actually stored with a larger number of buckets then 90. The issue seems to be both the nodetool, https://github.com/apache/cassandra/blob/810c2d5fe64333c0bcfe0b2ed3ea2c8f6aaf89b7/src/java/org/apache/cassandra/tools/NodeTool.java#L892, as well as ColumnFamilyMetrics https://github.com/apache/cassandra/blob/ed1f39480606c95ff6595aad0aad9c1af7460f74/src/java/org/apache/cassandra/metrics/ColumnFamilyMetrics.java#L220 have a hardcoded value of 90. If that was raised, then we would be able to display the non-overflowed histograms stored in the metadata. Example output from sstablemetadata (notice that number of rows is 115 and 150, not 90 and 90) : [cameron@cass-db01 ]$ sstablemetadata --ka-33-Data.db SSTable: ./--ka-33 Partitioner: org.apache.cassandra.dht.Murmur3Partitioner Bloom Filter FP chance: 0.01 Minimum timestamp: 1413408134518716 Maximum timestamp: 1413410874004562 SSTable max local deletion time: 2147483647 Compression ratio: 0.2157516194949938 Estimated droppable tombstones: 0.026257982293749805 SSTable Level: 0 Repaired at: 0 ReplayPosition(segmentId=1413409259260, position=15051162) Estimated tombstone drop times:%n 1413408139: 1647 1413408151: 2451 1413408165: 3151 1413408180: 3400 1413408199: 3027 1413408214: 2769 1413408228: 2064 1413408244: 1779 1413408261: 3817 1413408280: 7265 1413408302: 1911 1413408319: 1512 1413408337: 1582 1413408354: 1712 1413408375: 1577 1413408393: 2507 1413408411: 1410 1413408431: 761 1413408447: 507 1413408466: 2593 1413408483: 3840 1413408503: 1557 1413408523: 819 1413409632: 742 1413409646: 641 1413409662: 473 1413409684: 704 1413409700: 762 1413409716: 601 1413409728: 125 1413409744: 1190 1413409763: 1181 1413409783: 1768 1413409800: 1730 1413409820: 1326 1413409837: 1273 1413409856: 1299 1413409871: 2663 1413409887: 2197 1413409901: 1776 1413409917: 871 1413409934: 1449 1413409952: 1700 1413409969: 1301 1413409984: 2100 1413410002: 2103 1413410021: 1208 1413410039: 923 1413410052: 1425 1413410068: 1796 1413410081: 2263 1413410095: 2664 1413410110: 3019 1413410128: 2823 1413410146: 3801 1413410160: 3864 1413410175: 3252 1413410188: 8337 1413410204: 9375 1413410219: 6125 1413410235: 7954 1413410254: 11019 1413410271: 12703 1413410287: 12274 1413410303: 12199 1413410317: 10751 1413410330: 11369 1413410343: 10552 1413410355: 8157 1413410369: 8776 1413410384: 7504 1413410400: 7312 1413410418: 7472 1413410434: 7032 1413410448: 6338 1413410465: 5335 1413410484: 6427 1413410504: 7897 1413410523: 8515 1413410539: 4886 1413410557: 4847 1413410576: 4987 1413410591: 7630 1413410611: 8553 1413410628: 12157 1413410645: 12740 1413410663: 13756 1413410679: 19249 1413410695: 19374 1413410713: 15390 1413410732: 13493 1413410746: 13793 1413410760: 16937 1413410775: 19841 1413410791: 16595 1413410808: 19050 1413410823: 18450 1413410840: 22497 1413410861: 34027 1413410872:16 Count Row SizeCell Count 1 0 0 2 0 0 3 0 0 4 016 5 0 0 6 0 0 7 0 0 8 035 10 0 0 12 017 14 0 0 17 029 20 014 24 021 29 012 35 013 42 040 50 019 60 030 72 032 86
[jira] [Commented] (CASSANDRA-8133) BulkLoader does not use rpc_endpoints
[ https://issues.apache.org/jira/browse/CASSANDRA-8133?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14174378#comment-14174378 ] Brandon Williams commented on CASSANDRA-8133: - bq. sstableloader appears to stream to listen_addresses instead of rpc_addresses It needs to, though. It's streaming sstables straight into Cassandra, not sending rpc writes. listen_address can't bind multiple interfaces, so it's the only possible choice. > BulkLoader does not use rpc_endpoints > - > > Key: CASSANDRA-8133 > URL: https://issues.apache.org/jira/browse/CASSANDRA-8133 > Project: Cassandra > Issue Type: Bug > Components: Tools >Reporter: Umair Mufti > Labels: lhf > Attachments: 0001-BulkLoader-with-rpc_endpoints.patch > > > sstableloader appears to stream to listen_addresses instead of rpc_addresses. > This causes sstableloader to fail when streaming to nodes which bind to > multiple interfaces. > > The problem seems to stem from BulkLoader populating the endpointToRanges map > with incorrect values. BulkLoader always uses the TokenRange's endpoints > list. > > Attached is a patch which uses the rpc_endpoints list of the TokenRange if it > exists. Otherwise, it uses the standard endpoints list. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Created] (CASSANDRA-8133) BulkLoader does not use rpc_endpoints
Umair Mufti created CASSANDRA-8133: -- Summary: BulkLoader does not use rpc_endpoints Key: CASSANDRA-8133 URL: https://issues.apache.org/jira/browse/CASSANDRA-8133 Project: Cassandra Issue Type: Bug Components: Tools Reporter: Umair Mufti Attachments: 0001-BulkLoader-with-rpc_endpoints.patch sstableloader appears to stream to listen_addresses instead of rpc_addresses. This causes sstableloader to fail when streaming to nodes which bind to multiple interfaces. The problem seems to stem from BulkLoader populating the endpointToRanges map with incorrect values. BulkLoader always uses the TokenRange's endpoints list. Attached is a patch which uses the rpc_endpoints list of the TokenRange if it exists. Otherwise, it uses the standard endpoints list. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-7713) CommitLogTest failure causes cascading unit test failures
[ https://issues.apache.org/jira/browse/CASSANDRA-7713?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14174345#comment-14174345 ] Michael Shuler commented on CASSANDRA-7713: --- I tried adding an @After block to the test, which appears to not be run when timeout occurs.. :( {noformat} diff --git a/test/unit/org/apache/cassandra/db/CommitLogTest.java b/test/unit/org/apache/cassandra/db/CommitLogTest.java index 1be29a6..f30d527 100644 --- a/test/unit/org/apache/cassandra/db/CommitLogTest.java +++ b/test/unit/org/apache/cassandra/db/CommitLogTest.java @@ -30,6 +30,7 @@ import java.util.zip.Checksum; import com.google.common.util.concurrent.Uninterruptibles; import org.junit.Assert; import org.junit.Test; +import org.junit.After; import org.apache.cassandra.SchemaLoader; import org.apache.cassandra.Util; @@ -318,4 +319,12 @@ public class CommitLogTest extends SchemaLoader row = command.getRow(notDurableKs); Assert.assertEquals(null, row.cf); } + +@After +public void resetCommitLogDir() +{ +File commitDir = new File(DatabaseDescriptor.getCommitLogLocation()); +commitDir.setWritable(true); +System.out.println("reset commitlogdir: " + commitDir); +} } {noformat} (System.out.println was just for debugging, and this is output during a successful run) > CommitLogTest failure causes cascading unit test failures > - > > Key: CASSANDRA-7713 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7713 > Project: Cassandra > Issue Type: Test >Reporter: Michael Shuler >Assignee: Bogdan Kanivets > Fix For: 2.0.11 > > Attachments: CommitLogTest.system.log.txt > > > When CommitLogTest.testCommitFailurePolicy_stop fails or times out, > {{commitDir.setWritable(true)}} is never reached, so the > build/test/cassandra/commitlog directory is left without write permissions, > causing cascading failure of all subsequent tests. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-8132) Save or stream hints to a safe place in node replacement
[ https://issues.apache.org/jira/browse/CASSANDRA-8132?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14174327#comment-14174327 ] Brandon Williams commented on CASSANDRA-8132: - I don't understand. When you replace a node it has the same host id so the existing hints are replayed from wherever they exist. Where are you proposing we stream them and to what end? > Save or stream hints to a safe place in node replacement > > > Key: CASSANDRA-8132 > URL: https://issues.apache.org/jira/browse/CASSANDRA-8132 > Project: Cassandra > Issue Type: Improvement > Components: Core >Reporter: Minh Do >Assignee: Minh Do > Fix For: 2.1.1 > > > Often, we need to replace a node with a new instance in the cloud environment > where we have all nodes are still alive. To be safe without losing data, we > usually make sure all hints are gone before we do this operation. > Replacement means we just want to shutdown C* process on a node and bring up > another instance to take over that node's token. > However, if a node has a lot of stored hints, HintedHandofManager seems very > slow to play the hints. In our case, we tried to replace a node and had to > wait for several days. > Since this is not a decommission, I am proposing that we have the same > hints-streaming mechanism as in the decommission code. Furthermore, there > needs to be a cmd for NodeTool to trigger this. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Created] (CASSANDRA-8132) Save or stream hints to a safe place in node replacement
Minh Do created CASSANDRA-8132: -- Summary: Save or stream hints to a safe place in node replacement Key: CASSANDRA-8132 URL: https://issues.apache.org/jira/browse/CASSANDRA-8132 Project: Cassandra Issue Type: Improvement Components: Core Reporter: Minh Do Assignee: Minh Do Fix For: 2.1.1 Often, we need to replace a node with a new instance in the cloud environment where we have all nodes are still alive. To be safe without losing data, we usually make sure all hints are gone before we do this operation. Replacement means we just want to shutdown C* process on a node and bring up another instance to take over that node's token. However, if a node has a lot of stored hints, HintedHandofManager seems very slow to play the hints. In our case, we tried to replace a node and had to wait for several days. Since this is not a decommission, I am proposing that we have the same hints-streaming mechanism as in the decommission code. Furthermore, there needs to be a cmd for NodeTool to trigger this. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-8131) Short-circuited query results from collection index query
[ https://issues.apache.org/jira/browse/CASSANDRA-8131?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Catalin Alexandru Zamfir updated CASSANDRA-8131: Description: After watching Jonathan's 2014 summit video, I wanted to give collection indexes a try as they seem to be a fit for a "search by key/values" usage pattern we have in our setup. Doing some test queries that I expect users would do against the table, a short-circuit behavior came up: Here's the whole transcript: {noformat} CREATE TABLE by_sets (id int PRIMARY KEY, datakeys set, datavars set); CREATE INDEX by_sets_datakeys ON by_sets (datakeys); CREATE INDEX by_sets_datavars ON by_sets (datavars); INSERT INTO by_sets (id, datakeys, datavars) VALUES (1, {'a'}, {'b'}); INSERT INTO by_sets (id, datakeys, datavars) VALUES (2, {'c'}, {'d'}); INSERT INTO by_sets (id, datakeys, datavars) VALUES (3, {'e'}, {'f'}); INSERT INTO by_sets (id, datakeys, datavars) VALUES (4, {'a'}, {'z'}); SELECT * FROM by_sets; id | datakeys | datavars +--+-- 1 |{'a'} |{'b'} 2 |{'c'} |{'d'} 4 |{'a'} |{'z'} 3 |{'e'} |{'f'} {noformat} We then tried this query which short-circuited: {noformat} SELECT * FROM by_sets WHERE datakeys CONTAINS 'a' AND datakeys CONTAINS 'c'; id | datakeys | datavars +--+-- 1 |{'a'} |{'b'} 4 |{'a'} |{'z'} (2 rows) {noformat} Instead of receveing 3 rows, which match the datakeys CONTAINS 'a' AND datakeys CONTAINS 'c' we only got the first. Doing the same, but with CONTAINS 'c' first, ignores the second AND. {noformat} SELECT * FROM by_sets WHERE datakeys CONTAINS 'c' AND datakeys CONTAINS 'a' ; id | datakeys | datavars +--+-- 2 |{'c'} |{'d'} (1 rows) {noformat} Also, on a side-note, I have two indexes on both datakeys and datavars. But when trying to run a query such as: {noformat} select * from by_sets WHERE datakeys CONTAINS 'a' AND datavars CONTAINS 'z'; code=2200 [Invalid query] message="Cannot execute this query as it might involve data filtering and thus may have unpredictable performance. If you want to execute this query despite the performance unpredictability, use ALLOW FILTERING" {noformat} The second column, after AND (even if I inverse the order) requires an "allow filtering" clause yet the column is indexed an an in-memory "join" of the primary keys of these sets on the coordinator could build up the result. Could anyone explain the short-circuit behavior? And the requirement for "allow-filtering" on a secondly indexed column? If they're not bugs but intended they should be documented better, at least their limitations. was: After watching Jonathan's 2014 summit video, I wanted to give collection indexes a try as they seem to be a fit for a "search by key/values" usage pattern we have in our setup. Doing some test queries that I expect users would do against the table, a short-circuit behavior came up: Here's the whole transcript: {noformat} CREATE TABLE by_sets (id int PRIMARY KEY, datakeys set, datavars set); CREATE INDEX by_sets_datakeys ON by_sets (datakeys); CREATE INDEX by_sets_datavars ON by_sets (datavars); INSERT INTO by_sets (id, datakeys, datavars) VALUES (1, {'a'}, {'b'}); INSERT INTO by_sets (id, datakeys, datavars) VALUES (2, {'c'}, {'d'}); INSERT INTO by_sets (id, datakeys, datavars) VALUES (3, {'e'}, {'f'}); INSERT INTO by_sets (id, datakeys, datavars) VALUES (4, {'a'}, {'z'}); SELECT * FROM by_sets; id | datakeys | datavars +--+-- 1 |{'a'} |{'b'} 2 |{'c'} |{'d'} 4 |{'a'} |{'z'} 3 |{'e'} |{'f'} {noformat} We then tried this query which short-circuited: {noformat} SELECT * FROM by_sets WHERE datakeys CONTAINS 'a' AND datakeys CONTAINS 'c'; id | datakeys | datavars +--+-- 1 |{'a'} |{'b'} 4 |{'a'} |{'z'} (2 rows) {noformat} Instead of receveing 3 rows, which match the datakeys CONTAINS 'a' AND datakeys CONTAINS 'c' we only got the first. Doing the same, but with CONTAINS 'c' first, ignores the second AND. {noformat} #> SELECT * FROM by_sets WHERE datakeys CONTAINS 'c' AND datakeys CONTAINS 'a' ; id | datakeys | datavars +--+-- 2 |{'c'} |{'d'} (1 rows) {noformat} Also, on a side-note, I have two indexes on both datakeys and datavars. But when trying to run a query such as: {noformat} #> select * from by_sets WHERE datakeys CONTAINS 'a' AND datavars CONTAINS 'z'; code=2200 [Invalid query] message="Cannot execute this query as it might involve data filtering and thus may have unpredictable performance. If you want to execute this query despite the performance unpredictability, use ALLOW FILTERING" {noformat} The second column, after AND (even if I inverse the order) requires an "allow filtering" clause yet the column
[jira] [Updated] (CASSANDRA-8131) Short-circuited query results from collection index query
[ https://issues.apache.org/jira/browse/CASSANDRA-8131?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Catalin Alexandru Zamfir updated CASSANDRA-8131: Description: After watching Jonathan's 2014 summit video, I wanted to give collection indexes a try as they seem to be a fit for a "search by key/values" usage pattern we have in our setup. Doing some test queries that I expect users would do against the table, a short-circuit behavior came up: Here's the whole transcript: {noformat} CREATE TABLE by_sets (id int PRIMARY KEY, datakeys set, datavars set); CREATE INDEX by_sets_datakeys ON by_sets (datakeys); CREATE INDEX by_sets_datavars ON by_sets (datavars); INSERT INTO by_sets (id, datakeys, datavars) VALUES (1, {'a'}, {'b'}); INSERT INTO by_sets (id, datakeys, datavars) VALUES (2, {'c'}, {'d'}); INSERT INTO by_sets (id, datakeys, datavars) VALUES (3, {'e'}, {'f'}); INSERT INTO by_sets (id, datakeys, datavars) VALUES (4, {'a'}, {'z'}); SELECT * FROM by_sets; id | datakeys | datavars +--+-- 1 |{'a'} |{'b'} 2 |{'c'} |{'d'} 4 |{'a'} |{'z'} 3 |{'e'} |{'f'} {noformat} We then tried this query which short-circuited: {noformat} SELECT * FROM by_sets WHERE datakeys CONTAINS 'a' AND datakeys CONTAINS 'c'; id | datakeys | datavars +--+-- 1 |{'a'} |{'b'} 4 |{'a'} |{'z'} (2 rows) {noformat} Instead of receveing 3 rows, which match the datakeys CONTAINS 'a' AND datakeys CONTAINS 'c' we only got the first. Doing the same, but with CONTAINS 'c' first, ignores the second AND. {noformat} #> SELECT * FROM by_sets WHERE datakeys CONTAINS 'c' AND datakeys CONTAINS 'a' ; id | datakeys | datavars +--+-- 2 |{'c'} |{'d'} (1 rows) {noformat} Also, on a side-note, I have two indexes on both datakeys and datavars. But when trying to run a query such as: {noformat} #> select * from by_sets WHERE datakeys CONTAINS 'a' AND datavars CONTAINS 'z'; code=2200 [Invalid query] message="Cannot execute this query as it might involve data filtering and thus may have unpredictable performance. If you want to execute this query despite the performance unpredictability, use ALLOW FILTERING" {noformat} The second column, after AND (even if I inverse the order) requires an "allow filtering" clause yet the column is indexed an an in-memory "join" of the primary keys of these sets on the coordinator could build up the result. Could anyone explain the short-circuit behavior? And the requirement for "allow-filtering" on a secondly indexed column? If they're not bugs but intended they should be documented better, at least their limitations. was: After watching Jonathan's 2014 summit video, I wanted to give collection indexes a try as they seem to be a fit for a "search by key/values" usage pattern we have in our setup. Doing some test queries that I expect users would do against the table, a short-circuit behavior came up: Here's the whole transcript: {noformat} create table by_sets (id int PRIMARY KEY, datakeys set, datavars set); CREATE INDEX by_sets_datakeys ON by_sets (datakeys); CREATE INDEX by_sets_datavars ON by_sets (datavars); insert into by_sets (id, datakeys, datavars) values (1, {'a'}, {'b'}); insert into by_sets (id, datakeys, datavars) values (2, {'c'}, {'d'}); insert into by_sets (id, datakeys, datavars) values (3, {'e'}, {'f'}); insert into by_sets (id, datakeys, datavars) values (4, {'a'}, {'z'}); select * from by_sets; id | datakeys | datavars +--+-- 1 |{'a'} |{'b'} 2 |{'c'} |{'d'} 4 |{'a'} |{'z'} 3 |{'e'} |{'f'} {noformat} We then tried this query which short-circuited: {noformat} select * from by_sets WHERE datakeys cONTAINS 'a' AND datakeys CONTAINS 'c'; id | datakeys | datavars +--+-- 1 |{'a'} |{'b'} 4 |{'a'} |{'z'} (2 rows) {noformat} Instead of receveing 3 rows, which match the datakeys CONTAINS 'a' AND datakeys CONTAINS 'c' we only got the first. Doing the same, but with CONTAINS 'c' first, ignores the second AND. {noformat} #> select * from by_sets WHERE datakeys cONTAINS 'c' AND datakeys CONTAINS 'a' ; id | datakeys | datavars +--+-- 2 |{'c'} |{'d'} (1 rows) {noformat} Also, on a side-note, I have two indexes on both datakeys and datavars. But when trying to run a query such as: {noformat} #> select * from by_sets WHERE datakeys CONTAINS 'a' AND datavars CONTAINS 'z'; code=2200 [Invalid query] message="Cannot execute this query as it might involve data filtering and thus may have unpredictable performance. If you want to execute this query despite the performance unpredictability, use ALLOW FILTERING" {noformat} The second column, after AND (even if I inverse the order) requires an "allow
[jira] [Updated] (CASSANDRA-8131) Short-circuited query results from collection index query
[ https://issues.apache.org/jira/browse/CASSANDRA-8131?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Catalin Alexandru Zamfir updated CASSANDRA-8131: Description: After watching Jonathan's 2014 summit video, I wanted to give collection indexes a try as they seem to be a fit for a "search by key/values" usage pattern we have in our setup. Doing some test queries that I expect users would do against the table, a short-circuit behavior came up: Here's the whole transcript: {noformat} create table by_sets (id int PRIMARY KEY, datakeys set, datavars set); CREATE INDEX by_sets_datakeys ON by_sets (datakeys); CREATE INDEX by_sets_datavars ON by_sets (datavars); insert into by_sets (id, datakeys, datavars) values (1, {'a'}, {'b'}); insert into by_sets (id, datakeys, datavars) values (2, {'c'}, {'d'}); insert into by_sets (id, datakeys, datavars) values (3, {'e'}, {'f'}); insert into by_sets (id, datakeys, datavars) values (4, {'a'}, {'z'}); select * from by_sets; id | datakeys | datavars +--+-- 1 |{'a'} |{'b'} 2 |{'c'} |{'d'} 4 |{'a'} |{'z'} 3 |{'e'} |{'f'} {noformat} We then tried this query which short-circuited: {noformat} select * from by_sets WHERE datakeys cONTAINS 'a' AND datakeys CONTAINS 'c'; id | datakeys | datavars +--+-- 1 |{'a'} |{'b'} 4 |{'a'} |{'z'} (2 rows) {noformat} Instead of receveing 3 rows, which match the datakeys CONTAINS 'a' AND datakeys CONTAINS 'c' we only got the first. Doing the same, but with CONTAINS 'c' first, ignores the second AND. {noformat} #> select * from by_sets WHERE datakeys cONTAINS 'c' AND datakeys CONTAINS 'a' ; id | datakeys | datavars +--+-- 2 |{'c'} |{'d'} (1 rows) {noformat} Also, on a side-note, I have two indexes on both datakeys and datavars. But when trying to run a query such as: {noformat} #> select * from by_sets WHERE datakeys CONTAINS 'a' AND datavars CONTAINS 'z'; code=2200 [Invalid query] message="Cannot execute this query as it might involve data filtering and thus may have unpredictable performance. If you want to execute this query despite the performance unpredictability, use ALLOW FILTERING" {noformat} The second column, after AND (even if I inverse the order) requires an "allow filtering" clause yet the column is indexed an an in-memory "join" of the primary keys of these sets on the coordinator could build up the result. Could anyone explain the short-circuit behavior? And the requirement for "allow-filtering" on a secondly indexed column? If they're not bugs but intended they should be documented better, at least their limitations. was: After watching Jonathan's 2014 summit video, I wanted to give collection indexes a try as they seem to be a fit for a "search by key/values" usage pattern we have in our setup. Doing some test queries that I expect users would do against the table, a short-circuit behavior came up: Here's the whole transcript:cqlsh: create table by_sets (id int PRIMARY KEY, datakeys set, datavars set); CREATE INDEX by_sets_datakeys ON by_sets (datakeys); CREATE INDEX by_sets_datavars ON by_sets (datavars); insert into by_sets (id, datakeys, datavars) values (1, {'a'}, {'b'}); insert into by_sets (id, datakeys, datavars) values (2, {'c'}, {'d'}); insert into by_sets (id, datakeys, datavars) values (3, {'e'}, {'f'}); insert into by_sets (id, datakeys, datavars) values (4, {'a'}, {'z'}); select * from by_sets; id | datakeys | datavars +--+-- 1 |{'a'} |{'b'} 2 |{'c'} |{'d'} 4 |{'a'} |{'z'} 3 |{'e'} |{'f'} We then tried this query which short-circuited: select * from by_sets WHERE datakeys cONTAINS 'a' AND datakeys CONTAINS 'c'; id | datakeys | datavars +--+-- 1 |{'a'} |{'b'} 4 |{'a'} |{'z'} (2 rows) Instead of receveing 3 rows, which match the datakeys CONTAINS 'a' AND datakeys CONTAINS 'c' we only got the first. Doing the same, but with CONTAINS 'c' first, ignores the second AND. #> select * from by_sets WHERE datakeys cONTAINS 'c' AND datakeys CONTAINS 'a' ; id | datakeys | datavars +--+-- 2 |{'c'} |{'d'} (1 rows) Also, on a side-note, I have two indexes on both datakeys and datavars. But when trying to run a query such as: #> select * from by_sets WHERE datakeys CONTAINS 'a' AND datavars CONTAINS 'z'; code=2200 [Invalid query] message="Cannot execute this query as it might involve data filtering and thus may have unpredictable performance. If you want to execute this query despite the performance unpredictability, use ALLOW FILTERING" The second column, after AND (even if I inverse the order) requires an "allow filtering" clause yet the column is indexed an an in-memory "join" of the
[jira] [Commented] (CASSANDRA-7623) Altering keyspace truncates DESCRIBE output until you reconnect.
[ https://issues.apache.org/jira/browse/CASSANDRA-7623?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14174294#comment-14174294 ] Tyler Hobbs commented on CASSANDRA-7623: [PYTHON-173|https://datastax-oss.atlassian.net/browse/PYTHON-173] is the cause. I'm guessing this is not related to CASSANDRA-8012. > Altering keyspace truncates DESCRIBE output until you reconnect. > > > Key: CASSANDRA-7623 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7623 > Project: Cassandra > Issue Type: Bug >Reporter: Ryan McGuire >Assignee: Tyler Hobbs >Priority: Minor > Labels: cqlsh > Fix For: 2.1.2 > > > Run DESCRIBE on a keyspace: > {code} > cqlsh> DESCRIBE KEYSPACE system_traces ; > CREATE KEYSPACE system_traces WITH replication = {'class': 'SimpleStrategy', > 'replication_factor': '2'} AND durable_writes = true; > CREATE TABLE system_traces.events ( > session_id uuid, > event_id timeuuid, > activity text, > source inet, > source_elapsed int, > thread text, > PRIMARY KEY (session_id, event_id) > ) WITH CLUSTERING ORDER BY (event_id ASC) > AND bloom_filter_fp_chance = 0.01 > AND caching = '{"keys":"ALL", "rows_per_partition":"NONE"}' > AND comment = '' > AND compaction = {'min_threshold': '4', 'class': > 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', > 'max_threshold': '32'} > AND compression = {'sstable_compression': > 'org.apache.cassandra.io.compress.LZ4Compressor'} > AND dclocal_read_repair_chance = 0.0 > AND default_time_to_live = 0 > AND gc_grace_seconds = 0 > AND max_index_interval = 2048 > AND memtable_flush_period_in_ms = 360 > AND min_index_interval = 128 > AND read_repair_chance = 0.0 > AND speculative_retry = '99.0PERCENTILE'; > CREATE TABLE system_traces.sessions ( > session_id uuid PRIMARY KEY, > coordinator inet, > duration int, > parameters map, > request text, > started_at timestamp > ) WITH bloom_filter_fp_chance = 0.01 > AND caching = '{"keys":"ALL", "rows_per_partition":"NONE"}' > AND comment = 'traced sessions' > AND compaction = {'min_threshold': '4', 'class': > 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', > 'max_threshold': '32'} > AND compression = {'sstable_compression': > 'org.apache.cassandra.io.compress.LZ4Compressor'} > AND dclocal_read_repair_chance = 0.0 > AND default_time_to_live = 0 > AND gc_grace_seconds = 0 > AND max_index_interval = 2048 > AND memtable_flush_period_in_ms = 360 > AND min_index_interval = 128 > AND read_repair_chance = 0.0 > AND speculative_retry = '99.0PERCENTILE'; > {code} > Alter it and run DESCRIBE again: > {code} > cqlsh> ALTER KEYSPACE system_traces WITH durable_writes = false; > cqlsh> DESCRIBE KEYSPACE system_traces ; > CREATE KEYSPACE system_traces WITH replication = {'class': 'SimpleStrategy', > 'replication_factor': '2'} AND durable_writes = false; > {code} > You can issue the DESCRIBE command multiple times and get the same output. > You have to disconnect and reconnect to get the table definition output to > show again. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-8131) Short-circuited query results from collection index query
[ https://issues.apache.org/jira/browse/CASSANDRA-8131?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Catalin Alexandru Zamfir updated CASSANDRA-8131: Description: After watching Jonathan's 2014 summit video, I wanted to give collection indexes a try as they seem to be a fit for a "search by key/values" usage pattern we have in our setup. Doing some test queries that I expect users would do against the table, a short-circuit behavior came up: Here's the whole transcript:cqlsh: create table by_sets (id int PRIMARY KEY, datakeys set, datavars set); CREATE INDEX by_sets_datakeys ON by_sets (datakeys); CREATE INDEX by_sets_datavars ON by_sets (datavars); insert into by_sets (id, datakeys, datavars) values (1, {'a'}, {'b'}); insert into by_sets (id, datakeys, datavars) values (2, {'c'}, {'d'}); insert into by_sets (id, datakeys, datavars) values (3, {'e'}, {'f'}); insert into by_sets (id, datakeys, datavars) values (4, {'a'}, {'z'}); select * from by_sets; id | datakeys | datavars +--+-- 1 |{'a'} |{'b'} 2 |{'c'} |{'d'} 4 |{'a'} |{'z'} 3 |{'e'} |{'f'} We then tried this query which short-circuited: select * from by_sets WHERE datakeys cONTAINS 'a' AND datakeys CONTAINS 'c'; id | datakeys | datavars +--+-- 1 |{'a'} |{'b'} 4 |{'a'} |{'z'} (2 rows) Instead of receveing 3 rows, which match the datakeys CONTAINS 'a' AND datakeys CONTAINS 'c' we only got the first. Doing the same, but with CONTAINS 'c' first, ignores the second AND. #> select * from by_sets WHERE datakeys cONTAINS 'c' AND datakeys CONTAINS 'a' ; id | datakeys | datavars +--+-- 2 |{'c'} |{'d'} (1 rows) Also, on a side-note, I have two indexes on both datakeys and datavars. But when trying to run a query such as: #> select * from by_sets WHERE datakeys CONTAINS 'a' AND datavars CONTAINS 'z'; code=2200 [Invalid query] message="Cannot execute this query as it might involve data filtering and thus may have unpredictable performance. If you want to execute this query despite the performance unpredictability, use ALLOW FILTERING" The second column, after AND (even if I inverse the order) requires an "allow filtering" clause yet the column is indexed an an in-memory "join" of the primary keys of these sets on the coordinator could build up the result. Could anyone explain the short-circuit behavior? And the requirement for "allow-filtering" on a secondly indexed column? If they're not bugs but intended they should be documented better, at least their limitations. was: After watching Jonathan's 2014 summit video, I wanted to give collection indexes a try as they seem to be a fit for a "search by key/values" usage pattern we have in our setup. Doing some test queries that I expect users would do against the table, a short-circuit behavior came up: Here's the whole transcript:cqlsh: create table by_sets (id int PRIMARY KEY, datakeys set, datavars set); CREATE INDEX by_sets_datakeys ON by_sets (datakeys); CREATE INDEX by_sets_datavars ON by_sets (datavars); insert into by_sets (id, datakeys, datavars) values (1, {'a'}, {'b'}); insert into by_sets (id, datakeys, datavars) values (2, {'c'}, {'d'}); insert into by_sets (id, datakeys, datavars) values (3, {'e'}, {'f'}); insert into by_sets (id, datakeys, datavars) values (4, {'a'}, {'z'}); select * from by_sets; id | datakeys | datavars +--+-- 1 |{'a'} |{'b'} 2 |{'c'} |{'d'} 4 |{'a'} |{'z'} 3 |{'e'} |{'f'} We then tried this query which short-circuited: select * from by_sets WHERE datakeys cONTAINS 'a' AND datakeys CONTAINS 'c'; id | datakeys | datavars +--+-- 1 |{'a'} |{'b'} 4 |{'a'} |{'z'} (2 rows) Instead of receveing 3 rows, which match the datakeys CONTAINS 'a' AND datakeys CONTAINS 'c' we only got the first. Doing the same, but with CONTAINS 'c' first, ignores the second AND. #> select * from by_sets WHERE datakeys cONTAINS 'c' AND datakeys CONTAINS 'a' ; id | datakeys | datavars +--+-- 2 |{'c'} |{'d'} (1 rows) Also, on a side-note, I have two indexes on both datakeys and datavars. But when trying to run a query such as: cqlsh:etsv2> select * from by_sets WHERE datakeys cONTAINS 'a' AND datavars CONTAINS 'z'; code=2200 [Invalid query] message="Cannot execute this query as it might involve data filtering and thus may have unpredictable performance. If you want to execute this query despite the performance unpredictability, use ALLOW FILTERING" The second column, after AND (even if I inverse the order) requires an "allow filtering" clause yet the column is indexed an an in-memory "join" of the primary keys of these sets on the co-ordonator could build up
[jira] [Created] (CASSANDRA-8131) Short-circuited query results from collection index query
Catalin Alexandru Zamfir created CASSANDRA-8131: --- Summary: Short-circuited query results from collection index query Key: CASSANDRA-8131 URL: https://issues.apache.org/jira/browse/CASSANDRA-8131 Project: Cassandra Issue Type: Bug Components: Core Environment: Debian Wheezy, Oracle JDK, Cassandra 2.1 Reporter: Catalin Alexandru Zamfir Fix For: 2.1.0 After watching Jonathan's 2014 summit video, I wanted to give collection indexes a try as they seem to be a fit for a "search by key/values" usage pattern we have in our setup. Doing some test queries that I expect users would do against the table, a short-circuit behavior came up: Here's the whole transcript:cqlsh: create table by_sets (id int PRIMARY KEY, datakeys set, datavars set); CREATE INDEX by_sets_datakeys ON by_sets (datakeys); CREATE INDEX by_sets_datavars ON by_sets (datavars); insert into by_sets (id, datakeys, datavars) values (1, {'a'}, {'b'}); insert into by_sets (id, datakeys, datavars) values (2, {'c'}, {'d'}); insert into by_sets (id, datakeys, datavars) values (3, {'e'}, {'f'}); insert into by_sets (id, datakeys, datavars) values (4, {'a'}, {'z'}); select * from by_sets; id | datakeys | datavars +--+-- 1 |{'a'} |{'b'} 2 |{'c'} |{'d'} 4 |{'a'} |{'z'} 3 |{'e'} |{'f'} We then tried this query which short-circuited: select * from by_sets WHERE datakeys cONTAINS 'a' AND datakeys CONTAINS 'c'; id | datakeys | datavars +--+-- 1 |{'a'} |{'b'} 4 |{'a'} |{'z'} (2 rows) Instead of receveing 3 rows, which match the datakeys CONTAINS 'a' AND datakeys CONTAINS 'c' we only got the first. Doing the same, but with CONTAINS 'c' first, ignores the second AND. #> select * from by_sets WHERE datakeys cONTAINS 'c' AND datakeys CONTAINS 'a' ; id | datakeys | datavars +--+-- 2 |{'c'} |{'d'} (1 rows) Also, on a side-note, I have two indexes on both datakeys and datavars. But when trying to run a query such as: cqlsh:etsv2> select * from by_sets WHERE datakeys cONTAINS 'a' AND datavars CONTAINS 'z'; code=2200 [Invalid query] message="Cannot execute this query as it might involve data filtering and thus may have unpredictable performance. If you want to execute this query despite the performance unpredictability, use ALLOW FILTERING" The second column, after AND (even if I inverse the order) requires an "allow filtering" clause yet the column is indexed an an in-memory "join" of the primary keys of these sets on the co-ordonator could build up the result. Could anyone explain the short-circuit behavior? And the requirement for "allow-filtering" on a secondly indexed column? If they're not bugs but intended they should be documented better, at least their limitations. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Comment Edited] (CASSANDRA-7712) temporary files need to be cleaned by unit tests
[ https://issues.apache.org/jira/browse/CASSANDRA-7712?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14174262#comment-14174262 ] Michael Shuler edited comment on CASSANDRA-7712 at 10/16/14 9:27 PM: - cassandra-2.0 ant test = BUILD SUCCESSFUL - I do still have a good number of unit test related /tmp/ data dirs and files: {noformat} mshuler@hana:~$ diff utest-prerun-tmp-ls.txt utest-postrun-tmp-ls.txt | grep '>' > total 13124 > drwxrwxrwt 43 rootroot1089536 Oct 16 16:25 . > drwxr-xr-x 2 mshuler mshuler4096 Oct 16 15:59 1413493171580-0 > drwxr-xr-x 3 mshuler mshuler4096 Oct 16 15:59 1413493171699-0 > drwxr-xr-x 3 mshuler mshuler4096 Oct 16 15:59 1413493193793-0 > drwxr-xr-x 3 mshuler mshuler4096 Oct 16 16:05 > Keyspace11151002594308015529Counter1 > drwxr-xr-x 3 mshuler mshuler4096 Oct 16 16:05 > Keyspace11599882418925729405Standard1 > drwxr-xr-x 3 mshuler mshuler4096 Oct 16 16:04 > Keyspace11629141255351575538Counter1 > drwxr-xr-x 3 mshuler mshuler4096 Oct 16 16:05 > Keyspace11707160731940439205Standard1 > drwxr-xr-x 3 mshuler mshuler4096 Oct 16 16:05 > Keyspace12479573729045096761Counter1 > drwxr-xr-x 3 mshuler mshuler4096 Oct 16 16:05 > Keyspace13188027533114189105Standard1 > drwxr-xr-x 3 mshuler mshuler4096 Oct 16 16:05 > Keyspace13537085006164740065Super4 > drwxr-xr-x 3 mshuler mshuler4096 Oct 16 16:05 > Keyspace13552747847152420085Standard1 > drwxr-xr-x 3 mshuler mshuler4096 Oct 16 16:05 > Keyspace13765397797228357038Standard1 > drwxr-xr-x 3 mshuler mshuler4096 Oct 16 16:05 > Keyspace13850859261864741561ValuesWithQuotes > drwxr-xr-x 3 mshuler mshuler4096 Oct 16 16:05 > Keyspace13958837569092782804Standard1 > drwxr-xr-x 3 mshuler mshuler4096 Oct 16 16:05 > Keyspace14244544246771294094Super4 > drwxr-xr-x 3 mshuler mshuler4096 Oct 16 16:04 > Keyspace14896282513423138739Counter1 > drwxr-xr-x 3 mshuler mshuler4096 Oct 16 16:05 > Keyspace16033616767223568836Standard1 > drwxr-xr-x 3 mshuler mshuler4096 Oct 16 16:05 > Keyspace17379306356946300363Standard1 > drwxr-xr-x 3 mshuler mshuler4096 Oct 16 16:04 > Keyspace17392859057498785197Counter1 > drwxr-xr-x 3 mshuler mshuler4096 Oct 16 16:05 > Keyspace17734442112141636779UUIDKeys > drwxr-xr-x 3 mshuler mshuler4096 Oct 16 16:05 > Keyspace18327561120308012372Standard1 > drwxr-xr-x 2 mshuler mshuler4096 Oct 16 16:06 hsperfdata_mshuler > -rw-r--r-- 1 mshuler mshuler 97 Oct 16 16:05 > CFWithColumnNameEqualToDefaultKeyAlias1352052296559090082.json > -rw-r--r-- 1 mshuler mshuler 202 Oct 16 16:05 > CFWithDeletionInfo6821352692246723039.json > -rw-r--r-- 1 mshuler mshuler 164 Oct 16 16:05 > Counter16133384777473446457.json > -rw-r--r-- 1 mshuler mshuler 73 Oct 16 16:05 > Standard13497963750024141166.json > -rw-r--r-- 1 mshuler mshuler 212 Oct 16 16:05 > Standard16498036137584406114.json > -rw-r--r-- 1 mshuler mshuler 18 Oct 16 16:05 > Standard17653206436081170668.txt > -rw-r--r-- 1 mshuler mshuler 72 Oct 16 16:05 > ValuesWithQuotes5950169076917583577.json > -rw-r--r-- 1 mshuler mshuler 0 Oct 16 16:04 > cassandra3334695142197245525unittest > -rw-r--r-- 1 mshuler mshuler 0 Oct 16 16:04 > cassandra501609141610521005unittest > -rw-r--r-- 1 mshuler mshuler 0 Oct 16 16:04 > cassandra5466512109259350063unittest > -rw-r--r-- 1 mshuler mshuler 0 Oct 16 16:04 > cassandra6680141275408996567unittest > -rw-r--r-- 1 mshuler mshuler 0 Oct 16 16:04 > cassandra8802165868016413651unittest > -rw-r--r-- 1 mshuler mshuler2038 Oct 16 16:04 > ks-cf-ib-1-CompressionInfo.db > -rw-r--r-- 1 mshuler mshuler7388 Oct 16 16:04 ks-cf-ib-1-Data.db > -rw-r--r-- 1 mshuler mshuler 163840 Oct 16 16:00 > lengthtest2172098199453929105bin > -rw-r--r-- 1 mshuler mshuler 65536 Oct 16 16:00 > readtest5611485117038557908bin > -rw-r--r-- 1 mshuler mshuler 0 Oct 16 16:00 > set_length_during_read_mode615047735510069936bin > -rw-r--r-- 1 mshuler mshuler 0 Oct 16 16:00 > set_negative_length7812195015686662874bin > -rwxr-xr-x 1 mshuler mshuler 48432 Oct 16 15:48 > snappy-1.0.5-libsnappyjava.so {noformat} was (Author: mshuler): cassandra-2.0 ant test = BUILD SUCCESSFUL lgtm! > temporary files need to be cleaned by unit tests > > > Key: CASSANDRA-7712 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7712 > Project: Cassandra > Issue Type: Test > Components: Tests >Reporter: Michael Shuler >Priority: Minor > Labels: bootcamp, lhf > Fix For: 2.0.11 > > Attachments: 7712-hung-CliTest_system.log.gz, 7712-v2.txt, > 7712-v3.txt, CASSANDRA-7712_apache_cassandra_2.0.txt > > > There ar
[jira] [Updated] (CASSANDRA-8109) Avoid constant boxing in ColumnStats.{Min/Max}Tracker
[ https://issues.apache.org/jira/browse/CASSANDRA-8109?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Rajanarayanan Thottuvaikkatumana updated CASSANDRA-8109: Attachment: cassandra-trunk-8109.txt Please find attached the patch for CASSANDRA-8109 on the trunk > Avoid constant boxing in ColumnStats.{Min/Max}Tracker > - > > Key: CASSANDRA-8109 > URL: https://issues.apache.org/jira/browse/CASSANDRA-8109 > Project: Cassandra > Issue Type: Improvement >Reporter: Sylvain Lebresne >Assignee: Rajanarayanan Thottuvaikkatumana >Priority: Minor > Labels: lhf > Fix For: 3.0 > > Attachments: cassandra-trunk-8109.txt > > > We use the {{ColumnStats.MinTracker}} and {{ColumnStats.MaxTracker}} to track > timestamps and deletion times in sstable. Those classes are generics but we > really ever use them for longs and integers. The consequence is that every > call to their {{update}} method (called for every cell during sstable write) > box it's argument (since we don't store the cell timestamps and deletion time > boxed). That feels like a waste that is easy to fix: we could just make those > work on longs only for instance and convert back to int at the end when > that's what we need. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-7712) temporary files need to be cleaned by unit tests
[ https://issues.apache.org/jira/browse/CASSANDRA-7712?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14174262#comment-14174262 ] Michael Shuler commented on CASSANDRA-7712: --- cassandra-2.0 ant test = BUILD SUCCESSFUL lgtm! > temporary files need to be cleaned by unit tests > > > Key: CASSANDRA-7712 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7712 > Project: Cassandra > Issue Type: Test > Components: Tests >Reporter: Michael Shuler >Priority: Minor > Labels: bootcamp, lhf > Fix For: 2.0.11 > > Attachments: 7712-hung-CliTest_system.log.gz, 7712-v2.txt, > 7712-v3.txt, CASSANDRA-7712_apache_cassandra_2.0.txt > > > There are many unit test temporary files left behind after test runs. In the > case of CI servers, I have seen >70,000 files accumulate in /tmp over a > period of time. Each unit test should make an effort to remove its temporary > files when the test is completed. > My current unit test cleanup block: > {noformat} > # clean up after unit tests.. > rm -rf /tmp/140*-0 /tmp/CFWith* /tmp/Counter1* /tmp/DescriptorTest* > /tmp/Keyspace1* \ > /tmp/KeyStreamingTransferTestSpace* /tmp/SSTableExportTest* > /tmp/SSTableImportTest* \ > /tmp/Standard1* /tmp/Statistics.db* /tmp/StreamingTransferTest* > /tmp/ValuesWithQuotes* \ > /tmp/cassandra* /tmp/jna-* /tmp/ks-cf-ib-1-* /tmp/lengthtest* > /tmp/liblz4-java*.so /tmp/readtest* \ > /tmp/set_length_during_read_mode* /tmp/set_negative_length* > /tmp/snappy-*.so > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Created] (CASSANDRA-8130) upgrade tests should run upgradesstables less eagerly
Russ Hatch created CASSANDRA-8130: - Summary: upgrade tests should run upgradesstables less eagerly Key: CASSANDRA-8130 URL: https://issues.apache.org/jira/browse/CASSANDRA-8130 Project: Cassandra Issue Type: Test Reporter: Russ Hatch Currently the cassandra upgrade tests in cassandra-dtest are doing an upgrade then running upgradesstables soon after. We are missing some potential coverage with the current approach. Instead of upgrading sstables "early", we should be waiting until absolutely necessary to run upgradesstables to test the guarantee that a version can read sstables from the previous version. This will give tests more time to interact with reading previous version sstables and hopefully increase chances of catching a bug. Each version of cassandra should be able to read sstables from the previous version (so 2.1.x can read 2.0.x, but is not guaranteed to read 1.2.x), and therefore can work just fine reading and writing data. Writes of course will happen in the current sstable version, so old sstables may be supplanted by current ones over time (subject to write volume and compaction), potentially obviating the need for an sstable upgrade. upgradesstables must be run before upgrading when the system could contain sstables from two versions back since read compatibility is not guaranteed (so we must run upgradesstables before upgrading to 2.1.x if there is a chance that sstables still exist from 1.2.x; because this is two versions back). This is all a long-winded way of saying that we should keep track in the dtests if we are about to be 2 versions behind for an impending upgrade, and only run upgradesstables at that point. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-7623) Altering keyspace truncates DESCRIBE output until you reconnect.
[ https://issues.apache.org/jira/browse/CASSANDRA-7623?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14174248#comment-14174248 ] Philip Thompson commented on CASSANDRA-7623: Still happening on 2.1.1. Might be related to 8012. > Altering keyspace truncates DESCRIBE output until you reconnect. > > > Key: CASSANDRA-7623 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7623 > Project: Cassandra > Issue Type: Bug >Reporter: Ryan McGuire >Priority: Minor > Labels: cqlsh > Fix For: 2.1.2 > > > Run DESCRIBE on a keyspace: > {code} > cqlsh> DESCRIBE KEYSPACE system_traces ; > CREATE KEYSPACE system_traces WITH replication = {'class': 'SimpleStrategy', > 'replication_factor': '2'} AND durable_writes = true; > CREATE TABLE system_traces.events ( > session_id uuid, > event_id timeuuid, > activity text, > source inet, > source_elapsed int, > thread text, > PRIMARY KEY (session_id, event_id) > ) WITH CLUSTERING ORDER BY (event_id ASC) > AND bloom_filter_fp_chance = 0.01 > AND caching = '{"keys":"ALL", "rows_per_partition":"NONE"}' > AND comment = '' > AND compaction = {'min_threshold': '4', 'class': > 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', > 'max_threshold': '32'} > AND compression = {'sstable_compression': > 'org.apache.cassandra.io.compress.LZ4Compressor'} > AND dclocal_read_repair_chance = 0.0 > AND default_time_to_live = 0 > AND gc_grace_seconds = 0 > AND max_index_interval = 2048 > AND memtable_flush_period_in_ms = 360 > AND min_index_interval = 128 > AND read_repair_chance = 0.0 > AND speculative_retry = '99.0PERCENTILE'; > CREATE TABLE system_traces.sessions ( > session_id uuid PRIMARY KEY, > coordinator inet, > duration int, > parameters map, > request text, > started_at timestamp > ) WITH bloom_filter_fp_chance = 0.01 > AND caching = '{"keys":"ALL", "rows_per_partition":"NONE"}' > AND comment = 'traced sessions' > AND compaction = {'min_threshold': '4', 'class': > 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', > 'max_threshold': '32'} > AND compression = {'sstable_compression': > 'org.apache.cassandra.io.compress.LZ4Compressor'} > AND dclocal_read_repair_chance = 0.0 > AND default_time_to_live = 0 > AND gc_grace_seconds = 0 > AND max_index_interval = 2048 > AND memtable_flush_period_in_ms = 360 > AND min_index_interval = 128 > AND read_repair_chance = 0.0 > AND speculative_retry = '99.0PERCENTILE'; > {code} > Alter it and run DESCRIBE again: > {code} > cqlsh> ALTER KEYSPACE system_traces WITH durable_writes = false; > cqlsh> DESCRIBE KEYSPACE system_traces ; > CREATE KEYSPACE system_traces WITH replication = {'class': 'SimpleStrategy', > 'replication_factor': '2'} AND durable_writes = false; > {code} > You can issue the DESCRIBE command multiple times and get the same output. > You have to disconnect and reconnect to get the table definition output to > show again. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-7623) Altering keyspace truncates DESCRIBE output until you reconnect.
[ https://issues.apache.org/jira/browse/CASSANDRA-7623?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Philip Thompson updated CASSANDRA-7623: --- Assignee: Tyler Hobbs > Altering keyspace truncates DESCRIBE output until you reconnect. > > > Key: CASSANDRA-7623 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7623 > Project: Cassandra > Issue Type: Bug >Reporter: Ryan McGuire >Assignee: Tyler Hobbs >Priority: Minor > Labels: cqlsh > Fix For: 2.1.2 > > > Run DESCRIBE on a keyspace: > {code} > cqlsh> DESCRIBE KEYSPACE system_traces ; > CREATE KEYSPACE system_traces WITH replication = {'class': 'SimpleStrategy', > 'replication_factor': '2'} AND durable_writes = true; > CREATE TABLE system_traces.events ( > session_id uuid, > event_id timeuuid, > activity text, > source inet, > source_elapsed int, > thread text, > PRIMARY KEY (session_id, event_id) > ) WITH CLUSTERING ORDER BY (event_id ASC) > AND bloom_filter_fp_chance = 0.01 > AND caching = '{"keys":"ALL", "rows_per_partition":"NONE"}' > AND comment = '' > AND compaction = {'min_threshold': '4', 'class': > 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', > 'max_threshold': '32'} > AND compression = {'sstable_compression': > 'org.apache.cassandra.io.compress.LZ4Compressor'} > AND dclocal_read_repair_chance = 0.0 > AND default_time_to_live = 0 > AND gc_grace_seconds = 0 > AND max_index_interval = 2048 > AND memtable_flush_period_in_ms = 360 > AND min_index_interval = 128 > AND read_repair_chance = 0.0 > AND speculative_retry = '99.0PERCENTILE'; > CREATE TABLE system_traces.sessions ( > session_id uuid PRIMARY KEY, > coordinator inet, > duration int, > parameters map, > request text, > started_at timestamp > ) WITH bloom_filter_fp_chance = 0.01 > AND caching = '{"keys":"ALL", "rows_per_partition":"NONE"}' > AND comment = 'traced sessions' > AND compaction = {'min_threshold': '4', 'class': > 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', > 'max_threshold': '32'} > AND compression = {'sstable_compression': > 'org.apache.cassandra.io.compress.LZ4Compressor'} > AND dclocal_read_repair_chance = 0.0 > AND default_time_to_live = 0 > AND gc_grace_seconds = 0 > AND max_index_interval = 2048 > AND memtable_flush_period_in_ms = 360 > AND min_index_interval = 128 > AND read_repair_chance = 0.0 > AND speculative_retry = '99.0PERCENTILE'; > {code} > Alter it and run DESCRIBE again: > {code} > cqlsh> ALTER KEYSPACE system_traces WITH durable_writes = false; > cqlsh> DESCRIBE KEYSPACE system_traces ; > CREATE KEYSPACE system_traces WITH replication = {'class': 'SimpleStrategy', > 'replication_factor': '2'} AND durable_writes = false; > {code} > You can issue the DESCRIBE command multiple times and get the same output. > You have to disconnect and reconnect to get the table definition output to > show again. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-7623) Altering keyspace truncates DESCRIBE output until you reconnect.
[ https://issues.apache.org/jira/browse/CASSANDRA-7623?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Philip Thompson updated CASSANDRA-7623: --- Labels: cqlsh (was: ) > Altering keyspace truncates DESCRIBE output until you reconnect. > > > Key: CASSANDRA-7623 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7623 > Project: Cassandra > Issue Type: Bug >Reporter: Ryan McGuire >Priority: Minor > Labels: cqlsh > Fix For: 2.1.2 > > > Run DESCRIBE on a keyspace: > {code} > cqlsh> DESCRIBE KEYSPACE system_traces ; > CREATE KEYSPACE system_traces WITH replication = {'class': 'SimpleStrategy', > 'replication_factor': '2'} AND durable_writes = true; > CREATE TABLE system_traces.events ( > session_id uuid, > event_id timeuuid, > activity text, > source inet, > source_elapsed int, > thread text, > PRIMARY KEY (session_id, event_id) > ) WITH CLUSTERING ORDER BY (event_id ASC) > AND bloom_filter_fp_chance = 0.01 > AND caching = '{"keys":"ALL", "rows_per_partition":"NONE"}' > AND comment = '' > AND compaction = {'min_threshold': '4', 'class': > 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', > 'max_threshold': '32'} > AND compression = {'sstable_compression': > 'org.apache.cassandra.io.compress.LZ4Compressor'} > AND dclocal_read_repair_chance = 0.0 > AND default_time_to_live = 0 > AND gc_grace_seconds = 0 > AND max_index_interval = 2048 > AND memtable_flush_period_in_ms = 360 > AND min_index_interval = 128 > AND read_repair_chance = 0.0 > AND speculative_retry = '99.0PERCENTILE'; > CREATE TABLE system_traces.sessions ( > session_id uuid PRIMARY KEY, > coordinator inet, > duration int, > parameters map, > request text, > started_at timestamp > ) WITH bloom_filter_fp_chance = 0.01 > AND caching = '{"keys":"ALL", "rows_per_partition":"NONE"}' > AND comment = 'traced sessions' > AND compaction = {'min_threshold': '4', 'class': > 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', > 'max_threshold': '32'} > AND compression = {'sstable_compression': > 'org.apache.cassandra.io.compress.LZ4Compressor'} > AND dclocal_read_repair_chance = 0.0 > AND default_time_to_live = 0 > AND gc_grace_seconds = 0 > AND max_index_interval = 2048 > AND memtable_flush_period_in_ms = 360 > AND min_index_interval = 128 > AND read_repair_chance = 0.0 > AND speculative_retry = '99.0PERCENTILE'; > {code} > Alter it and run DESCRIBE again: > {code} > cqlsh> ALTER KEYSPACE system_traces WITH durable_writes = false; > cqlsh> DESCRIBE KEYSPACE system_traces ; > CREATE KEYSPACE system_traces WITH replication = {'class': 'SimpleStrategy', > 'replication_factor': '2'} AND durable_writes = false; > {code} > You can issue the DESCRIBE command multiple times and get the same output. > You have to disconnect and reconnect to get the table definition output to > show again. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-8109) Avoid constant boxing in ColumnStats.{Min/Max}Tracker
[ https://issues.apache.org/jira/browse/CASSANDRA-8109?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14174235#comment-14174235 ] Tyler Hobbs commented on CASSANDRA-8109: [~rnamboodiri] trunk isn't completely stable yet, so some test failures are expected. In the case of this ticket, the compiler should be able to guarantee the safety of the changes, so go ahead and attach your patch. > Avoid constant boxing in ColumnStats.{Min/Max}Tracker > - > > Key: CASSANDRA-8109 > URL: https://issues.apache.org/jira/browse/CASSANDRA-8109 > Project: Cassandra > Issue Type: Improvement >Reporter: Sylvain Lebresne >Assignee: Rajanarayanan Thottuvaikkatumana >Priority: Minor > Labels: lhf > Fix For: 3.0 > > > We use the {{ColumnStats.MinTracker}} and {{ColumnStats.MaxTracker}} to track > timestamps and deletion times in sstable. Those classes are generics but we > really ever use them for longs and integers. The consequence is that every > call to their {{update}} method (called for every cell during sstable write) > box it's argument (since we don't store the cell timestamps and deletion time > boxed). That feels like a waste that is easy to fix: we could just make those > work on longs only for instance and convert back to int at the end when > that's what we need. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-6430) DELETE with IF = clause doesn't work properly if more then one row are going to be deleted
[ https://issues.apache.org/jira/browse/CASSANDRA-6430?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Tyler Hobbs updated CASSANDRA-6430: --- Attachment: 6430-2.0.txt 6430-2.0.txt validates that all PK columns are restricted when performing conditional deletes. I've also pushed a [dtest|https://github.com/thobbs/cassandra-dtest/tree/CASSANDRA-6430] that covers this. > DELETE with IF = clause doesn't work properly if more then one > row are going to be deleted > > > Key: CASSANDRA-6430 > URL: https://issues.apache.org/jira/browse/CASSANDRA-6430 > Project: Cassandra > Issue Type: Bug >Reporter: Dmitriy Ukhlov >Assignee: Tyler Hobbs > Fix For: 2.0.11 > > Attachments: 6430-2.0.txt > > > CREATE TABLE test(key int, sub_key int, value text, PRIMARY KEY(key, sub_key) > ); > INSERT INTO test(key, sub_key, value) VALUES(1,1, '1.1'); > INSERT INTO test(key, sub_key, value) VALUES(1,2, '1.2'); > INSERT INTO test(key, sub_key, value) VALUES(1,3, '1.3'); > SELECT * from test; > key | sub_key | value > -+-+--- >1 | 1 | 1.1 >1 | 2 | 1.2 >1 | 3 | 1.3 > DELETE FROM test WHERE key=1 IF value='1.2'; > [applied] > --- > False <=== I guess second row should be removed > SELECT * from test; > key | sub_key | value > -+-+--- >1 | 1 | 1.1 >1 | 2 | 1.2 >1 | 3 | 1.3 > (3 rows) > DELETE FROM test WHERE key=1; > SELECT * from test; > (0 rows) <=== all rows were removed: OK -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-7712) temporary files need to be cleaned by unit tests
[ https://issues.apache.org/jira/browse/CASSANDRA-7712?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Brandon Williams updated CASSANDRA-7712: Attachment: 7712-v3.txt v3 passes CliTest, though I had to remove the @AfterClass on cleanup, but I still don't see anything piling up in my tmp dir. > temporary files need to be cleaned by unit tests > > > Key: CASSANDRA-7712 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7712 > Project: Cassandra > Issue Type: Test > Components: Tests >Reporter: Michael Shuler >Priority: Minor > Labels: bootcamp, lhf > Fix For: 2.0.11 > > Attachments: 7712-hung-CliTest_system.log.gz, 7712-v2.txt, > 7712-v3.txt, CASSANDRA-7712_apache_cassandra_2.0.txt > > > There are many unit test temporary files left behind after test runs. In the > case of CI servers, I have seen >70,000 files accumulate in /tmp over a > period of time. Each unit test should make an effort to remove its temporary > files when the test is completed. > My current unit test cleanup block: > {noformat} > # clean up after unit tests.. > rm -rf /tmp/140*-0 /tmp/CFWith* /tmp/Counter1* /tmp/DescriptorTest* > /tmp/Keyspace1* \ > /tmp/KeyStreamingTransferTestSpace* /tmp/SSTableExportTest* > /tmp/SSTableImportTest* \ > /tmp/Standard1* /tmp/Statistics.db* /tmp/StreamingTransferTest* > /tmp/ValuesWithQuotes* \ > /tmp/cassandra* /tmp/jna-* /tmp/ks-cf-ib-1-* /tmp/lengthtest* > /tmp/liblz4-java*.so /tmp/readtest* \ > /tmp/set_length_during_read_mode* /tmp/set_negative_length* > /tmp/snappy-*.so > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-7712) temporary files need to be cleaned by unit tests
[ https://issues.apache.org/jira/browse/CASSANDRA-7712?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Michael Shuler updated CASSANDRA-7712: -- Attachment: 7712-hung-CliTest_system.log.gz I didn't get terribly far due to CliTest hanging with this patch applied to cassandra-2.0 branch. It appears to go through the test, then "Announcing shutdown", then a bunch of java.io.FileNotFoundException for .db files in TestKeySpace and never completes shutting down. Same result on several different systems - debug system.log for just the CliTest attached. > temporary files need to be cleaned by unit tests > > > Key: CASSANDRA-7712 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7712 > Project: Cassandra > Issue Type: Test > Components: Tests >Reporter: Michael Shuler >Priority: Minor > Labels: bootcamp, lhf > Fix For: 2.0.11 > > Attachments: 7712-hung-CliTest_system.log.gz, 7712-v2.txt, > CASSANDRA-7712_apache_cassandra_2.0.txt > > > There are many unit test temporary files left behind after test runs. In the > case of CI servers, I have seen >70,000 files accumulate in /tmp over a > period of time. Each unit test should make an effort to remove its temporary > files when the test is completed. > My current unit test cleanup block: > {noformat} > # clean up after unit tests.. > rm -rf /tmp/140*-0 /tmp/CFWith* /tmp/Counter1* /tmp/DescriptorTest* > /tmp/Keyspace1* \ > /tmp/KeyStreamingTransferTestSpace* /tmp/SSTableExportTest* > /tmp/SSTableImportTest* \ > /tmp/Standard1* /tmp/Statistics.db* /tmp/StreamingTransferTest* > /tmp/ValuesWithQuotes* \ > /tmp/cassandra* /tmp/jna-* /tmp/ks-cf-ib-1-* /tmp/lengthtest* > /tmp/liblz4-java*.so /tmp/readtest* \ > /tmp/set_length_during_read_mode* /tmp/set_negative_length* > /tmp/snappy-*.so > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-7579) File descriptor exhaustion can lead to unreliable state in exception condition
[ https://issues.apache.org/jira/browse/CASSANDRA-7579?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14174125#comment-14174125 ] Joshua McKenzie commented on CASSANDRA-7579: Depends on CASSANDRA-7927 - rebased [here|https://github.com/josh-mckenzie/cassandra/compare/7579]. We should wait on reviewing this until that stabilizies / gets committed. > File descriptor exhaustion can lead to unreliable state in exception condition > -- > > Key: CASSANDRA-7579 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7579 > Project: Cassandra > Issue Type: New Feature >Reporter: Joshua McKenzie >Assignee: Joshua McKenzie >Priority: Minor > Fix For: 2.1.2 > > Attachments: 7579_v1.txt > > > If the JVM runs out of file descriptors we can get into an unreliable state > (similar to CASSANDRA-7507 on OOM) where we cannot trust our shutdown hook to > run successfully to completion. We need to check IOExceptions and > appropriate Throwable to see if we have a FileNotFoundException w/message > "Too many files open" and forcefully shutdown the Daemon in these cases. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-7927) Kill daemon on any disk error
[ https://issues.apache.org/jira/browse/CASSANDRA-7927?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14174120#comment-14174120 ] Joshua McKenzie commented on CASSANDRA-7927: Another updated pushed to branch [here|https://github.com/josh-mckenzie/cassandra/compare/7927]; While working on CASSANDRA-7579 I noticed that the _die unit test was failing on linux (for entirely different reasons than the Windows failure). Digging into it a bit shows that the unit test it was based on, testCommitFailurePolicy_stop(), didn't actually do what it was intended to do. StorageService isn't initialized by SchemaLoader so the assertions to check on _stop test always passed. Also, changing a directory to write-only doesn't change the contents to being write-only so flushes would keep working even if the StorageService had been started. I've opened the interface on CommitLog.handleCommitError as public, marked it VisibleForTesting, and updated those 2 unit tests to check the logic specifically dealing with how our CommitLog system deals with throwables during stop and die policy settings. Tests pass on both Windows and linux now. > Kill daemon on any disk error > - > > Key: CASSANDRA-7927 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7927 > Project: Cassandra > Issue Type: New Feature > Components: Core > Environment: aws, stock cassandra or dse >Reporter: John Sumsion >Assignee: John Sumsion > Labels: bootcamp, lhf > Fix For: 2.1.1 > > Attachments: 7927-v1-die.patch > > > We got a disk read error on 1.2.13 that didn't trigger the disk failure > policy, and I'm trying to hunt down why, but in doing so, I saw that there is > no disk_failure_policy option for just killing the daemon. > If we ever get a corrupt sstable, we want to replace the node anyway, because > some aws instance store disks just go bad. > I want to use the JVMStabilityInspector from CASSANDRA-7507 to kill so that > remains standard, so I will base my patch on CASSANDRA-7507. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-7966) 1.2.18 -> 2.0.10 upgrade compactions_in_progress: java.lang.IllegalArgumentException
[ https://issues.apache.org/jira/browse/CASSANDRA-7966?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14174121#comment-14174121 ] Karl Mueller commented on CASSANDRA-7966: - OK thanks - let me know if there's more info needed :) > 1.2.18 -> 2.0.10 upgrade compactions_in_progress: > java.lang.IllegalArgumentException > > > Key: CASSANDRA-7966 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7966 > Project: Cassandra > Issue Type: Bug > Environment: JDK 1.7 >Reporter: Karl Mueller >Assignee: Marcus Eriksson >Priority: Minor > > This happened on a new node when starting 2.0.10 after 1.2.18 with complete > upgradesstables run: > {noformat} > INFO 15:31:11,532 Enqueuing flush of > Memtable-compactions_in_progress@1366724594(0/0 serialized/live bytes, 1 ops) > INFO 15:31:11,532 Writing Memtable-compactions_in_progress@1366724594(0/0 > serialized/live bytes, 1 ops) > INFO 15:31:11,547 Completed flushing > /data2/data-cassandra/system/compactions_in_progress/system-compactions_in_progress-jb-10-Data.db > (42 bytes) for commitlog position ReplayPosition(segmentId=1410993002452, > position=164409) > ERROR 15:31:11,550 Exception in thread Thread[CompactionExecutor:36,1,main] > java.lang.IllegalArgumentException > at java.nio.Buffer.limit(Buffer.java:267) > at > org.apache.cassandra.utils.ByteBufferUtil.readBytes(ByteBufferUtil.java:587) > at > org.apache.cassandra.utils.ByteBufferUtil.readBytesWithShortLength(ByteBufferUtil.java:596) > at > org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:61) > at > org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:36) > at > org.apache.cassandra.db.ArrayBackedSortedColumns.addColumn(ArrayBackedSortedColumns.java:112) > at > org.apache.cassandra.db.ColumnFamily.addColumn(ColumnFamily.java:116) > at org.apache.cassandra.db.ColumnFamily.addAtom(ColumnFamily.java:150) > at > org.apache.cassandra.io.sstable.SSTableIdentityIterator.getColumnFamilyWithColumns(SSTableIdentityIterator.java:186) > at > org.apache.cassandra.db.compaction.PrecompactedRow.merge(PrecompactedRow.java:98) > at > org.apache.cassandra.db.compaction.PrecompactedRow.(PrecompactedRow.java:85) > at > org.apache.cassandra.db.compaction.CompactionController.getCompactedRow(CompactionController.java:196) > at > org.apache.cassandra.db.compaction.CompactionIterable$Reducer.getReduced(CompactionIterable.java:74) > at > org.apache.cassandra.db.compaction.CompactionIterable$Reducer.getReduced(CompactionIterable.java:55) > 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.compaction.CompactionTask.runWith(CompactionTask.java:143) > at > org.apache.cassandra.io.util.DiskAwareRunnable.runMayThrow(DiskAwareRunnable.java:48) > at > org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) > at > org.apache.cassandra.db.compaction.CompactionTask.executeInternal(CompactionTask.java:60) > at > org.apache.cassandra.db.compaction.AbstractCompactionTask.execute(AbstractCompactionTask.java:59) > at > org.apache.cassandra.db.compaction.CompactionManager$BackgroundCompactionTask.run(CompactionManager.java:198) > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) > at java.util.concurrent.FutureTask.run(FutureTask.java:262) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:724) > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Created] (CASSANDRA-8129) Increase max heap for sstablesplit
Matt Stump created CASSANDRA-8129: - Summary: Increase max heap for sstablesplit Key: CASSANDRA-8129 URL: https://issues.apache.org/jira/browse/CASSANDRA-8129 Project: Cassandra Issue Type: Improvement Components: Tools Reporter: Matt Stump Priority: Minor The max heap for sstablesplit is 256m. For large files that's too small and it will OOM. We should increase the max heap to something like 2-4G with the understanding that sstablesplit will only most likely be invoked to split large files. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-7966) 1.2.18 -> 2.0.10 upgrade compactions_in_progress: java.lang.IllegalArgumentException
[ https://issues.apache.org/jira/browse/CASSANDRA-7966?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14174055#comment-14174055 ] Philip Thompson commented on CASSANDRA-7966: [~kmueller] I have been informed I am in fact wrong and this is totally unnecessary. > 1.2.18 -> 2.0.10 upgrade compactions_in_progress: > java.lang.IllegalArgumentException > > > Key: CASSANDRA-7966 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7966 > Project: Cassandra > Issue Type: Bug > Environment: JDK 1.7 >Reporter: Karl Mueller >Assignee: Marcus Eriksson >Priority: Minor > > This happened on a new node when starting 2.0.10 after 1.2.18 with complete > upgradesstables run: > {noformat} > INFO 15:31:11,532 Enqueuing flush of > Memtable-compactions_in_progress@1366724594(0/0 serialized/live bytes, 1 ops) > INFO 15:31:11,532 Writing Memtable-compactions_in_progress@1366724594(0/0 > serialized/live bytes, 1 ops) > INFO 15:31:11,547 Completed flushing > /data2/data-cassandra/system/compactions_in_progress/system-compactions_in_progress-jb-10-Data.db > (42 bytes) for commitlog position ReplayPosition(segmentId=1410993002452, > position=164409) > ERROR 15:31:11,550 Exception in thread Thread[CompactionExecutor:36,1,main] > java.lang.IllegalArgumentException > at java.nio.Buffer.limit(Buffer.java:267) > at > org.apache.cassandra.utils.ByteBufferUtil.readBytes(ByteBufferUtil.java:587) > at > org.apache.cassandra.utils.ByteBufferUtil.readBytesWithShortLength(ByteBufferUtil.java:596) > at > org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:61) > at > org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:36) > at > org.apache.cassandra.db.ArrayBackedSortedColumns.addColumn(ArrayBackedSortedColumns.java:112) > at > org.apache.cassandra.db.ColumnFamily.addColumn(ColumnFamily.java:116) > at org.apache.cassandra.db.ColumnFamily.addAtom(ColumnFamily.java:150) > at > org.apache.cassandra.io.sstable.SSTableIdentityIterator.getColumnFamilyWithColumns(SSTableIdentityIterator.java:186) > at > org.apache.cassandra.db.compaction.PrecompactedRow.merge(PrecompactedRow.java:98) > at > org.apache.cassandra.db.compaction.PrecompactedRow.(PrecompactedRow.java:85) > at > org.apache.cassandra.db.compaction.CompactionController.getCompactedRow(CompactionController.java:196) > at > org.apache.cassandra.db.compaction.CompactionIterable$Reducer.getReduced(CompactionIterable.java:74) > at > org.apache.cassandra.db.compaction.CompactionIterable$Reducer.getReduced(CompactionIterable.java:55) > 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.compaction.CompactionTask.runWith(CompactionTask.java:143) > at > org.apache.cassandra.io.util.DiskAwareRunnable.runMayThrow(DiskAwareRunnable.java:48) > at > org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) > at > org.apache.cassandra.db.compaction.CompactionTask.executeInternal(CompactionTask.java:60) > at > org.apache.cassandra.db.compaction.AbstractCompactionTask.execute(AbstractCompactionTask.java:59) > at > org.apache.cassandra.db.compaction.CompactionManager$BackgroundCompactionTask.run(CompactionManager.java:198) > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) > at java.util.concurrent.FutureTask.run(FutureTask.java:262) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:724) > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-7966) 1.2.18 -> 2.0.10 upgrade compactions_in_progress: java.lang.IllegalArgumentException
[ https://issues.apache.org/jira/browse/CASSANDRA-7966?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Philip Thompson updated CASSANDRA-7966: --- Assignee: Marcus Eriksson > 1.2.18 -> 2.0.10 upgrade compactions_in_progress: > java.lang.IllegalArgumentException > > > Key: CASSANDRA-7966 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7966 > Project: Cassandra > Issue Type: Bug > Environment: JDK 1.7 >Reporter: Karl Mueller >Assignee: Marcus Eriksson >Priority: Minor > > This happened on a new node when starting 2.0.10 after 1.2.18 with complete > upgradesstables run: > {noformat} > INFO 15:31:11,532 Enqueuing flush of > Memtable-compactions_in_progress@1366724594(0/0 serialized/live bytes, 1 ops) > INFO 15:31:11,532 Writing Memtable-compactions_in_progress@1366724594(0/0 > serialized/live bytes, 1 ops) > INFO 15:31:11,547 Completed flushing > /data2/data-cassandra/system/compactions_in_progress/system-compactions_in_progress-jb-10-Data.db > (42 bytes) for commitlog position ReplayPosition(segmentId=1410993002452, > position=164409) > ERROR 15:31:11,550 Exception in thread Thread[CompactionExecutor:36,1,main] > java.lang.IllegalArgumentException > at java.nio.Buffer.limit(Buffer.java:267) > at > org.apache.cassandra.utils.ByteBufferUtil.readBytes(ByteBufferUtil.java:587) > at > org.apache.cassandra.utils.ByteBufferUtil.readBytesWithShortLength(ByteBufferUtil.java:596) > at > org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:61) > at > org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:36) > at > org.apache.cassandra.db.ArrayBackedSortedColumns.addColumn(ArrayBackedSortedColumns.java:112) > at > org.apache.cassandra.db.ColumnFamily.addColumn(ColumnFamily.java:116) > at org.apache.cassandra.db.ColumnFamily.addAtom(ColumnFamily.java:150) > at > org.apache.cassandra.io.sstable.SSTableIdentityIterator.getColumnFamilyWithColumns(SSTableIdentityIterator.java:186) > at > org.apache.cassandra.db.compaction.PrecompactedRow.merge(PrecompactedRow.java:98) > at > org.apache.cassandra.db.compaction.PrecompactedRow.(PrecompactedRow.java:85) > at > org.apache.cassandra.db.compaction.CompactionController.getCompactedRow(CompactionController.java:196) > at > org.apache.cassandra.db.compaction.CompactionIterable$Reducer.getReduced(CompactionIterable.java:74) > at > org.apache.cassandra.db.compaction.CompactionIterable$Reducer.getReduced(CompactionIterable.java:55) > 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.compaction.CompactionTask.runWith(CompactionTask.java:143) > at > org.apache.cassandra.io.util.DiskAwareRunnable.runMayThrow(DiskAwareRunnable.java:48) > at > org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) > at > org.apache.cassandra.db.compaction.CompactionTask.executeInternal(CompactionTask.java:60) > at > org.apache.cassandra.db.compaction.AbstractCompactionTask.execute(AbstractCompactionTask.java:59) > at > org.apache.cassandra.db.compaction.CompactionManager$BackgroundCompactionTask.run(CompactionManager.java:198) > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) > at java.util.concurrent.FutureTask.run(FutureTask.java:262) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:724) > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-7966) 1.2.18 -> 2.0.10 upgrade compactions_in_progress: java.lang.IllegalArgumentException
[ https://issues.apache.org/jira/browse/CASSANDRA-7966?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14174047#comment-14174047 ] Philip Thompson commented on CASSANDRA-7966: I don't believe it is required, but it may help with your problem. Regardless I'm going to assign someone to look at this. > 1.2.18 -> 2.0.10 upgrade compactions_in_progress: > java.lang.IllegalArgumentException > > > Key: CASSANDRA-7966 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7966 > Project: Cassandra > Issue Type: Bug > Environment: JDK 1.7 >Reporter: Karl Mueller >Priority: Minor > > This happened on a new node when starting 2.0.10 after 1.2.18 with complete > upgradesstables run: > {noformat} > INFO 15:31:11,532 Enqueuing flush of > Memtable-compactions_in_progress@1366724594(0/0 serialized/live bytes, 1 ops) > INFO 15:31:11,532 Writing Memtable-compactions_in_progress@1366724594(0/0 > serialized/live bytes, 1 ops) > INFO 15:31:11,547 Completed flushing > /data2/data-cassandra/system/compactions_in_progress/system-compactions_in_progress-jb-10-Data.db > (42 bytes) for commitlog position ReplayPosition(segmentId=1410993002452, > position=164409) > ERROR 15:31:11,550 Exception in thread Thread[CompactionExecutor:36,1,main] > java.lang.IllegalArgumentException > at java.nio.Buffer.limit(Buffer.java:267) > at > org.apache.cassandra.utils.ByteBufferUtil.readBytes(ByteBufferUtil.java:587) > at > org.apache.cassandra.utils.ByteBufferUtil.readBytesWithShortLength(ByteBufferUtil.java:596) > at > org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:61) > at > org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:36) > at > org.apache.cassandra.db.ArrayBackedSortedColumns.addColumn(ArrayBackedSortedColumns.java:112) > at > org.apache.cassandra.db.ColumnFamily.addColumn(ColumnFamily.java:116) > at org.apache.cassandra.db.ColumnFamily.addAtom(ColumnFamily.java:150) > at > org.apache.cassandra.io.sstable.SSTableIdentityIterator.getColumnFamilyWithColumns(SSTableIdentityIterator.java:186) > at > org.apache.cassandra.db.compaction.PrecompactedRow.merge(PrecompactedRow.java:98) > at > org.apache.cassandra.db.compaction.PrecompactedRow.(PrecompactedRow.java:85) > at > org.apache.cassandra.db.compaction.CompactionController.getCompactedRow(CompactionController.java:196) > at > org.apache.cassandra.db.compaction.CompactionIterable$Reducer.getReduced(CompactionIterable.java:74) > at > org.apache.cassandra.db.compaction.CompactionIterable$Reducer.getReduced(CompactionIterable.java:55) > 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.compaction.CompactionTask.runWith(CompactionTask.java:143) > at > org.apache.cassandra.io.util.DiskAwareRunnable.runMayThrow(DiskAwareRunnable.java:48) > at > org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) > at > org.apache.cassandra.db.compaction.CompactionTask.executeInternal(CompactionTask.java:60) > at > org.apache.cassandra.db.compaction.AbstractCompactionTask.execute(AbstractCompactionTask.java:59) > at > org.apache.cassandra.db.compaction.CompactionManager$BackgroundCompactionTask.run(CompactionManager.java:198) > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) > at java.util.concurrent.FutureTask.run(FutureTask.java:262) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:724) > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-7966) 1.2.18 -> 2.0.10 upgrade compactions_in_progress: java.lang.IllegalArgumentException
[ https://issues.apache.org/jira/browse/CASSANDRA-7966?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14174044#comment-14174044 ] Karl Mueller commented on CASSANDRA-7966: - No, I haven't done it. I wasn't aware running upgradesstables *after* an upgrade was standard practice :) > 1.2.18 -> 2.0.10 upgrade compactions_in_progress: > java.lang.IllegalArgumentException > > > Key: CASSANDRA-7966 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7966 > Project: Cassandra > Issue Type: Bug > Environment: JDK 1.7 >Reporter: Karl Mueller >Priority: Minor > > This happened on a new node when starting 2.0.10 after 1.2.18 with complete > upgradesstables run: > {noformat} > INFO 15:31:11,532 Enqueuing flush of > Memtable-compactions_in_progress@1366724594(0/0 serialized/live bytes, 1 ops) > INFO 15:31:11,532 Writing Memtable-compactions_in_progress@1366724594(0/0 > serialized/live bytes, 1 ops) > INFO 15:31:11,547 Completed flushing > /data2/data-cassandra/system/compactions_in_progress/system-compactions_in_progress-jb-10-Data.db > (42 bytes) for commitlog position ReplayPosition(segmentId=1410993002452, > position=164409) > ERROR 15:31:11,550 Exception in thread Thread[CompactionExecutor:36,1,main] > java.lang.IllegalArgumentException > at java.nio.Buffer.limit(Buffer.java:267) > at > org.apache.cassandra.utils.ByteBufferUtil.readBytes(ByteBufferUtil.java:587) > at > org.apache.cassandra.utils.ByteBufferUtil.readBytesWithShortLength(ByteBufferUtil.java:596) > at > org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:61) > at > org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:36) > at > org.apache.cassandra.db.ArrayBackedSortedColumns.addColumn(ArrayBackedSortedColumns.java:112) > at > org.apache.cassandra.db.ColumnFamily.addColumn(ColumnFamily.java:116) > at org.apache.cassandra.db.ColumnFamily.addAtom(ColumnFamily.java:150) > at > org.apache.cassandra.io.sstable.SSTableIdentityIterator.getColumnFamilyWithColumns(SSTableIdentityIterator.java:186) > at > org.apache.cassandra.db.compaction.PrecompactedRow.merge(PrecompactedRow.java:98) > at > org.apache.cassandra.db.compaction.PrecompactedRow.(PrecompactedRow.java:85) > at > org.apache.cassandra.db.compaction.CompactionController.getCompactedRow(CompactionController.java:196) > at > org.apache.cassandra.db.compaction.CompactionIterable$Reducer.getReduced(CompactionIterable.java:74) > at > org.apache.cassandra.db.compaction.CompactionIterable$Reducer.getReduced(CompactionIterable.java:55) > 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.compaction.CompactionTask.runWith(CompactionTask.java:143) > at > org.apache.cassandra.io.util.DiskAwareRunnable.runMayThrow(DiskAwareRunnable.java:48) > at > org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) > at > org.apache.cassandra.db.compaction.CompactionTask.executeInternal(CompactionTask.java:60) > at > org.apache.cassandra.db.compaction.AbstractCompactionTask.execute(AbstractCompactionTask.java:59) > at > org.apache.cassandra.db.compaction.CompactionManager$BackgroundCompactionTask.run(CompactionManager.java:198) > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) > at java.util.concurrent.FutureTask.run(FutureTask.java:262) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:724) > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-8058) local consistency level during boostrap (may cause a write timeout on each write request)
[ https://issues.apache.org/jira/browse/CASSANDRA-8058?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14174043#comment-14174043 ] Nicolas DOUILLET commented on CASSANDRA-8058: - Hey! Thanks, I'm glad to contribute to this huge product! Yes you're right, I mean, I did not dare change the visibility of those methods :) About the first comment, concerning the {{assureSufficientLiveNodes}}, should I create a new issue ? > local consistency level during boostrap (may cause a write timeout on each > write request) > - > > Key: CASSANDRA-8058 > URL: https://issues.apache.org/jira/browse/CASSANDRA-8058 > Project: Cassandra > Issue Type: Bug > Components: Core >Reporter: Nicolas DOUILLET >Assignee: Nicolas DOUILLET > Fix For: 2.0.11, 2.1.1 > > Attachments: > 0001-during-boostrap-block-only-for-local-pending-endpoin.patch.txt, > 0001-during-boostrap-block-only-for-local-pending-endpoint-v2.patch, > 0001-during-boostrap-block-only-for-local-pending-endpoints-v2-1.patch > > > Hi, > During bootstrap, for {{LOCAL_QUORUM}} and {{LOCAL_ONE}} consistencies, the > {{DatacenterWriteResponseHandler}} were waiting for pending remote endpoints. > I think that's a regression, because it seems that it has been correctly > implemented in CASSANDRA-833, but removed later. > It was specifically annoying in the case of {{RF=2}} and {{cl=LOCAL_QUORUM}}, > because during a bootstrap of a remote node, all requests ended in > {{WriteTimeout}}, because they were waiting for a response that would never > happen. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-7966) 1.2.18 -> 2.0.10 upgrade compactions_in_progress: java.lang.IllegalArgumentException
[ https://issues.apache.org/jira/browse/CASSANDRA-7966?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14174039#comment-14174039 ] Philip Thompson commented on CASSANDRA-7966: Not before, but after the upgrade. It is unclear if you did that. > 1.2.18 -> 2.0.10 upgrade compactions_in_progress: > java.lang.IllegalArgumentException > > > Key: CASSANDRA-7966 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7966 > Project: Cassandra > Issue Type: Bug > Environment: JDK 1.7 >Reporter: Karl Mueller >Priority: Minor > > This happened on a new node when starting 2.0.10 after 1.2.18 with complete > upgradesstables run: > {noformat} > INFO 15:31:11,532 Enqueuing flush of > Memtable-compactions_in_progress@1366724594(0/0 serialized/live bytes, 1 ops) > INFO 15:31:11,532 Writing Memtable-compactions_in_progress@1366724594(0/0 > serialized/live bytes, 1 ops) > INFO 15:31:11,547 Completed flushing > /data2/data-cassandra/system/compactions_in_progress/system-compactions_in_progress-jb-10-Data.db > (42 bytes) for commitlog position ReplayPosition(segmentId=1410993002452, > position=164409) > ERROR 15:31:11,550 Exception in thread Thread[CompactionExecutor:36,1,main] > java.lang.IllegalArgumentException > at java.nio.Buffer.limit(Buffer.java:267) > at > org.apache.cassandra.utils.ByteBufferUtil.readBytes(ByteBufferUtil.java:587) > at > org.apache.cassandra.utils.ByteBufferUtil.readBytesWithShortLength(ByteBufferUtil.java:596) > at > org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:61) > at > org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:36) > at > org.apache.cassandra.db.ArrayBackedSortedColumns.addColumn(ArrayBackedSortedColumns.java:112) > at > org.apache.cassandra.db.ColumnFamily.addColumn(ColumnFamily.java:116) > at org.apache.cassandra.db.ColumnFamily.addAtom(ColumnFamily.java:150) > at > org.apache.cassandra.io.sstable.SSTableIdentityIterator.getColumnFamilyWithColumns(SSTableIdentityIterator.java:186) > at > org.apache.cassandra.db.compaction.PrecompactedRow.merge(PrecompactedRow.java:98) > at > org.apache.cassandra.db.compaction.PrecompactedRow.(PrecompactedRow.java:85) > at > org.apache.cassandra.db.compaction.CompactionController.getCompactedRow(CompactionController.java:196) > at > org.apache.cassandra.db.compaction.CompactionIterable$Reducer.getReduced(CompactionIterable.java:74) > at > org.apache.cassandra.db.compaction.CompactionIterable$Reducer.getReduced(CompactionIterable.java:55) > 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.compaction.CompactionTask.runWith(CompactionTask.java:143) > at > org.apache.cassandra.io.util.DiskAwareRunnable.runMayThrow(DiskAwareRunnable.java:48) > at > org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) > at > org.apache.cassandra.db.compaction.CompactionTask.executeInternal(CompactionTask.java:60) > at > org.apache.cassandra.db.compaction.AbstractCompactionTask.execute(AbstractCompactionTask.java:59) > at > org.apache.cassandra.db.compaction.CompactionManager$BackgroundCompactionTask.run(CompactionManager.java:198) > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) > at java.util.concurrent.FutureTask.run(FutureTask.java:262) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:724) > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-7966) 1.2.18 -> 2.0.10 upgrade compactions_in_progress: java.lang.IllegalArgumentException
[ https://issues.apache.org/jira/browse/CASSANDRA-7966?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14174036#comment-14174036 ] Karl Mueller commented on CASSANDRA-7966: - Yes, I run upgradesstable before every x.y upgrade > 1.2.18 -> 2.0.10 upgrade compactions_in_progress: > java.lang.IllegalArgumentException > > > Key: CASSANDRA-7966 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7966 > Project: Cassandra > Issue Type: Bug > Environment: JDK 1.7 >Reporter: Karl Mueller >Priority: Minor > > This happened on a new node when starting 2.0.10 after 1.2.18 with complete > upgradesstables run: > {noformat} > INFO 15:31:11,532 Enqueuing flush of > Memtable-compactions_in_progress@1366724594(0/0 serialized/live bytes, 1 ops) > INFO 15:31:11,532 Writing Memtable-compactions_in_progress@1366724594(0/0 > serialized/live bytes, 1 ops) > INFO 15:31:11,547 Completed flushing > /data2/data-cassandra/system/compactions_in_progress/system-compactions_in_progress-jb-10-Data.db > (42 bytes) for commitlog position ReplayPosition(segmentId=1410993002452, > position=164409) > ERROR 15:31:11,550 Exception in thread Thread[CompactionExecutor:36,1,main] > java.lang.IllegalArgumentException > at java.nio.Buffer.limit(Buffer.java:267) > at > org.apache.cassandra.utils.ByteBufferUtil.readBytes(ByteBufferUtil.java:587) > at > org.apache.cassandra.utils.ByteBufferUtil.readBytesWithShortLength(ByteBufferUtil.java:596) > at > org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:61) > at > org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:36) > at > org.apache.cassandra.db.ArrayBackedSortedColumns.addColumn(ArrayBackedSortedColumns.java:112) > at > org.apache.cassandra.db.ColumnFamily.addColumn(ColumnFamily.java:116) > at org.apache.cassandra.db.ColumnFamily.addAtom(ColumnFamily.java:150) > at > org.apache.cassandra.io.sstable.SSTableIdentityIterator.getColumnFamilyWithColumns(SSTableIdentityIterator.java:186) > at > org.apache.cassandra.db.compaction.PrecompactedRow.merge(PrecompactedRow.java:98) > at > org.apache.cassandra.db.compaction.PrecompactedRow.(PrecompactedRow.java:85) > at > org.apache.cassandra.db.compaction.CompactionController.getCompactedRow(CompactionController.java:196) > at > org.apache.cassandra.db.compaction.CompactionIterable$Reducer.getReduced(CompactionIterable.java:74) > at > org.apache.cassandra.db.compaction.CompactionIterable$Reducer.getReduced(CompactionIterable.java:55) > 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.compaction.CompactionTask.runWith(CompactionTask.java:143) > at > org.apache.cassandra.io.util.DiskAwareRunnable.runMayThrow(DiskAwareRunnable.java:48) > at > org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) > at > org.apache.cassandra.db.compaction.CompactionTask.executeInternal(CompactionTask.java:60) > at > org.apache.cassandra.db.compaction.AbstractCompactionTask.execute(AbstractCompactionTask.java:59) > at > org.apache.cassandra.db.compaction.CompactionManager$BackgroundCompactionTask.run(CompactionManager.java:198) > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) > at java.util.concurrent.FutureTask.run(FutureTask.java:262) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:724) > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-7966) 1.2.18 -> 2.0.10 upgrade compactions_in_progress: java.lang.IllegalArgumentException
[ https://issues.apache.org/jira/browse/CASSANDRA-7966?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Philip Thompson updated CASSANDRA-7966: --- Reproduced In: 2.0.10 > 1.2.18 -> 2.0.10 upgrade compactions_in_progress: > java.lang.IllegalArgumentException > > > Key: CASSANDRA-7966 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7966 > Project: Cassandra > Issue Type: Bug > Environment: JDK 1.7 >Reporter: Karl Mueller >Priority: Minor > > This happened on a new node when starting 2.0.10 after 1.2.18 with complete > upgradesstables run: > {noformat} > INFO 15:31:11,532 Enqueuing flush of > Memtable-compactions_in_progress@1366724594(0/0 serialized/live bytes, 1 ops) > INFO 15:31:11,532 Writing Memtable-compactions_in_progress@1366724594(0/0 > serialized/live bytes, 1 ops) > INFO 15:31:11,547 Completed flushing > /data2/data-cassandra/system/compactions_in_progress/system-compactions_in_progress-jb-10-Data.db > (42 bytes) for commitlog position ReplayPosition(segmentId=1410993002452, > position=164409) > ERROR 15:31:11,550 Exception in thread Thread[CompactionExecutor:36,1,main] > java.lang.IllegalArgumentException > at java.nio.Buffer.limit(Buffer.java:267) > at > org.apache.cassandra.utils.ByteBufferUtil.readBytes(ByteBufferUtil.java:587) > at > org.apache.cassandra.utils.ByteBufferUtil.readBytesWithShortLength(ByteBufferUtil.java:596) > at > org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:61) > at > org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:36) > at > org.apache.cassandra.db.ArrayBackedSortedColumns.addColumn(ArrayBackedSortedColumns.java:112) > at > org.apache.cassandra.db.ColumnFamily.addColumn(ColumnFamily.java:116) > at org.apache.cassandra.db.ColumnFamily.addAtom(ColumnFamily.java:150) > at > org.apache.cassandra.io.sstable.SSTableIdentityIterator.getColumnFamilyWithColumns(SSTableIdentityIterator.java:186) > at > org.apache.cassandra.db.compaction.PrecompactedRow.merge(PrecompactedRow.java:98) > at > org.apache.cassandra.db.compaction.PrecompactedRow.(PrecompactedRow.java:85) > at > org.apache.cassandra.db.compaction.CompactionController.getCompactedRow(CompactionController.java:196) > at > org.apache.cassandra.db.compaction.CompactionIterable$Reducer.getReduced(CompactionIterable.java:74) > at > org.apache.cassandra.db.compaction.CompactionIterable$Reducer.getReduced(CompactionIterable.java:55) > 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.compaction.CompactionTask.runWith(CompactionTask.java:143) > at > org.apache.cassandra.io.util.DiskAwareRunnable.runMayThrow(DiskAwareRunnable.java:48) > at > org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) > at > org.apache.cassandra.db.compaction.CompactionTask.executeInternal(CompactionTask.java:60) > at > org.apache.cassandra.db.compaction.AbstractCompactionTask.execute(AbstractCompactionTask.java:59) > at > org.apache.cassandra.db.compaction.CompactionManager$BackgroundCompactionTask.run(CompactionManager.java:198) > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) > at java.util.concurrent.FutureTask.run(FutureTask.java:262) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:724) > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-8076) Expose an mbean method to poll for repair job status
[ https://issues.apache.org/jira/browse/CASSANDRA-8076?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14174020#comment-14174020 ] Philip S Doctor commented on CASSANDRA-8076: Just trying to keep my eyes on the prize. The current issue is this, if a notif is lost, and that notif is maybe a completion message, then we don't know the outcome of the repair and so we told the user to check c* logs for the outcome. If we use this api, we can now tell for certain if the repair is still going (in which case notif lost is not a problem, we're still waiting) so that's a partial solution. If we *did* lose a completion notification, however, is there a way for me to find out if the repair was successful or failed so I can retry/alert the customer? > Expose an mbean method to poll for repair job status > > > Key: CASSANDRA-8076 > URL: https://issues.apache.org/jira/browse/CASSANDRA-8076 > Project: Cassandra > Issue Type: Improvement >Reporter: Philip S Doctor >Assignee: Yuki Morishita > > Given the int reply-id from forceRepairAsync, allow a client to request the > status of this ID via jmx. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-7966) 1.2.18 -> 2.0.10 upgrade compactions_in_progress: java.lang.IllegalArgumentException
[ https://issues.apache.org/jira/browse/CASSANDRA-7966?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14174022#comment-14174022 ] Philip Thompson commented on CASSANDRA-7966: Did you also run upgradesstables on every node after reaching 2.0.10? > 1.2.18 -> 2.0.10 upgrade compactions_in_progress: > java.lang.IllegalArgumentException > > > Key: CASSANDRA-7966 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7966 > Project: Cassandra > Issue Type: Bug > Environment: JDK 1.7 >Reporter: Karl Mueller >Priority: Minor > > This happened on a new node when starting 2.0.10 after 1.2.18 with complete > upgradesstables run: > {noformat} > INFO 15:31:11,532 Enqueuing flush of > Memtable-compactions_in_progress@1366724594(0/0 serialized/live bytes, 1 ops) > INFO 15:31:11,532 Writing Memtable-compactions_in_progress@1366724594(0/0 > serialized/live bytes, 1 ops) > INFO 15:31:11,547 Completed flushing > /data2/data-cassandra/system/compactions_in_progress/system-compactions_in_progress-jb-10-Data.db > (42 bytes) for commitlog position ReplayPosition(segmentId=1410993002452, > position=164409) > ERROR 15:31:11,550 Exception in thread Thread[CompactionExecutor:36,1,main] > java.lang.IllegalArgumentException > at java.nio.Buffer.limit(Buffer.java:267) > at > org.apache.cassandra.utils.ByteBufferUtil.readBytes(ByteBufferUtil.java:587) > at > org.apache.cassandra.utils.ByteBufferUtil.readBytesWithShortLength(ByteBufferUtil.java:596) > at > org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:61) > at > org.apache.cassandra.db.marshal.AbstractCompositeType.compare(AbstractCompositeType.java:36) > at > org.apache.cassandra.db.ArrayBackedSortedColumns.addColumn(ArrayBackedSortedColumns.java:112) > at > org.apache.cassandra.db.ColumnFamily.addColumn(ColumnFamily.java:116) > at org.apache.cassandra.db.ColumnFamily.addAtom(ColumnFamily.java:150) > at > org.apache.cassandra.io.sstable.SSTableIdentityIterator.getColumnFamilyWithColumns(SSTableIdentityIterator.java:186) > at > org.apache.cassandra.db.compaction.PrecompactedRow.merge(PrecompactedRow.java:98) > at > org.apache.cassandra.db.compaction.PrecompactedRow.(PrecompactedRow.java:85) > at > org.apache.cassandra.db.compaction.CompactionController.getCompactedRow(CompactionController.java:196) > at > org.apache.cassandra.db.compaction.CompactionIterable$Reducer.getReduced(CompactionIterable.java:74) > at > org.apache.cassandra.db.compaction.CompactionIterable$Reducer.getReduced(CompactionIterable.java:55) > 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.compaction.CompactionTask.runWith(CompactionTask.java:143) > at > org.apache.cassandra.io.util.DiskAwareRunnable.runMayThrow(DiskAwareRunnable.java:48) > at > org.apache.cassandra.utils.WrappedRunnable.run(WrappedRunnable.java:28) > at > org.apache.cassandra.db.compaction.CompactionTask.executeInternal(CompactionTask.java:60) > at > org.apache.cassandra.db.compaction.AbstractCompactionTask.execute(AbstractCompactionTask.java:59) > at > org.apache.cassandra.db.compaction.CompactionManager$BackgroundCompactionTask.run(CompactionManager.java:198) > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) > at java.util.concurrent.FutureTask.run(FutureTask.java:262) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:724) > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-7989) "nodetool repair" goes to infinite repair, continue beyond the number of tokens handled in a single repair.
[ https://issues.apache.org/jira/browse/CASSANDRA-7989?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Philip Thompson updated CASSANDRA-7989: --- Reproduced In: 2.0.9 > "nodetool repair" goes to infinite repair, continue beyond the number of > tokens handled in a single repair. > > > Key: CASSANDRA-7989 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7989 > Project: Cassandra > Issue Type: Bug > Components: Core >Reporter: Andrew Johnson >Priority: Minor > Fix For: 2.0.11 > > > DSE 4.0.3 with patch (Cassandra 2.0.9.61) > Percentage reported stays in 99.999% > We are computing % complete by > [ (Current token processed - initial token processed) / (# of token handled > by this node) ] * 100 = xx.xx % > In this case, it goes beyond 100% meaning numerator(repaired number of tokens > in this session) is greater than the number of tokens handled by this node > (5624 in this node), we caught this and report 99.999% > AntiEntropySession increments and there are no visible errors nor exceptions > in the log once it was stabilized, also a sub process neither terminated nor > finished. > (Note, when this session started, there were many exceptions - snapshot > creation - causing a sub process to be terminated and restarted about 5 times > within a hour but once it is stabilized, it kept going since Aug 22.) -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Resolved] (CASSANDRA-5914) Failed replace_node bootstrap leaves gossip in weird state ; possible perf problem
[ https://issues.apache.org/jira/browse/CASSANDRA-5914?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Brandon Williams resolved CASSANDRA-5914. - Resolution: Not a Problem > Failed replace_node bootstrap leaves gossip in weird state ; possible perf > problem > -- > > Key: CASSANDRA-5914 > URL: https://issues.apache.org/jira/browse/CASSANDRA-5914 > Project: Cassandra > Issue Type: Bug > Components: Core > Environment: 1.2.8 >Reporter: Chris Burroughs > > A node was down for a week or two due to hardware disk failure. I tried to > use replace_node to bring up a new node on the same physical host with the > same IPs. (rbranson suspected that using the same IP may be issue prone.) > This failed due to "unable to find sufficient sources for streaming range". > However, gossip for the to-be-replaced node was left in a funky state: > {noformat} > /64.215.255.182 > RACK:NOP > NET_VERSION:6 > HOST_ID:4f3b214b-b03e-46eb-8214-5fab2662a06b > RELEASE_VERSION:1.2.8 > DC:IAD > INTERNAL_IP:10.15.2.182 > SCHEMA:59adb24e-f3cd-3e02-97f0-5b395827453f > RPC_ADDRESS:0.0.0.0 > {noformat} > (See CASSANDRA-5913 for cosmetic issue with nt:status.) > This seems (A) confusing and (B) the failed replace_token correlated with > 95th percentile read latency for this cluster going from 8k microseconds to > around 200k microseconds (on both DCs in a mutli-dc cluster reading at > CL.ONE). I don't have a good theory for the correlation but performance was > bad for over an hour and returned to normal once a successful replace_token > was performed. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-8015) nodetool exception for users with read only permissions on jmx authentication
[ https://issues.apache.org/jira/browse/CASSANDRA-8015?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Philip Thompson updated CASSANDRA-8015: --- Assignee: Joshua McKenzie > nodetool exception for users with read only permissions on jmx authentication > -- > > Key: CASSANDRA-8015 > URL: https://issues.apache.org/jira/browse/CASSANDRA-8015 > Project: Cassandra > Issue Type: Bug > Components: Core > Environment: Cassandra 2.0.8.39 >Reporter: Jose Martinez Poblete >Assignee: Joshua McKenzie > > nodetool will throw exception for a read only user when JMX authentication is > enabled. > {noformat} > [automaton@i-0212b8098 ~]$ nodetool -u jose -pw JoseManuel status > Exception in thread "main" java.lang.SecurityException: Access denied! > Invalid access level for requested MBeanServer operation. > at > com.sun.jmx.remote.security.MBeanServerFileAccessController.checkAccess(MBeanServerFileAccessController.java:344) > at > com.sun.jmx.remote.security.MBeanServerFileAccessController.checkWrite(MBeanServerFileAccessController.java:240) > at > com.sun.jmx.remote.security.MBeanServerAccessController.invoke(MBeanServerAccessController.java:466) > at > javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1487) > at > javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:97) > at > javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1328) > at java.security.AccessController.doPrivileged(Native Method) > at > javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1427) > at > javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:848) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:606) > at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322) > at sun.rmi.transport.Transport$1.run(Transport.java:177) > at sun.rmi.transport.Transport$1.run(Transport.java:174) > at java.security.AccessController.doPrivileged(Native Method) > at sun.rmi.transport.Transport.serviceCall(Transport.java:173) > at > sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:556) > at > sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:811) > at > sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:670) > 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:744) > at > sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:275) > at > sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:252) > at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:161) > at com.sun.jmx.remote.internal.PRef.invoke(Unknown Source) > at javax.management.remote.rmi.RMIConnectionImpl_Stub.invoke(Unknown > Source) > at > javax.management.remote.rmi.RMIConnector$RemoteMBeanServerConnection.invoke(RMIConnector.java:1029) > at > javax.management.MBeanServerInvocationHandler.invoke(MBeanServerInvocationHandler.java:292) > at com.sun.proxy.$Proxy0.effectiveOwnership(Unknown Source) > at > org.apache.cassandra.tools.NodeProbe.effectiveOwnership(NodeProbe.java:335) > at > org.apache.cassandra.tools.NodeCmd$ClusterStatus.print(NodeCmd.java:480) > at > org.apache.cassandra.tools.NodeCmd.printClusterStatus(NodeCmd.java:590) > at org.apache.cassandra.tools.NodeCmd.main(NodeCmd.java:1263) > [automaton@i-0212b8098 ~]$ dse -v > 4.5.1 > [automaton@i-0212b8098 ~]$ cqlsh -u jose -p JoseManuel > Connected to Spark at localhost:9160. > [cqlsh 4.1.1 | Cassandra 2.0.8.39 | CQL spec 3.1.1 | Thrift protocol 19.39.0] > Use HELP for help. > cqlsh> exit; > [automaton@i-0212b8098 ~]$ > {noformat} > Nodetool runs fine for cassandra user: > {noformat} > [automaton@i-0212b8098 ~]$ nodetool -u cassandra -pw cassandra status > Note: Ownership information does not include topology; for complete > information, specify a keyspace > Datacenter: Cassandra > = > Status=Up/Down > |/ State=Normal/Leaving/Joining/Moving > -- AddressLoad Owns Host ID
[jira] [Reopened] (CASSANDRA-5914) Failed replace_node bootstrap leaves gossip in weird state ; possible perf problem
[ https://issues.apache.org/jira/browse/CASSANDRA-5914?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Brandon Williams reopened CASSANDRA-5914: - > Failed replace_node bootstrap leaves gossip in weird state ; possible perf > problem > -- > > Key: CASSANDRA-5914 > URL: https://issues.apache.org/jira/browse/CASSANDRA-5914 > Project: Cassandra > Issue Type: Bug > Components: Core > Environment: 1.2.8 >Reporter: Chris Burroughs > > A node was down for a week or two due to hardware disk failure. I tried to > use replace_node to bring up a new node on the same physical host with the > same IPs. (rbranson suspected that using the same IP may be issue prone.) > This failed due to "unable to find sufficient sources for streaming range". > However, gossip for the to-be-replaced node was left in a funky state: > {noformat} > /64.215.255.182 > RACK:NOP > NET_VERSION:6 > HOST_ID:4f3b214b-b03e-46eb-8214-5fab2662a06b > RELEASE_VERSION:1.2.8 > DC:IAD > INTERNAL_IP:10.15.2.182 > SCHEMA:59adb24e-f3cd-3e02-97f0-5b395827453f > RPC_ADDRESS:0.0.0.0 > {noformat} > (See CASSANDRA-5913 for cosmetic issue with nt:status.) > This seems (A) confusing and (B) the failed replace_token correlated with > 95th percentile read latency for this cluster going from 8k microseconds to > around 200k microseconds (on both DCs in a mutli-dc cluster reading at > CL.ONE). I don't have a good theory for the correlation but performance was > bad for over an hour and returned to normal once a successful replace_token > was performed. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Resolved] (CASSANDRA-5914) Failed replace_node bootstrap leaves gossip in weird state ; possible perf problem
[ https://issues.apache.org/jira/browse/CASSANDRA-5914?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Brandon Williams resolved CASSANDRA-5914. - Resolution: Fixed Reopen if you have this problem with replace_address on 2.0 > Failed replace_node bootstrap leaves gossip in weird state ; possible perf > problem > -- > > Key: CASSANDRA-5914 > URL: https://issues.apache.org/jira/browse/CASSANDRA-5914 > Project: Cassandra > Issue Type: Bug > Components: Core > Environment: 1.2.8 >Reporter: Chris Burroughs > > A node was down for a week or two due to hardware disk failure. I tried to > use replace_node to bring up a new node on the same physical host with the > same IPs. (rbranson suspected that using the same IP may be issue prone.) > This failed due to "unable to find sufficient sources for streaming range". > However, gossip for the to-be-replaced node was left in a funky state: > {noformat} > /64.215.255.182 > RACK:NOP > NET_VERSION:6 > HOST_ID:4f3b214b-b03e-46eb-8214-5fab2662a06b > RELEASE_VERSION:1.2.8 > DC:IAD > INTERNAL_IP:10.15.2.182 > SCHEMA:59adb24e-f3cd-3e02-97f0-5b395827453f > RPC_ADDRESS:0.0.0.0 > {noformat} > (See CASSANDRA-5913 for cosmetic issue with nt:status.) > This seems (A) confusing and (B) the failed replace_token correlated with > 95th percentile read latency for this cluster going from 8k microseconds to > around 200k microseconds (on both DCs in a mutli-dc cluster reading at > CL.ONE). I don't have a good theory for the correlation but performance was > bad for over an hour and returned to normal once a successful replace_token > was performed. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-8124) Stopping a node during compaction can make already written files stay around
[ https://issues.apache.org/jira/browse/CASSANDRA-8124?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Philip Thompson updated CASSANDRA-8124: --- Labels: triaged (was: ) > Stopping a node during compaction can make already written files stay around > > > Key: CASSANDRA-8124 > URL: https://issues.apache.org/jira/browse/CASSANDRA-8124 > Project: Cassandra > Issue Type: Bug >Reporter: Marcus Eriksson > Labels: triaged > Fix For: 2.1.2 > > > In leveled compaction we generally create many files during compaction, in > 2.0 we left the ones we had written as -tmp- files, in 2.1 we close and open > the readers, removing the -tmp- markers. > This means that any ongoing compactions will leave the resulting files around > if we restart. Note that stop:ing the compaction will cause an exception and > that makes us call abort() on the SSTableRewriter which removes the files. > Guess a fix could be to keep the -tmp- marker and make -tmplink- files until > we are actually done with the compaction. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-7217) Native transport performance (with cassandra-stress) drops precipitously past around 1000 threads
[ https://issues.apache.org/jira/browse/CASSANDRA-7217?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Philip Thompson updated CASSANDRA-7217: --- Labels: performance triaged (was: performance) > Native transport performance (with cassandra-stress) drops precipitously past > around 1000 threads > - > > Key: CASSANDRA-7217 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7217 > Project: Cassandra > Issue Type: Bug > Components: Core >Reporter: Benedict > Labels: performance, triaged > Fix For: 2.1.2 > > > This is obviously bad. Let's figure out why it's happening and put a stop to > it. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-4763) SSTableLoader shouldn't get keyspace from path
[ https://issues.apache.org/jira/browse/CASSANDRA-4763?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Philip Thompson updated CASSANDRA-4763: --- Issue Type: Improvement (was: Bug) > SSTableLoader shouldn't get keyspace from path > -- > > Key: CASSANDRA-4763 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4763 > Project: Cassandra > Issue Type: Improvement > Components: Tools >Affects Versions: 1.2.0 beta 1 >Reporter: Nick Bailey >Priority: Minor > Fix For: 2.1.2 > > > SSTableLoader currently gets the keyspace it is going to load to from the > path of the directoy of sstables it is loading. This isn't really documented > (or I didn't see it), but also isn't really a good way of doing it in general. > {noformat} > this.keyspace = directory.getParentFile().getName(); > {noformat} > We should probably just let users pass the name in. If you are loading a > snapshot the file names will have the keyspace which is slightly better but > people manually creating their own sstables might not format them the same. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-5914) Failed replace_node bootstrap leaves gossip in weird state ; possible perf problem
[ https://issues.apache.org/jira/browse/CASSANDRA-5914?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Philip Thompson updated CASSANDRA-5914: --- Reproduced In: 1.2.8 > Failed replace_node bootstrap leaves gossip in weird state ; possible perf > problem > -- > > Key: CASSANDRA-5914 > URL: https://issues.apache.org/jira/browse/CASSANDRA-5914 > Project: Cassandra > Issue Type: Bug > Components: Core > Environment: 1.2.8 >Reporter: Chris Burroughs > > A node was down for a week or two due to hardware disk failure. I tried to > use replace_node to bring up a new node on the same physical host with the > same IPs. (rbranson suspected that using the same IP may be issue prone.) > This failed due to "unable to find sufficient sources for streaming range". > However, gossip for the to-be-replaced node was left in a funky state: > {noformat} > /64.215.255.182 > RACK:NOP > NET_VERSION:6 > HOST_ID:4f3b214b-b03e-46eb-8214-5fab2662a06b > RELEASE_VERSION:1.2.8 > DC:IAD > INTERNAL_IP:10.15.2.182 > SCHEMA:59adb24e-f3cd-3e02-97f0-5b395827453f > RPC_ADDRESS:0.0.0.0 > {noformat} > (See CASSANDRA-5913 for cosmetic issue with nt:status.) > This seems (A) confusing and (B) the failed replace_token correlated with > 95th percentile read latency for this cluster going from 8k microseconds to > around 200k microseconds (on both DCs in a mutli-dc cluster reading at > CL.ONE). I don't have a good theory for the correlation but performance was > bad for over an hour and returned to normal once a successful replace_token > was performed. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-6548) Order nodetool ring output by token when vnodes aren't in use
[ https://issues.apache.org/jira/browse/CASSANDRA-6548?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Philip Thompson updated CASSANDRA-6548: --- Issue Type: Improvement (was: Bug) > Order nodetool ring output by token when vnodes aren't in use > - > > Key: CASSANDRA-6548 > URL: https://issues.apache.org/jira/browse/CASSANDRA-6548 > Project: Cassandra > Issue Type: Improvement >Reporter: J.B. Langston > Labels: lhf > > It is confusing to order the nodes by hostId in nodetool ring when vnodes > aren't in use. This happens in 1.2 when providing a keyspace name: > {code} > Datacenter: DC1 > == > Replicas: 2 > Address RackStatus State LoadOwns > Token > > 42535295865117307932921825928971026432 > xxx.xxx.xxx.48 RAC2Up Normal 324.26 GB 25.00% > 85070591730234615865843651857942052864 > xxx.xxx.xxx.42 RAC1Up Normal 284.39 GB 25.00% > 0 > xxx.xxx.xxx.44 RAC1Up Normal 931.07 GB 75.00% > 127605887595351923798765477786913079296 > xxx.xxx.xxx.46 RAC2Up Normal 881.93 GB 75.00% > 42535295865117307932921825928971026432 > Datacenter: DC2 > == > Replicas: 2 > Address RackStatus State LoadOwns > Token > > 148873535527910577765226390751398592512 > xxx.xxx.xxx.19 RAC2Up Normal 568.22 GB 50.00% > 63802943797675961899382738893456539648 > xxx.xxx.xxx.17 RAC1Up Normal 621.58 GB 50.00% > 106338239662793269832304564822427566080 > xxx.xxx.xxx.15 RAC1Up Normal 566.99 GB 50.00% > 21267647932558653966460912964485513216 > xxx.xxx.xxx.21 RAC2Up Normal 619.41 GB 50.00% > 148873535527910577765226390751398592512 > {code} > Among other things, this makes it hard to spot rack imbalances. In the above > output, the racks in DC1 are actually incorrectly ordered and those in DC2 > are correctly ordered, but it's not obvious until you manually sort the nodes > by token. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-6819) The command "nodetool setcompactionthroughput" sometimes takes a long time to take effect
[ https://issues.apache.org/jira/browse/CASSANDRA-6819?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Philip Thompson updated CASSANDRA-6819: --- Fix Version/s: 2.1.2 2.0.11 Issue Type: Improvement (was: Bug) > The command "nodetool setcompactionthroughput" sometimes takes a long time to > take effect > - > > Key: CASSANDRA-6819 > URL: https://issues.apache.org/jira/browse/CASSANDRA-6819 > Project: Cassandra > Issue Type: Improvement > Components: Core >Reporter: Steven Lowenthal > Fix For: 2.0.11, 2.1.2 > > > It's often necessary to throttle a large compaction. When the nodetool > setcompactionthroughput command is issued, the setting doesn't seem to take > hold until another compaction starts, which may be some time on a bungled > node. This command should take hold immediately. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-7368) Compaction stops after org.apache.cassandra.io.sstable.CorruptSSTableException
[ https://issues.apache.org/jira/browse/CASSANDRA-7368?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Philip Thompson updated CASSANDRA-7368: --- Assignee: Marcus Eriksson > Compaction stops after org.apache.cassandra.io.sstable.CorruptSSTableException > -- > > Key: CASSANDRA-7368 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7368 > Project: Cassandra > Issue Type: Bug > Components: Core > Environment: OS: RHEL 6.5 > Cassandra version: 1.2.16 >Reporter: Francois Richard >Assignee: Marcus Eriksson > > Hi, > We are getting a case where compaction stops totally on a node after an > exception related to: org.apache.cassandra.io.sstable.CorruptSSTableException. > nodetool compactionstats remains at the same level for hours: > {code} > pending tasks: 1451 > compaction typekeyspace column family completed > total unit progress >CompactionSyncCoreContactPrefixBytesIndex > 257799931 376785179 bytes68.42% > Active compaction remaining time :n/a > {code} > Here is the exception log: > {code} > ERROR [Deserialize > SSTableReader(path='/home/y/var/cassandra/data/SyncCore/ContactPrefixBytesIndex/SyncCore-ContactPrefixBytesIndex-ic-116118-Data.db')] > 2014-06-09 06:39:37,570 CassandraDaemon.java (line 191) Exception in thread > Thread[Deserialize > SSTableReader(path='/home/y/var/cassandra/data/SyncCore/ContactPrefixBytesIndex/SyncCore-ContactPrefixBytesIndex-ic-116118-Data.db'),1,main] > org.apache.cassandra.io.sstable.CorruptSSTableException: java.io.IOException: > dataSize of 7421941880990663551 starting at 257836699 would be larger than > file > /home/y/var/cassandra/data/SyncCore/ContactPrefixBytesIndex/SyncCore-ContactPrefixBytesIndex-ic-116118-Data.db > length 376785179 > at > org.apache.cassandra.io.sstable.SSTableIdentityIterator.(SSTableIdentityIterator.java:167) > at > org.apache.cassandra.io.sstable.SSTableIdentityIterator.(SSTableIdentityIterator.java:83) > at > org.apache.cassandra.io.sstable.SSTableIdentityIterator.(SSTableIdentityIterator.java:69) > at > org.apache.cassandra.io.sstable.SSTableScanner$KeyScanningIterator.next(SSTableScanner.java:180) > at > org.apache.cassandra.io.sstable.SSTableScanner$KeyScanningIterator.next(SSTableScanner.java:155) > at > org.apache.cassandra.io.sstable.SSTableScanner.next(SSTableScanner.java:142) > at > org.apache.cassandra.io.sstable.SSTableScanner.next(SSTableScanner.java:38) > at > org.apache.cassandra.db.compaction.LeveledCompactionStrategy$LeveledScanner.computeNext(LeveledCompactionStrategy.java:238) > at > org.apache.cassandra.db.compaction.LeveledCompactionStrategy$LeveledScanner.computeNext(LeveledCompactionStrategy.java:207) > at > com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143) > at > com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138) > -- > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-8056) nodetool snapshot -cf -t does not work on multiple tabes of the same keyspace
[ https://issues.apache.org/jira/browse/CASSANDRA-8056?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14173999#comment-14173999 ] Brandon Williams commented on CASSANDRA-8056: - nodetool could take multiple CF args though so that this would be possible. > nodetool snapshot -cf -t does not work on > multiple tabes of the same keyspace > -- > > Key: CASSANDRA-8056 > URL: https://issues.apache.org/jira/browse/CASSANDRA-8056 > Project: Cassandra > Issue Type: Improvement > Components: Core > Environment: Cassandra 2.0.6 debian wheezy and squeeze >Reporter: Esha Pathak >Assignee: Tyler Hobbs > Labels: lhf > Fix For: 2.0.11 > > > > keyspace has tables : thing:user , thing:object, thing:user_details > steps to reproduce : > 1. nodetool snapshot thing --column-family user --tag tagname > Requested creating snapshot for: thing and table: user > Snapshot directory: tagname > 2.nodetool snapshot thing --column-family object --tag tagname > Requested creating snapshot for: thing and table: object > Exception in thread "main" java.io.IOException: Snapshot tagname already > exists. > at > org.apache.cassandra.service.StorageService.takeColumnFamilySnapshot(StorageService.java:2274) > at sun.reflect.GeneratedMethodAccessor129.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:606) > at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:75) > at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:606) > at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:279) > at > com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:112) > at > com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:46) > at > com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:237) > at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:138) > at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:252) > at > com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) > at > com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) > at > javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1487) > at > javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:97) > at > javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1328) > at > javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1420) > at > javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:848) > at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:606) > at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322) > at sun.rmi.transport.Transport$1.run(Transport.java:177) > at sun.rmi.transport.Transport$1.run(Transport.java:174) > at java.security.AccessController.doPrivileged(Native Method) > at sun.rmi.transport.Transport.serviceCall(Transport.java:173) > at > sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:556) > at > sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:811) > at > sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:670) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:745) -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-8056) nodetool snapshot -cf -t does not work on multiple tabes of the same keyspace
[ https://issues.apache.org/jira/browse/CASSANDRA-8056?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Brandon Williams updated CASSANDRA-8056: Priority: Trivial (was: Major) > nodetool snapshot -cf -t does not work on > multiple tabes of the same keyspace > -- > > Key: CASSANDRA-8056 > URL: https://issues.apache.org/jira/browse/CASSANDRA-8056 > Project: Cassandra > Issue Type: Improvement > Components: Core > Environment: Cassandra 2.0.6 debian wheezy and squeeze >Reporter: Esha Pathak >Priority: Trivial > Labels: lhf > Fix For: 2.0.11 > > > > keyspace has tables : thing:user , thing:object, thing:user_details > steps to reproduce : > 1. nodetool snapshot thing --column-family user --tag tagname > Requested creating snapshot for: thing and table: user > Snapshot directory: tagname > 2.nodetool snapshot thing --column-family object --tag tagname > Requested creating snapshot for: thing and table: object > Exception in thread "main" java.io.IOException: Snapshot tagname already > exists. > at > org.apache.cassandra.service.StorageService.takeColumnFamilySnapshot(StorageService.java:2274) > at sun.reflect.GeneratedMethodAccessor129.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:606) > at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:75) > at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:606) > at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:279) > at > com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:112) > at > com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:46) > at > com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:237) > at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:138) > at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:252) > at > com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) > at > com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) > at > javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1487) > at > javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:97) > at > javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1328) > at > javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1420) > at > javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:848) > at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:606) > at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322) > at sun.rmi.transport.Transport$1.run(Transport.java:177) > at sun.rmi.transport.Transport$1.run(Transport.java:174) > at java.security.AccessController.doPrivileged(Native Method) > at sun.rmi.transport.Transport.serviceCall(Transport.java:173) > at > sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:556) > at > sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:811) > at > sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:670) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:745) -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-8056) nodetool snapshot -cf -t does not work on multiple tabes of the same keyspace
[ https://issues.apache.org/jira/browse/CASSANDRA-8056?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Brandon Williams updated CASSANDRA-8056: Assignee: (was: Tyler Hobbs) > nodetool snapshot -cf -t does not work on > multiple tabes of the same keyspace > -- > > Key: CASSANDRA-8056 > URL: https://issues.apache.org/jira/browse/CASSANDRA-8056 > Project: Cassandra > Issue Type: Improvement > Components: Core > Environment: Cassandra 2.0.6 debian wheezy and squeeze >Reporter: Esha Pathak > Labels: lhf > Fix For: 2.0.11 > > > > keyspace has tables : thing:user , thing:object, thing:user_details > steps to reproduce : > 1. nodetool snapshot thing --column-family user --tag tagname > Requested creating snapshot for: thing and table: user > Snapshot directory: tagname > 2.nodetool snapshot thing --column-family object --tag tagname > Requested creating snapshot for: thing and table: object > Exception in thread "main" java.io.IOException: Snapshot tagname already > exists. > at > org.apache.cassandra.service.StorageService.takeColumnFamilySnapshot(StorageService.java:2274) > at sun.reflect.GeneratedMethodAccessor129.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:606) > at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:75) > at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:606) > at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:279) > at > com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:112) > at > com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:46) > at > com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:237) > at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:138) > at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:252) > at > com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) > at > com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) > at > javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1487) > at > javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:97) > at > javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1328) > at > javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1420) > at > javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:848) > at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:606) > at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322) > at sun.rmi.transport.Transport$1.run(Transport.java:177) > at sun.rmi.transport.Transport$1.run(Transport.java:174) > at java.security.AccessController.doPrivileged(Native Method) > at sun.rmi.transport.Transport.serviceCall(Transport.java:173) > at > sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:556) > at > sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:811) > at > sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:670) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:745) -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-8056) nodetool snapshot -cf -t does not work on multiple tabes of the same keyspace
[ https://issues.apache.org/jira/browse/CASSANDRA-8056?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Brandon Williams updated CASSANDRA-8056: Labels: lhf (was: newbie) > nodetool snapshot -cf -t does not work on > multiple tabes of the same keyspace > -- > > Key: CASSANDRA-8056 > URL: https://issues.apache.org/jira/browse/CASSANDRA-8056 > Project: Cassandra > Issue Type: Improvement > Components: Core > Environment: Cassandra 2.0.6 debian wheezy and squeeze >Reporter: Esha Pathak >Assignee: Tyler Hobbs > Labels: lhf > Fix For: 2.0.11 > > > > keyspace has tables : thing:user , thing:object, thing:user_details > steps to reproduce : > 1. nodetool snapshot thing --column-family user --tag tagname > Requested creating snapshot for: thing and table: user > Snapshot directory: tagname > 2.nodetool snapshot thing --column-family object --tag tagname > Requested creating snapshot for: thing and table: object > Exception in thread "main" java.io.IOException: Snapshot tagname already > exists. > at > org.apache.cassandra.service.StorageService.takeColumnFamilySnapshot(StorageService.java:2274) > at sun.reflect.GeneratedMethodAccessor129.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:606) > at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:75) > at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:606) > at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:279) > at > com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:112) > at > com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:46) > at > com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:237) > at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:138) > at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:252) > at > com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) > at > com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) > at > javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1487) > at > javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:97) > at > javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1328) > at > javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1420) > at > javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:848) > at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:606) > at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322) > at sun.rmi.transport.Transport$1.run(Transport.java:177) > at sun.rmi.transport.Transport$1.run(Transport.java:174) > at java.security.AccessController.doPrivileged(Native Method) > at sun.rmi.transport.Transport.serviceCall(Transport.java:173) > at > sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:556) > at > sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:811) > at > sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:670) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:745) -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-8056) nodetool snapshot -cf -t does not work on multiple tabes of the same keyspace
[ https://issues.apache.org/jira/browse/CASSANDRA-8056?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Philip Thompson updated CASSANDRA-8056: --- Fix Version/s: 2.0.11 Issue Type: Improvement (was: Bug) We don't currently support reusing tagname like this, so I'm marking this as an improvement request. > nodetool snapshot -cf -t does not work on > multiple tabes of the same keyspace > -- > > Key: CASSANDRA-8056 > URL: https://issues.apache.org/jira/browse/CASSANDRA-8056 > Project: Cassandra > Issue Type: Improvement > Components: Core > Environment: Cassandra 2.0.6 debian wheezy and squeeze >Reporter: Esha Pathak >Assignee: Tyler Hobbs > Labels: newbie > Fix For: 2.0.11 > > > > keyspace has tables : thing:user , thing:object, thing:user_details > steps to reproduce : > 1. nodetool snapshot thing --column-family user --tag tagname > Requested creating snapshot for: thing and table: user > Snapshot directory: tagname > 2.nodetool snapshot thing --column-family object --tag tagname > Requested creating snapshot for: thing and table: object > Exception in thread "main" java.io.IOException: Snapshot tagname already > exists. > at > org.apache.cassandra.service.StorageService.takeColumnFamilySnapshot(StorageService.java:2274) > at sun.reflect.GeneratedMethodAccessor129.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:606) > at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:75) > at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:606) > at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:279) > at > com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:112) > at > com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:46) > at > com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:237) > at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:138) > at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:252) > at > com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) > at > com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) > at > javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1487) > at > javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:97) > at > javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1328) > at > javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1420) > at > javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:848) > at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:606) > at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322) > at sun.rmi.transport.Transport$1.run(Transport.java:177) > at sun.rmi.transport.Transport$1.run(Transport.java:174) > at java.security.AccessController.doPrivileged(Native Method) > at sun.rmi.transport.Transport.serviceCall(Transport.java:173) > at > sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:556) > at > sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:811) > at > sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:670) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:745) -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-8056) nodetool snapshot -cf -t does not work on multiple tabes of the same keyspace
[ https://issues.apache.org/jira/browse/CASSANDRA-8056?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Philip Thompson updated CASSANDRA-8056: --- Assignee: Tyler Hobbs > nodetool snapshot -cf -t does not work on > multiple tabes of the same keyspace > -- > > Key: CASSANDRA-8056 > URL: https://issues.apache.org/jira/browse/CASSANDRA-8056 > Project: Cassandra > Issue Type: Bug > Components: Core > Environment: Cassandra 2.0.6 debian wheezy and squeeze >Reporter: Esha Pathak >Assignee: Tyler Hobbs > Labels: newbie > > > keyspace has tables : thing:user , thing:object, thing:user_details > steps to reproduce : > 1. nodetool snapshot thing --column-family user --tag tagname > Requested creating snapshot for: thing and table: user > Snapshot directory: tagname > 2.nodetool snapshot thing --column-family object --tag tagname > Requested creating snapshot for: thing and table: object > Exception in thread "main" java.io.IOException: Snapshot tagname already > exists. > at > org.apache.cassandra.service.StorageService.takeColumnFamilySnapshot(StorageService.java:2274) > at sun.reflect.GeneratedMethodAccessor129.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:606) > at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:75) > at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:606) > at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:279) > at > com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:112) > at > com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:46) > at > com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:237) > at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:138) > at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:252) > at > com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819) > at > com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801) > at > javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1487) > at > javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:97) > at > javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1328) > at > javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1420) > at > javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:848) > at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:606) > at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322) > at sun.rmi.transport.Transport$1.run(Transport.java:177) > at sun.rmi.transport.Transport$1.run(Transport.java:174) > at java.security.AccessController.doPrivileged(Native Method) > at sun.rmi.transport.Transport.serviceCall(Transport.java:173) > at > sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:556) > at > sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:811) > at > sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:670) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) > at java.lang.Thread.run(Thread.java:745) -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-7712) temporary files need to be cleaned by unit tests
[ https://issues.apache.org/jira/browse/CASSANDRA-7712?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Michael Shuler updated CASSANDRA-7712: -- Tester: Michael Shuler (was: Sravan Ananthula) > temporary files need to be cleaned by unit tests > > > Key: CASSANDRA-7712 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7712 > Project: Cassandra > Issue Type: Test > Components: Tests >Reporter: Michael Shuler >Priority: Minor > Labels: bootcamp, lhf > Fix For: 2.0.11 > > Attachments: 7712-v2.txt, CASSANDRA-7712_apache_cassandra_2.0.txt > > > There are many unit test temporary files left behind after test runs. In the > case of CI servers, I have seen >70,000 files accumulate in /tmp over a > period of time. Each unit test should make an effort to remove its temporary > files when the test is completed. > My current unit test cleanup block: > {noformat} > # clean up after unit tests.. > rm -rf /tmp/140*-0 /tmp/CFWith* /tmp/Counter1* /tmp/DescriptorTest* > /tmp/Keyspace1* \ > /tmp/KeyStreamingTransferTestSpace* /tmp/SSTableExportTest* > /tmp/SSTableImportTest* \ > /tmp/Standard1* /tmp/Statistics.db* /tmp/StreamingTransferTest* > /tmp/ValuesWithQuotes* \ > /tmp/cassandra* /tmp/jna-* /tmp/ks-cf-ib-1-* /tmp/lengthtest* > /tmp/liblz4-java*.so /tmp/readtest* \ > /tmp/set_length_during_read_mode* /tmp/set_negative_length* > /tmp/snappy-*.so > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-7712) temporary files need to be cleaned by unit tests
[ https://issues.apache.org/jira/browse/CASSANDRA-7712?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Brandon Williams updated CASSANDRA-7712: Attachment: 7712-v2.txt Patch refactoring as I outlined. > temporary files need to be cleaned by unit tests > > > Key: CASSANDRA-7712 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7712 > Project: Cassandra > Issue Type: Test > Components: Tests >Reporter: Michael Shuler >Priority: Minor > Labels: bootcamp, lhf > Fix For: 2.0.11 > > Attachments: 7712-v2.txt, CASSANDRA-7712_apache_cassandra_2.0.txt > > > There are many unit test temporary files left behind after test runs. In the > case of CI servers, I have seen >70,000 files accumulate in /tmp over a > period of time. Each unit test should make an effort to remove its temporary > files when the test is completed. > My current unit test cleanup block: > {noformat} > # clean up after unit tests.. > rm -rf /tmp/140*-0 /tmp/CFWith* /tmp/Counter1* /tmp/DescriptorTest* > /tmp/Keyspace1* \ > /tmp/KeyStreamingTransferTestSpace* /tmp/SSTableExportTest* > /tmp/SSTableImportTest* \ > /tmp/Standard1* /tmp/Statistics.db* /tmp/StreamingTransferTest* > /tmp/ValuesWithQuotes* \ > /tmp/cassandra* /tmp/jna-* /tmp/ks-cf-ib-1-* /tmp/lengthtest* > /tmp/liblz4-java*.so /tmp/readtest* \ > /tmp/set_length_during_read_mode* /tmp/set_negative_length* > /tmp/snappy-*.so > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-8112) nodetool compactionhistory can allocate memory unbounded
[ https://issues.apache.org/jira/browse/CASSANDRA-8112?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Philip Thompson updated CASSANDRA-8112: --- Labels: triaged (was: ) > nodetool compactionhistory can allocate memory unbounded > > > Key: CASSANDRA-8112 > URL: https://issues.apache.org/jira/browse/CASSANDRA-8112 > Project: Cassandra > Issue Type: Bug >Reporter: T Jake Luciani >Priority: Minor > Labels: triaged > Fix For: 2.1.2 > > > nodetool compactionhistory keeps data for 1 week by default and creates a > table from the result set in memory. > For many systems a week can generate 10's of thousands of compactions in this > time (esp with LCS) we should guard against this command allocating too much > memory. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-6430) DELETE with IF = clause doesn't work properly if more then one row are going to be deleted
[ https://issues.apache.org/jira/browse/CASSANDRA-6430?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14173991#comment-14173991 ] Tyler Hobbs commented on CASSANDRA-6430: It sounds like the best option for now is to require that the full primary key be specified when IF conditions are used in DELETEs. If we want to reconsider allowing the statement in the description, we can always do that later. > DELETE with IF = clause doesn't work properly if more then one > row are going to be deleted > > > Key: CASSANDRA-6430 > URL: https://issues.apache.org/jira/browse/CASSANDRA-6430 > Project: Cassandra > Issue Type: Bug >Reporter: Dmitriy Ukhlov >Assignee: Tyler Hobbs > Fix For: 2.0.11 > > > CREATE TABLE test(key int, sub_key int, value text, PRIMARY KEY(key, sub_key) > ); > INSERT INTO test(key, sub_key, value) VALUES(1,1, '1.1'); > INSERT INTO test(key, sub_key, value) VALUES(1,2, '1.2'); > INSERT INTO test(key, sub_key, value) VALUES(1,3, '1.3'); > SELECT * from test; > key | sub_key | value > -+-+--- >1 | 1 | 1.1 >1 | 2 | 1.2 >1 | 3 | 1.3 > DELETE FROM test WHERE key=1 IF value='1.2'; > [applied] > --- > False <=== I guess second row should be removed > SELECT * from test; > key | sub_key | value > -+-+--- >1 | 1 | 1.1 >1 | 2 | 1.2 >1 | 3 | 1.3 > (3 rows) > DELETE FROM test WHERE key=1; > SELECT * from test; > (0 rows) <=== all rows were removed: OK -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Resolved] (CASSANDRA-5713) CQL3 token() <= token() does not work as expected
[ https://issues.apache.org/jira/browse/CASSANDRA-5713?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Philip Thompson resolved CASSANDRA-5713. Resolution: Cannot Reproduce I also can't reproduce on 2.0-HEAD. > CQL3 token() <= token() does not work as expected > - > > Key: CASSANDRA-5713 > URL: https://issues.apache.org/jira/browse/CASSANDRA-5713 > Project: Cassandra > Issue Type: Bug >Reporter: Colin B. >Priority: Minor > > Using tokens to go backward through a table in CQL3 does not work as expected. > Say there is some data available: > {code} > > SELECT key FROM data_list where token(key) >= token('6') limit 10; > key > - >6 >7 >9 >4 >3 >A >5 >8 >2 >1 > {code} > I expect: > {code} > > SELECT key FROM data_list where token(key) <= token('1') limit 5; > key > - >A >5 >8 >2 >1 > {code} > However the following occurs: > {code} > > SELECT key FROM data_list where token(key) <= token('1') limit 5; > key > - >6 >7 >9 >4 >3 > {code} > The '<' operator has similar unexpected behavior. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[2/6] git commit: add missing file
add missing file Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/67db1bf2 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/67db1bf2 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/67db1bf2 Branch: refs/heads/cassandra-2.1 Commit: 67db1bf2786679b71dad8a32894346abdf59206e Parents: e938839 Author: Brandon Williams Authored: Thu Oct 16 12:16:16 2014 -0500 Committer: Brandon Williams Committed: Thu Oct 16 12:16:16 2014 -0500 -- .../metrics/CASClientRequestMetrics.java| 47 1 file changed, 47 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/67db1bf2/src/java/org/apache/cassandra/metrics/CASClientRequestMetrics.java -- diff --git a/src/java/org/apache/cassandra/metrics/CASClientRequestMetrics.java b/src/java/org/apache/cassandra/metrics/CASClientRequestMetrics.java new file mode 100644 index 000..3210d45 --- /dev/null +++ b/src/java/org/apache/cassandra/metrics/CASClientRequestMetrics.java @@ -0,0 +1,47 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.cassandra.metrics; + +import com.yammer.metrics.*; +import com.yammer.metrics.core.*; + +public class CASClientRequestMetrics extends ClientRequestMetrics +{ + +public final Histogram contention; +/* Used only for write */ +public final Counter conditionNotMet; + +public final Counter unfinishedCommit; + +public CASClientRequestMetrics(String scope) { +super(scope); +contention = Metrics.newHistogram(factory.createMetricName("ContentionHistogram"), true); +conditionNotMet = Metrics.newCounter(factory.createMetricName("ConditionNotMet")); +unfinishedCommit = Metrics.newCounter(factory.createMetricName("UnfinishedCommit")); +} + +public void release() +{ +super.release(); + Metrics.defaultRegistry().removeMetric(factory.createMetricName("ContentionHistogram")); + Metrics.defaultRegistry().removeMetric(factory.createMetricName("ConditionNotMet")); + Metrics.defaultRegistry().removeMetric(factory.createMetricName("UnfinishedCommit")); +} +}
[5/6] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1
Merge branch 'cassandra-2.0' into cassandra-2.1 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/014d328f Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/014d328f Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/014d328f Branch: refs/heads/cassandra-2.1 Commit: 014d328f4b370ae72360a5dd4aa34a9010bee0d2 Parents: 46c4f0b 67db1bf Author: Brandon Williams Authored: Thu Oct 16 12:16:23 2014 -0500 Committer: Brandon Williams Committed: Thu Oct 16 12:16:23 2014 -0500 -- .../metrics/CASClientRequestMetrics.java| 47 1 file changed, 47 insertions(+) --
[6/6] git commit: Merge branch 'cassandra-2.1' into trunk
Merge branch 'cassandra-2.1' into trunk Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/543fbc37 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/543fbc37 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/543fbc37 Branch: refs/heads/trunk Commit: 543fbc37460dee8cb6a5fee82e2c88f574091136 Parents: 1d05e8e 014d328 Author: Brandon Williams Authored: Thu Oct 16 12:16:31 2014 -0500 Committer: Brandon Williams Committed: Thu Oct 16 12:16:31 2014 -0500 -- .../metrics/CASClientRequestMetrics.java| 47 1 file changed, 47 insertions(+) --
[4/6] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1
Merge branch 'cassandra-2.0' into cassandra-2.1 Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/014d328f Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/014d328f Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/014d328f Branch: refs/heads/trunk Commit: 014d328f4b370ae72360a5dd4aa34a9010bee0d2 Parents: 46c4f0b 67db1bf Author: Brandon Williams Authored: Thu Oct 16 12:16:23 2014 -0500 Committer: Brandon Williams Committed: Thu Oct 16 12:16:23 2014 -0500 -- .../metrics/CASClientRequestMetrics.java| 47 1 file changed, 47 insertions(+) --
[3/6] git commit: add missing file
add missing file Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/67db1bf2 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/67db1bf2 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/67db1bf2 Branch: refs/heads/trunk Commit: 67db1bf2786679b71dad8a32894346abdf59206e Parents: e938839 Author: Brandon Williams Authored: Thu Oct 16 12:16:16 2014 -0500 Committer: Brandon Williams Committed: Thu Oct 16 12:16:16 2014 -0500 -- .../metrics/CASClientRequestMetrics.java| 47 1 file changed, 47 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/67db1bf2/src/java/org/apache/cassandra/metrics/CASClientRequestMetrics.java -- diff --git a/src/java/org/apache/cassandra/metrics/CASClientRequestMetrics.java b/src/java/org/apache/cassandra/metrics/CASClientRequestMetrics.java new file mode 100644 index 000..3210d45 --- /dev/null +++ b/src/java/org/apache/cassandra/metrics/CASClientRequestMetrics.java @@ -0,0 +1,47 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.cassandra.metrics; + +import com.yammer.metrics.*; +import com.yammer.metrics.core.*; + +public class CASClientRequestMetrics extends ClientRequestMetrics +{ + +public final Histogram contention; +/* Used only for write */ +public final Counter conditionNotMet; + +public final Counter unfinishedCommit; + +public CASClientRequestMetrics(String scope) { +super(scope); +contention = Metrics.newHistogram(factory.createMetricName("ContentionHistogram"), true); +conditionNotMet = Metrics.newCounter(factory.createMetricName("ConditionNotMet")); +unfinishedCommit = Metrics.newCounter(factory.createMetricName("UnfinishedCommit")); +} + +public void release() +{ +super.release(); + Metrics.defaultRegistry().removeMetric(factory.createMetricName("ContentionHistogram")); + Metrics.defaultRegistry().removeMetric(factory.createMetricName("ConditionNotMet")); + Metrics.defaultRegistry().removeMetric(factory.createMetricName("UnfinishedCommit")); +} +}
[1/6] git commit: add missing file
Repository: cassandra Updated Branches: refs/heads/cassandra-2.0 e93883988 -> 67db1bf27 refs/heads/cassandra-2.1 46c4f0b58 -> 014d328f4 refs/heads/trunk 1d05e8ea7 -> 543fbc374 add missing file Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/67db1bf2 Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/67db1bf2 Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/67db1bf2 Branch: refs/heads/cassandra-2.0 Commit: 67db1bf2786679b71dad8a32894346abdf59206e Parents: e938839 Author: Brandon Williams Authored: Thu Oct 16 12:16:16 2014 -0500 Committer: Brandon Williams Committed: Thu Oct 16 12:16:16 2014 -0500 -- .../metrics/CASClientRequestMetrics.java| 47 1 file changed, 47 insertions(+) -- http://git-wip-us.apache.org/repos/asf/cassandra/blob/67db1bf2/src/java/org/apache/cassandra/metrics/CASClientRequestMetrics.java -- diff --git a/src/java/org/apache/cassandra/metrics/CASClientRequestMetrics.java b/src/java/org/apache/cassandra/metrics/CASClientRequestMetrics.java new file mode 100644 index 000..3210d45 --- /dev/null +++ b/src/java/org/apache/cassandra/metrics/CASClientRequestMetrics.java @@ -0,0 +1,47 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ +package org.apache.cassandra.metrics; + +import com.yammer.metrics.*; +import com.yammer.metrics.core.*; + +public class CASClientRequestMetrics extends ClientRequestMetrics +{ + +public final Histogram contention; +/* Used only for write */ +public final Counter conditionNotMet; + +public final Counter unfinishedCommit; + +public CASClientRequestMetrics(String scope) { +super(scope); +contention = Metrics.newHistogram(factory.createMetricName("ContentionHistogram"), true); +conditionNotMet = Metrics.newCounter(factory.createMetricName("ConditionNotMet")); +unfinishedCommit = Metrics.newCounter(factory.createMetricName("UnfinishedCommit")); +} + +public void release() +{ +super.release(); + Metrics.defaultRegistry().removeMetric(factory.createMetricName("ContentionHistogram")); + Metrics.defaultRegistry().removeMetric(factory.createMetricName("ConditionNotMet")); + Metrics.defaultRegistry().removeMetric(factory.createMetricName("UnfinishedCommit")); +} +}
[jira] [Commented] (CASSANDRA-8110) Make streaming backwards compatible
[ https://issues.apache.org/jira/browse/CASSANDRA-8110?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14173962#comment-14173962 ] Aleksey Yeschenko commented on CASSANDRA-8110: -- Yup. And even if 7460 hadn't happened, we still can't stream new sstables to the older nodes that cannot read those sstables. This ticket covers that too. > Make streaming backwards compatible > --- > > Key: CASSANDRA-8110 > URL: https://issues.apache.org/jira/browse/CASSANDRA-8110 > Project: Cassandra > Issue Type: Improvement >Reporter: Marcus Eriksson > Fix For: 3.0 > > > To be able to seamlessly upgrade clusters we need to make it possible to > stream files between nodes with different StreamMessage.CURRENT_VERSION -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-8110) Make streaming backwards compatible
[ https://issues.apache.org/jira/browse/CASSANDRA-8110?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14173957#comment-14173957 ] Marcus Eriksson commented on CASSANDRA-8110: We version the stream protocol separately, meaning we can have the same streaming protocol across different major versions. This ticket should make it possible to stream between different stream message versions whenever we add new stuff there (the thing that broke it between 2.1 and 3.0 was adding the SSTable level in the FileMessageHeader, CASSANDRA-7460 ). > Make streaming backwards compatible > --- > > Key: CASSANDRA-8110 > URL: https://issues.apache.org/jira/browse/CASSANDRA-8110 > Project: Cassandra > Issue Type: Improvement >Reporter: Marcus Eriksson > Fix For: 3.0 > > > To be able to seamlessly upgrade clusters we need to make it possible to > stream files between nodes with different StreamMessage.CURRENT_VERSION -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CASSANDRA-7510) Notify clients that bootstrap is finished over binary protocol
[ https://issues.apache.org/jira/browse/CASSANDRA-7510?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14173956#comment-14173956 ] Brandon Williams commented on CASSANDRA-7510: - bq. Does the proposed change of sending the STATUS_NORMAL state later also mean that until that time the node does not show up in the system.peers table? Yes. > Notify clients that bootstrap is finished over binary protocol > -- > > Key: CASSANDRA-7510 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7510 > Project: Cassandra > Issue Type: Bug >Reporter: Joost Reuzel >Assignee: Brandon Williams >Priority: Minor > Fix For: 2.0.11 > > Attachments: 7510.txt > > > Currently, Cassandra will notify clients when a new node is added to a > cluster. However, that node is typically not usable yet. It first needs to > gossip its key range and finish loading all its assigned data before it > allows clients to connect. Depending on the amount of data this may take > quite a while. The clients in the mean time have no clue about the bootstrap > status of that node. The only thing they can do is periodically check if it > will accept a connection. > My proposal would be to send an additional UP event when the bootstrap is > done, this allows clients to mark the node initially as down/unavailable and > simply wait for the UP event to arrive. > Kind regards, > Joost -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-6430) DELETE with IF = clause doesn't work properly if more then one row are going to be deleted
[ https://issues.apache.org/jira/browse/CASSANDRA-6430?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Philip Thompson updated CASSANDRA-6430: --- Assignee: Tyler Hobbs > DELETE with IF = clause doesn't work properly if more then one > row are going to be deleted > > > Key: CASSANDRA-6430 > URL: https://issues.apache.org/jira/browse/CASSANDRA-6430 > Project: Cassandra > Issue Type: Bug >Reporter: Dmitriy Ukhlov >Assignee: Tyler Hobbs > Fix For: 2.0.11 > > > CREATE TABLE test(key int, sub_key int, value text, PRIMARY KEY(key, sub_key) > ); > INSERT INTO test(key, sub_key, value) VALUES(1,1, '1.1'); > INSERT INTO test(key, sub_key, value) VALUES(1,2, '1.2'); > INSERT INTO test(key, sub_key, value) VALUES(1,3, '1.3'); > SELECT * from test; > key | sub_key | value > -+-+--- >1 | 1 | 1.1 >1 | 2 | 1.2 >1 | 3 | 1.3 > DELETE FROM test WHERE key=1 IF value='1.2'; > [applied] > --- > False <=== I guess second row should be removed > SELECT * from test; > key | sub_key | value > -+-+--- >1 | 1 | 1.1 >1 | 2 | 1.2 >1 | 3 | 1.3 > (3 rows) > DELETE FROM test WHERE key=1; > SELECT * from test; > (0 rows) <=== all rows were removed: OK -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Resolved] (CASSANDRA-6568) sstables incorrectly getting marked as "not live"
[ https://issues.apache.org/jira/browse/CASSANDRA-6568?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Ellis resolved CASSANDRA-6568. --- Resolution: Cannot Reproduce Fix Version/s: (was: 2.0.11) i'm going to resolve as cantrepro for now, then. > 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 > 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.3.4#6332)
[jira] [Commented] (CASSANDRA-8110) Make streaming backwards compatible
[ https://issues.apache.org/jira/browse/CASSANDRA-8110?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14173953#comment-14173953 ] Aleksey Yeschenko commented on CASSANDRA-8110: -- [~jbellis] this ticket is a superset of CASSANDRA-5772. 5772 allows streaming previous-version sstables between 2 current version nodes, but not streaming (of anything) between two differently versioned nodes. > Make streaming backwards compatible > --- > > Key: CASSANDRA-8110 > URL: https://issues.apache.org/jira/browse/CASSANDRA-8110 > Project: Cassandra > Issue Type: Improvement >Reporter: Marcus Eriksson > Fix For: 3.0 > > > To be able to seamlessly upgrade clusters we need to make it possible to > stream files between nodes with different StreamMessage.CURRENT_VERSION -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CASSANDRA-6430) DELETE with IF = clause doesn't work properly if more then one row are going to be deleted
[ https://issues.apache.org/jira/browse/CASSANDRA-6430?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Philip Thompson updated CASSANDRA-6430: --- Fix Version/s: 2.0.11 > DELETE with IF = clause doesn't work properly if more then one > row are going to be deleted > > > Key: CASSANDRA-6430 > URL: https://issues.apache.org/jira/browse/CASSANDRA-6430 > Project: Cassandra > Issue Type: Bug >Reporter: Dmitriy Ukhlov > Fix For: 2.0.11 > > > CREATE TABLE test(key int, sub_key int, value text, PRIMARY KEY(key, sub_key) > ); > INSERT INTO test(key, sub_key, value) VALUES(1,1, '1.1'); > INSERT INTO test(key, sub_key, value) VALUES(1,2, '1.2'); > INSERT INTO test(key, sub_key, value) VALUES(1,3, '1.3'); > SELECT * from test; > key | sub_key | value > -+-+--- >1 | 1 | 1.1 >1 | 2 | 1.2 >1 | 3 | 1.3 > DELETE FROM test WHERE key=1 IF value='1.2'; > [applied] > --- > False <=== I guess second row should be removed > SELECT * from test; > key | sub_key | value > -+-+--- >1 | 1 | 1.1 >1 | 2 | 1.2 >1 | 3 | 1.3 > (3 rows) > DELETE FROM test WHERE key=1; > SELECT * from test; > (0 rows) <=== all rows were removed: OK -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Resolved] (CASSANDRA-7292) Can't seed new node into ring with (public) ip of an old node
[ https://issues.apache.org/jira/browse/CASSANDRA-7292?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Brandon Williams resolved CASSANDRA-7292. - Resolution: Duplicate Closing in favor of 8072 since Ryan can reproduce reliably with a clean setup. > Can't seed new node into ring with (public) ip of an old node > - > > Key: CASSANDRA-7292 > URL: https://issues.apache.org/jira/browse/CASSANDRA-7292 > Project: Cassandra > Issue Type: Bug > Components: Core > Environment: Cassandra 2.0.7, Ec2MultiRegionSnitch >Reporter: Juho Mäkinen >Assignee: Brandon Williams > Labels: bootstrap, gossip > Attachments: cassandra-replace-address.log > > > This bug prevents node to return with bootstrap into the cluster with its old > ip. > Scenario: five node ec2 cluster spread into three AZ, all in one region. I'm > using Ec2MultiRegionSnitch. Nodes are reported with their public ips (as > Ec2MultiRegionSnitch requires) > I simulated a loss of one node by terminating one instance. nodetool status > reported correctly that node was down. Then I launched new instance with the > old public ip (i'm using elastic ips) with > "Dcassandra.replace_address=IP_ADDRESS" but the new node can't join the > cluster: > INFO 07:20:43,424 Gathering node replacement information for /54.86.191.30 > INFO 07:20:43,428 Starting Messaging Service on port 9043 > INFO 07:20:43,489 Handshaking version with /54.86.171.10 > INFO 07:20:43,491 Handshaking version with /54.86.187.245 > (some delay) > ERROR 07:21:14,445 Exception encountered during startup > java.lang.RuntimeException: Unable to gossip with any seeds > at org.apache.cassandra.gms.Gossiper.doShadowRound(Gossiper.java:1193) > at > org.apache.cassandra.service.StorageService.prepareReplacementInfo(StorageService.java:419) > at > org.apache.cassandra.service.StorageService.prepareToJoin(StorageService.java:650) > at > org.apache.cassandra.service.StorageService.initServer(StorageService.java:612) > at > org.apache.cassandra.service.StorageService.initServer(StorageService.java:505) > at > org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:362) > at > org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:480) > at > org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:569) > It does not help if I remove the "Dcassandra.replace_address=IP_ADDRESS" > system property. > Also it does not help to remove the node with "nodetool removenode" with or > without the cassandra.replace_address property. > I think this is because the node information is preserved in the gossip info > as seen this output of "nodetool gossipinfo" > /54.86.191.30 > INTERNAL_IP:172.16.1.231 > DC:us-east > REMOVAL_COORDINATOR:REMOVER,d581309a-8610-40d4-ba30-cb250eda22a8 > STATUS:removed,19311925-46b5-4fe4-928a-321e8adb731d,1401089960664 > HOST_ID:19311925-46b5-4fe4-928a-321e8adb731d > RPC_ADDRESS:0.0.0.0 > NET_VERSION:7 > SCHEMA:226f9315-b4b2-32c1-bfe1-f4bb49fccfd5 > RACK:1b > LOAD:7.075290515E9 > SEVERITY:0.0 > RELEASE_VERSION:2.0.7 -- This message was sent by Atlassian JIRA (v6.3.4#6332)