[jira] Commented: (CASSANDRA-2240) nodetool scrub hangs or throws an exception
[ https://issues.apache.org/jira/browse/CASSANDRA-2240?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13000732#comment-13000732 ] Sébastien Giroux commented on CASSANDRA-2240: - Scrub is running with v4 right now, we will see what happen, no exception so far. There is these things being displayed about fifty millions time in the log tho:) : INFO 05:33:29,521 Invalid row summary in SSTableReader(path='/var/lib/cassandra/data/Wajam/WebsiteWajams-f-146-Data.db'); will rebuild it INFO 05:33:29,548 Invalid bloom filter in SSTableReader(path='/var/lib/cassandra/data/Wajam/WebsiteWajams-f-146-Data.db'); will rebuild it INFO 05:33:29,859 Invalid row summary in SSTableReader(path='/var/lib/cassandra/data/Wajam/WebsiteWajams-f-146-Data.db'); will rebuild it INFO 05:33:29,882 Invalid bloom filter in SSTableReader(path='/var/lib/cassandra/data/Wajam/WebsiteWajams-f-146-Data.db'); will rebuild it INFO 05:33:31,223 Invalid row summary in SSTableReader(path='/var/lib/cassandra/data/Wajam/WebsiteWajams-f-146-Data.db'); will rebuild it INFO 05:33:31,249 Invalid bloom filter in SSTableReader(path='/var/lib/cassandra/data/Wajam/WebsiteWajams-f-146-Data.db'); will rebuild it INFO 05:33:31,644 Invalid row summary in SSTableReader(path='/var/lib/cassandra/data/Wajam/WebsiteWajams-f-146-Data.db'); will rebuild it INFO 05:33:31,678 Invalid bloom filter in SSTableReader(path='/var/lib/cassandra/data/Wajam/WebsiteWajams-f-146-Data.db'); will rebuild it INFO 05:33:32,102 Invalid row summary in SSTableReader(path='/var/lib/cassandra/data/Wajam/WebsiteWajams-f-146-Data.db'); will rebuild it INFO 05:33:32,129 Invalid bloom filter in SSTableReader(path='/var/lib/cassandra/data/Wajam/WebsiteWajams-f-146-Data.db'); will rebuild it INFO 05:33:32,393 Invalid row summary in SSTableReader(path='/var/lib/cassandra/data/Wajam/WebsiteWajams-f-146-Data.db'); will rebuild it INFO 05:33:32,425 Invalid bloom filter in SSTableReader(path='/var/lib/cassandra/data/Wajam/WebsiteWajams-f-146-Data.db'); will rebuild it INFO 05:33:32,713 Invalid row summary in SSTableReader(path='/var/lib/cassandra/data/Wajam/WebsiteWajams-f-146-Data.db'); will rebuild it INFO 05:33:32,734 Invalid bloom filter in SSTableReader(path='/var/lib/cassandra/data/Wajam/WebsiteWajams-f-146-Data.db'); will rebuild it INFO 05:33:33,004 Invalid row summary in SSTableReader(path='/var/lib/cassandra/data/Wajam/WebsiteWajams-f-146-Data.db'); will rebuild it INFO 05:33:33,031 Invalid bloom filter in SSTableReader(path='/var/lib/cassandra/data/Wajam/WebsiteWajams-f-146-Data.db'); will rebuild it INFO 05:33:33,305 Invalid row summary in SSTableReader(path='/var/lib/cassandra/data/Wajam/WebsiteWajams-f-146-Data.db'); will rebuild it INFO 05:33:33,331 Invalid bloom filter in SSTableReader(path='/var/lib/cassandra/data/Wajam/WebsiteWajams-f-146-Data.db'); will rebuild it INFO 05:33:33,599 Invalid row summary in SSTableReader(path='/var/lib/cassandra/data/Wajam/WebsiteWajams-f-146-Data.db'); will rebuild it INFO 05:33:33,623 Invalid bloom filter in SSTableReader(path='/var/lib/cassandra/data/Wajam/WebsiteWajams-f-146-Data.db'); will rebuild it INFO 05:33:33,897 Invalid row summary in SSTableReader(path='/var/lib/cassandra/data/Wajam/WebsiteWajams-f-146-Data.db'); will rebuild it INFO 05:33:33,917 Invalid bloom filter in SSTableReader(path='/var/lib/cassandra/data/Wajam/WebsiteWajams-f-146-Data.db'); will rebuild it INFO 05:33:34,330 Invalid row summary in SSTableReader(path='/var/lib/cassandra/data/Wajam/WebsiteWajams-f-146-Data.db'); will rebuild it INFO 05:33:34,375 Invalid bloom filter in SSTableReader(path='/var/lib/cassandra/data/Wajam/WebsiteWajams-f-146-Data.db'); will rebuild it INFO 05:33:35,504 Invalid row summary in SSTableReader(path='/var/lib/cassandra/data/Wajam/WebsiteWajams-f-146-Data.db'); will rebuild it INFO 05:33:35,525 Invalid bloom filter in SSTableReader(path='/var/lib/cassandra/data/Wajam/WebsiteWajams-f-146-Data.db'); will rebuild it INFO 05:33:35,933 Invalid row summary in SSTableReader(path='/var/lib/cassandra/data/Wajam/WebsiteWajams-f-146-Data.db'); will rebuild it Either way, as long as it fix my ss table I will be happy :) I will let you know in the morning if there is any more issue Thank you! > nodetool scrub hangs or throws an exception > --- > > Key: CASSANDRA-2240 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2240 > Project: Cassandra > Issue Type: Bug > Components: Tools >Affects Versions: 0.7.3 > Environment: using build #314 from hudson >Reporter: Yaniv Kunda >Assignee: Jonathan Ellis > Fix For: 0.7.4 > > Attachments: 2240-v2.txt, 2240-v3.txt, 2240.txt, 2240.txt, > exception2.txt, jstack1.txt, signatureBuckets-
[jira] Updated: (CASSANDRA-2240) nodetool scrub hangs or throws an exception
[ https://issues.apache.org/jira/browse/CASSANDRA-2240?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Ellis updated CASSANDRA-2240: -- Attachment: 2240.txt v4 attached. (might be my last for the night; getting late here. but I'll check back first thing in the morning) > nodetool scrub hangs or throws an exception > --- > > Key: CASSANDRA-2240 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2240 > Project: Cassandra > Issue Type: Bug > Components: Tools >Affects Versions: 0.7.3 > Environment: using build #314 from hudson >Reporter: Yaniv Kunda >Assignee: Jonathan Ellis > Fix For: 0.7.4 > > Attachments: 2240-v2.txt, 2240-v3.txt, 2240.txt, 2240.txt, > exception2.txt, jstack1.txt, signatureBuckets-f-104.tar.gz, system.log.2.gz, > system.log.gz, test-0.6.x-tables.tar.gz, userChannelFilter-f-210.tar.gz > > > trying to run nodetool scrub hung or (only happened one time) threw the > following exception: > ERROR [CompactionExecutor:1] 2011-02-28 10:26:26,620 > AbstractCassandraDaemon.java (line 114) Fatal exception in thread > Thread[CompactionExecutor:1,1,main] > java.lang.AssertionError > at > org.apache.cassandra.dht.RandomPartitioner.convertFromDiskFormat(RandomPartitioner.java:62) > at > org.apache.cassandra.io.sstable.SSTableReader.decodeKey(SSTableReader.java:627) > at > org.apache.cassandra.db.CompactionManager.doScrub(CompactionManager.java:538) > at > org.apache.cassandra.db.CompactionManager.access$600(CompactionManager.java:55) > at > org.apache.cassandra.db.CompactionManager$3.call(CompactionManager.java:194) > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) > at java.util.concurrent.FutureTask.run(FutureTask.java:166) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) > at java.lang.Thread.run(Thread.java:636) -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (CASSANDRA-1954) Double-check or replace RRW memtable lock
[ https://issues.apache.org/jira/browse/CASSANDRA-1954?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13000727#comment-13000727 ] Hudson commented on CASSANDRA-1954: --- Integrated in Cassandra #751 (See [https://hudson.apache.org/hudson/job/Cassandra/751/]) avoid aquiring (and contending with flush for) flusherlock on each write patch by slebresne; reviewed by jbellis and stuhood for CASSANDRA-1954 > Double-check or replace RRW memtable lock > - > > Key: CASSANDRA-1954 > URL: https://issues.apache.org/jira/browse/CASSANDRA-1954 > Project: Cassandra > Issue Type: Improvement > Components: Core >Reporter: Stu Hood >Assignee: Sylvain Lebresne >Priority: Minor > Attachments: > 0001-Double-check-in-maybeSwitchMemtable-to-minimize-writeL.txt, > 0001-Remove-flusherLock-readLock.patch, 1954-v2.txt, 1954_trunk.patch > > > {quote}...when a Memtable reaches its threshold, up to (all) N write threads > will often notice, and race to acquire the writeLock in order to freeze the > memtable. This means that we do way more writeLock acquisitions than we need > to...{quote} > See CASSANDRA-1930 for backstory, but adding double checking inside a read > lock before trying to re-entrantly acquire the writelock would eliminate most > of these excess writelock acquisitions. > Alternatively, we should explore removing locking from these structures > entirely, and replacing the writeLock acquisition with a per-memtable counter > of active threads. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (CASSANDRA-2240) nodetool scrub hangs or throws an exception
[ https://issues.apache.org/jira/browse/CASSANDRA-2240?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13000720#comment-13000720 ] Sébastien Giroux commented on CASSANDRA-2240: - Now I'm getting this: ERROR 04:58:53,338 Error reading index file. Scrub does not (yet) know how to recover from corrupt index files; you can try rebuilding it offline. See http://www.mail-archive.com/user@cassandra.apache.org/msg03325.html ERROR 04:58:53,338 Fatal exception in thread Thread[CompactionExecutor:1,1,main] java.lang.RuntimeException: java.io.EOFException at org.apache.cassandra.db.CompactionManager.doScrub(CompactionManager.java:565) at org.apache.cassandra.db.CompactionManager.access$600(CompactionManager.java:56) at org.apache.cassandra.db.CompactionManager$3.call(CompactionManager.java:195) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:636) Caused by: java.io.EOFException at java.io.RandomAccessFile.readFully(RandomAccessFile.java:416) at java.io.RandomAccessFile.readFully(RandomAccessFile.java:394) at org.apache.cassandra.io.util.BufferedRandomAccessFile.readBytes(BufferedRandomAccessFile.java:268) at org.apache.cassandra.utils.ByteBufferUtil.read(ByteBufferUtil.java:310) at org.apache.cassandra.utils.ByteBufferUtil.readWithShortLength(ByteBufferUtil.java:284) at org.apache.cassandra.db.CompactionManager.doScrub(CompactionManager.java:559) ... 7 more And root@WajamCassandra12:/usr/share/cassandra# nodetool -h 127.0.0.1 scrub Wajam Wajam Error occured while scrubbing keyspace Wajam java.util.concurrent.ExecutionException: java.lang.RuntimeException: java.io.EOFException at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:252) at java.util.concurrent.FutureTask.get(FutureTask.java:111) at org.apache.cassandra.db.CompactionManager.performScrub(CompactionManager.java:204) at org.apache.cassandra.db.ColumnFamilyStore.scrub(ColumnFamilyStore.java:963) at org.apache.cassandra.service.StorageService.scrub(StorageService.java:1247) 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:616) at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:111) at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:45) at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:226) at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:138) at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:251) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:857) at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:795) at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1450) at javax.management.remote.rmi.RMIConnectionImpl.access$200(RMIConnectionImpl.java:90) at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1285) at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1383) at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:807) 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:616) at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322) at sun.rmi.transport.Transport$1.run(Transport.java:177) 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:553) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:808) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:667) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concur
[jira] Commented: (CASSANDRA-2240) nodetool scrub hangs or throws an exception
[ https://issues.apache.org/jira/browse/CASSANDRA-2240?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13000718#comment-13000718 ] Sébastien Giroux commented on CASSANDRA-2240: - I will try v3 soon and let you know. While looking at the patch, I found a typo: logger.warn("No valid rows found while scrubbing " + sstable + "; it is marked for deltion now. If you want to attempt manual recovery, you can find a copy in the pre-scrub snapshot"); Should be "deletion" instead of "deltion"... no big deal :) > nodetool scrub hangs or throws an exception > --- > > Key: CASSANDRA-2240 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2240 > Project: Cassandra > Issue Type: Bug > Components: Tools >Affects Versions: 0.7.3 > Environment: using build #314 from hudson >Reporter: Yaniv Kunda >Assignee: Jonathan Ellis > Fix For: 0.7.4 > > Attachments: 2240-v2.txt, 2240-v3.txt, 2240.txt, exception2.txt, > jstack1.txt, signatureBuckets-f-104.tar.gz, system.log.2.gz, system.log.gz, > test-0.6.x-tables.tar.gz, userChannelFilter-f-210.tar.gz > > > trying to run nodetool scrub hung or (only happened one time) threw the > following exception: > ERROR [CompactionExecutor:1] 2011-02-28 10:26:26,620 > AbstractCassandraDaemon.java (line 114) Fatal exception in thread > Thread[CompactionExecutor:1,1,main] > java.lang.AssertionError > at > org.apache.cassandra.dht.RandomPartitioner.convertFromDiskFormat(RandomPartitioner.java:62) > at > org.apache.cassandra.io.sstable.SSTableReader.decodeKey(SSTableReader.java:627) > at > org.apache.cassandra.db.CompactionManager.doScrub(CompactionManager.java:538) > at > org.apache.cassandra.db.CompactionManager.access$600(CompactionManager.java:55) > at > org.apache.cassandra.db.CompactionManager$3.call(CompactionManager.java:194) > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) > at java.util.concurrent.FutureTask.run(FutureTask.java:166) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) > at java.lang.Thread.run(Thread.java:636) -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Updated: (CASSANDRA-2240) nodetool scrub hangs or throws an exception
[ https://issues.apache.org/jira/browse/CASSANDRA-2240?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Ellis updated CASSANDRA-2240: -- Attachment: 2240-v3.txt v3 adds support for the index file ending before the data file > nodetool scrub hangs or throws an exception > --- > > Key: CASSANDRA-2240 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2240 > Project: Cassandra > Issue Type: Bug > Components: Tools >Affects Versions: 0.7.3 > Environment: using build #314 from hudson >Reporter: Yaniv Kunda >Assignee: Jonathan Ellis > Fix For: 0.7.4 > > Attachments: 2240-v2.txt, 2240-v3.txt, 2240.txt, exception2.txt, > jstack1.txt, signatureBuckets-f-104.tar.gz, system.log.2.gz, system.log.gz, > test-0.6.x-tables.tar.gz, userChannelFilter-f-210.tar.gz > > > trying to run nodetool scrub hung or (only happened one time) threw the > following exception: > ERROR [CompactionExecutor:1] 2011-02-28 10:26:26,620 > AbstractCassandraDaemon.java (line 114) Fatal exception in thread > Thread[CompactionExecutor:1,1,main] > java.lang.AssertionError > at > org.apache.cassandra.dht.RandomPartitioner.convertFromDiskFormat(RandomPartitioner.java:62) > at > org.apache.cassandra.io.sstable.SSTableReader.decodeKey(SSTableReader.java:627) > at > org.apache.cassandra.db.CompactionManager.doScrub(CompactionManager.java:538) > at > org.apache.cassandra.db.CompactionManager.access$600(CompactionManager.java:55) > at > org.apache.cassandra.db.CompactionManager$3.call(CompactionManager.java:194) > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) > at java.util.concurrent.FutureTask.run(FutureTask.java:166) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) > at java.lang.Thread.run(Thread.java:636) -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Updated: (CASSANDRA-2252) off-heap memtables
[ https://issues.apache.org/jira/browse/CASSANDRA-2252?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Stu Hood updated CASSANDRA-2252: Attachment: 2252-alternate-v2.tgz Uploading a v2 of the alternate patch... at some point late in development I switched all clone() calls to trim() which was actually avoiding copying the majority of the time. > off-heap memtables > -- > > Key: CASSANDRA-2252 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2252 > Project: Cassandra > Issue Type: Improvement >Reporter: Jonathan Ellis >Assignee: Jonathan Ellis > Fix For: 0.8 > > Attachments: 0001-add-MemtableAllocator.txt, > 0002-add-off-heap-MemtableAllocator-support.txt, 2252-alternate-v2.tgz > > > The memtable design practically actively fights Java's GC design. Todd > Lipcon gave a good explanation over on HBASE-3455. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Updated: (CASSANDRA-2252) off-heap memtables
[ https://issues.apache.org/jira/browse/CASSANDRA-2252?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Stu Hood updated CASSANDRA-2252: Attachment: (was: 2252-alternate-v1.tgz) > off-heap memtables > -- > > Key: CASSANDRA-2252 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2252 > Project: Cassandra > Issue Type: Improvement >Reporter: Jonathan Ellis >Assignee: Jonathan Ellis > Fix For: 0.8 > > Attachments: 0001-add-MemtableAllocator.txt, > 0002-add-off-heap-MemtableAllocator-support.txt > > > The memtable design practically actively fights Java's GC design. Todd > Lipcon gave a good explanation over on HBASE-3455. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Issue Comment Edited: (CASSANDRA-2240) nodetool scrub hangs or throws an exception
[ https://issues.apache.org/jira/browse/CASSANDRA-2240?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13000696#comment-13000696 ] Sébastien Giroux edited comment on CASSANDRA-2240 at 3/1/11 4:23 AM: - Looking at the data directory, it looks like it was working as excepted before the exception happened. The tmp SStable is 1.0GB... Looks like we are getting close! was (Author: wajam): Looking at the data directory, it looks like it was worked as excepted before the exception happened. The tmp SStable is 1.0GB... Looks like we are getting close! > nodetool scrub hangs or throws an exception > --- > > Key: CASSANDRA-2240 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2240 > Project: Cassandra > Issue Type: Bug > Components: Tools >Affects Versions: 0.7.3 > Environment: using build #314 from hudson >Reporter: Yaniv Kunda >Assignee: Jonathan Ellis > Fix For: 0.7.4 > > Attachments: 2240-v2.txt, 2240.txt, exception2.txt, jstack1.txt, > signatureBuckets-f-104.tar.gz, system.log.2.gz, system.log.gz, > test-0.6.x-tables.tar.gz, userChannelFilter-f-210.tar.gz > > > trying to run nodetool scrub hung or (only happened one time) threw the > following exception: > ERROR [CompactionExecutor:1] 2011-02-28 10:26:26,620 > AbstractCassandraDaemon.java (line 114) Fatal exception in thread > Thread[CompactionExecutor:1,1,main] > java.lang.AssertionError > at > org.apache.cassandra.dht.RandomPartitioner.convertFromDiskFormat(RandomPartitioner.java:62) > at > org.apache.cassandra.io.sstable.SSTableReader.decodeKey(SSTableReader.java:627) > at > org.apache.cassandra.db.CompactionManager.doScrub(CompactionManager.java:538) > at > org.apache.cassandra.db.CompactionManager.access$600(CompactionManager.java:55) > at > org.apache.cassandra.db.CompactionManager$3.call(CompactionManager.java:194) > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) > at java.util.concurrent.FutureTask.run(FutureTask.java:166) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) > at java.lang.Thread.run(Thread.java:636) -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (CASSANDRA-2240) nodetool scrub hangs or throws an exception
[ https://issues.apache.org/jira/browse/CASSANDRA-2240?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13000696#comment-13000696 ] Sébastien Giroux commented on CASSANDRA-2240: - Looking at the data directory, it looks like it was worked as excepted before the exception happened. The tmp SStable is 1.0GB... Looks like we are getting close! > nodetool scrub hangs or throws an exception > --- > > Key: CASSANDRA-2240 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2240 > Project: Cassandra > Issue Type: Bug > Components: Tools >Affects Versions: 0.7.3 > Environment: using build #314 from hudson >Reporter: Yaniv Kunda >Assignee: Jonathan Ellis > Fix For: 0.7.4 > > Attachments: 2240-v2.txt, 2240.txt, exception2.txt, jstack1.txt, > signatureBuckets-f-104.tar.gz, system.log.2.gz, system.log.gz, > test-0.6.x-tables.tar.gz, userChannelFilter-f-210.tar.gz > > > trying to run nodetool scrub hung or (only happened one time) threw the > following exception: > ERROR [CompactionExecutor:1] 2011-02-28 10:26:26,620 > AbstractCassandraDaemon.java (line 114) Fatal exception in thread > Thread[CompactionExecutor:1,1,main] > java.lang.AssertionError > at > org.apache.cassandra.dht.RandomPartitioner.convertFromDiskFormat(RandomPartitioner.java:62) > at > org.apache.cassandra.io.sstable.SSTableReader.decodeKey(SSTableReader.java:627) > at > org.apache.cassandra.db.CompactionManager.doScrub(CompactionManager.java:538) > at > org.apache.cassandra.db.CompactionManager.access$600(CompactionManager.java:55) > at > org.apache.cassandra.db.CompactionManager$3.call(CompactionManager.java:194) > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) > at java.util.concurrent.FutureTask.run(FutureTask.java:166) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) > at java.lang.Thread.run(Thread.java:636) -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (CASSANDRA-2255) ColumnFamilyOutputFormat drops mutations when batches fill up.
[ https://issues.apache.org/jira/browse/CASSANDRA-2255?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13000695#comment-13000695 ] Hudson commented on CASSANDRA-2255: --- Integrated in Cassandra-0.7 #334 (See [https://hudson.apache.org/hudson/job/Cassandra-0.7/334/]) fix Hadoop ColumnFamilyOutputFormat droppingof mutations patch by Eldon Stegall and Jeremy Hanna; reviewed by jbellis for CASSANDRA-2255 > ColumnFamilyOutputFormat drops mutations when batches fill up. > -- > > Key: CASSANDRA-2255 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2255 > Project: Cassandra > Issue Type: Bug > Components: Hadoop >Affects Versions: 0.7.2, 0.8 >Reporter: Eldon Stegall >Assignee: Jeremy Hanna > Fix For: 0.7.4 > > Attachments: 0001_Stop_dropping_mutations.txt, 2255-patch-2.txt > > > queue.poll() takes a mutation, > but then the batch is already full, > so the while loop exits, ant the mutation we just got is dropped. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (CASSANDRA-2240) nodetool scrub hangs or throws an exception
[ https://issues.apache.org/jira/browse/CASSANDRA-2240?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13000691#comment-13000691 ] Sébastien Giroux commented on CASSANDRA-2240: - Now it seems to hang for a while on a 1.4GB sstable. Eventually I get this exception... ERROR 03:56:29,413 Fatal exception in thread Thread[CompactionExecutor:1,1,main] java.lang.NullPointerException at org.apache.cassandra.db.CompactionManager.doScrub(CompactionManager.java:569) at org.apache.cassandra.db.CompactionManager.access$600(CompactionManager.java:56) at org.apache.cassandra.db.CompactionManager$3.call(CompactionManager.java:195) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:636) > nodetool scrub hangs or throws an exception > --- > > Key: CASSANDRA-2240 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2240 > Project: Cassandra > Issue Type: Bug > Components: Tools >Affects Versions: 0.7.3 > Environment: using build #314 from hudson >Reporter: Yaniv Kunda >Assignee: Jonathan Ellis > Fix For: 0.7.4 > > Attachments: 2240-v2.txt, 2240.txt, exception2.txt, jstack1.txt, > signatureBuckets-f-104.tar.gz, system.log.2.gz, system.log.gz, > test-0.6.x-tables.tar.gz, userChannelFilter-f-210.tar.gz > > > trying to run nodetool scrub hung or (only happened one time) threw the > following exception: > ERROR [CompactionExecutor:1] 2011-02-28 10:26:26,620 > AbstractCassandraDaemon.java (line 114) Fatal exception in thread > Thread[CompactionExecutor:1,1,main] > java.lang.AssertionError > at > org.apache.cassandra.dht.RandomPartitioner.convertFromDiskFormat(RandomPartitioner.java:62) > at > org.apache.cassandra.io.sstable.SSTableReader.decodeKey(SSTableReader.java:627) > at > org.apache.cassandra.db.CompactionManager.doScrub(CompactionManager.java:538) > at > org.apache.cassandra.db.CompactionManager.access$600(CompactionManager.java:55) > at > org.apache.cassandra.db.CompactionManager$3.call(CompactionManager.java:194) > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) > at java.util.concurrent.FutureTask.run(FutureTask.java:166) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) > at java.lang.Thread.run(Thread.java:636) -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
svn commit: r1075634 - in /cassandra/trunk/src/java/org/apache/cassandra/db: ColumnFamilyStore.java Memtable.java RowIteratorFactory.java Table.java
Author: jbellis Date: Tue Mar 1 03:22:46 2011 New Revision: 1075634 URL: http://svn.apache.org/viewvc?rev=1075634&view=rev Log: avoid aquiring (and contending with flush for) flusherlock on each write patch by slebresne; reviewed by jbellis and stuhood for CASSANDRA-1954 Modified: cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java cassandra/trunk/src/java/org/apache/cassandra/db/Memtable.java cassandra/trunk/src/java/org/apache/cassandra/db/RowIteratorFactory.java cassandra/trunk/src/java/org/apache/cassandra/db/Table.java Modified: cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java?rev=1075634&r1=1075633&r2=1075634&view=diff == --- cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java (original) +++ cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java Tue Mar 1 03:22:46 2011 @@ -109,7 +109,7 @@ public class ColumnFamilyStore implement private AtomicInteger fileIndexGenerator = new AtomicInteger(0); /* active memtable associated with this ColumnFamilyStore. */ -private Memtable memtable; +private volatile Memtable memtable; private final ConcurrentSkipListMap indexedColumns; @@ -681,27 +681,21 @@ public class ColumnFamilyStore implement /** flush the given memtable and swap in a new one for its CFS, if it hasn't been frozen already. threadsafe. */ Future maybeSwitchMemtable(Memtable oldMemtable, final boolean writeCommitLog) { -/* - * If we can get the writelock, that means no new updates can come in and - * all ongoing updates to memtables have completed. We can get the tail - * of the log and use it as the starting position for log replay on recovery. - * - * This is why we Table.flusherLock needs to be global instead of per-Table: - * we need to schedule discardCompletedSegments calls in the same order as their - * contexts (commitlog position) were read, even though the flush executor - * is multithreaded. - */ -Table.flusherLock.writeLock().lock(); +if (oldMemtable.isPendingFlush()) +return null; + +if (DatabaseDescriptor.getCFMetaData(metadata.cfId) == null) +return null; // column family was dropped. no point in flushing. + +// Only one thread will succeed in marking it as pending flush; the others can go back to processing writes +if (!oldMemtable.markPendingFlush()) +return null; + +// Table.flusherLock ensures that we schedule discardCompletedSegments calls in the same order as their +// contexts (commitlog position) were read, even though the flush executor is multithreaded. +Table.flusherLock.lock(); try { -if (oldMemtable.isFrozen()) -return null; - -if (DatabaseDescriptor.getCFMetaData(metadata.cfId) == null) -return null; // column family was dropped. no point in flushing. - -assert memtable == oldMemtable; -memtable.freeze(); final CommitLogSegment.CommitLogContext ctx = writeCommitLog ? CommitLog.instance.getContext() : null; logger.info("switching in a fresh Memtable for " + columnFamily + " at " + ctx); @@ -750,7 +744,7 @@ public class ColumnFamilyStore implement } finally { -Table.flusherLock.writeLock().unlock(); +Table.flusherLock.unlock(); if (memtableSwitchCount == Integer.MAX_VALUE) { memtableSwitchCount = 0; @@ -796,8 +790,6 @@ public class ColumnFamilyStore implement /** * Insert/Update the column family for this key. - * Caller is responsible for acquiring Table.flusherLock! - * param @ lock - lock that needs to be used. * param @ key - key for update/insert * param @ columnFamily - columnFamily changes */ @@ -805,14 +797,15 @@ public class ColumnFamilyStore implement { long start = System.nanoTime(); -boolean flushRequested = memtable.isThresholdViolated(); -memtable.put(key, columnFamily); +Memtable mt = getMemtableThreadSafe(); +boolean flushRequested = mt.isThresholdViolated(); +mt.put(key, columnFamily); ColumnFamily cachedRow = getRawCachedRow(key); if (cachedRow != null) cachedRow.addAll(columnFamily); writeStats.addNano(System.nanoTime() - start); -return flushRequested ? memtable : null; +return flushRequested ? mt : null; } /* @@ -1044,26 +1037,15 @@ public class ColumnFamilyStore implement } /** - * get the current memtable in a threadsafe
[jira] Commented: (CASSANDRA-1848) Separate thrift and avro classes from cassandra's jar
[ https://issues.apache.org/jira/browse/CASSANDRA-1848?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13000677#comment-13000677 ] Hudson commented on CASSANDRA-1848: --- Integrated in Cassandra #750 (See [https://hudson.apache.org/hudson/job/Cassandra/750/]) compile CQL driver to separate jar Patch by eevans; reviewed by tjake for CASSANDRA-1848 compile thrift generated classes to separate jar Patch by eevans; reviewed by tjake for CASSANDRA-1848 compile bytecode to build/classes/main Patch by eevans; reviewed by tjake for CASSANDRA-1848 > Separate thrift and avro classes from cassandra's jar > - > > Key: CASSANDRA-1848 > URL: https://issues.apache.org/jira/browse/CASSANDRA-1848 > Project: Cassandra > Issue Type: Improvement > Components: Packaging >Affects Versions: 0.7.0 rc 2 >Reporter: Tristan Tarrant >Assignee: Eric Evans >Priority: Trivial > Fix For: 0.8 > > Attachments: CASSANDRA-1848.patch, CASSANDRA-1848_with_hadoop.patch, > v1-0001-CASSANDRA-1848-compile-bytecode-to-build-classes-main.txt, > v1-0002-compile-thrift-generated-classes-to-separate-jar.txt, > v1-0003-compile-CQL-driver-to-separate-jar.txt > > Original Estimate: 0h > Remaining Estimate: 0h > > Most client applications written in Java include the full > apache-cassandra-x.y.z.jar in their classpath. I propose to separate the avro > and thrift classes into separate jars. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
svn commit: r1075627 - /cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordWriter.java
Author: jbellis Date: Tue Mar 1 02:52:03 2011 New Revision: 1075627 URL: http://svn.apache.org/viewvc?rev=1075627&view=rev Log: fix Hadoop ColumnFamilyOutputFormat droppingof mutations patch by Eldon Stegall and Jeremy Hanna; reviewed by jbellis for CASSANDRA-2255 Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordWriter.java Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordWriter.java URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordWriter.java?rev=1075627&r1=1075626&r2=1075627&view=diff == --- cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordWriter.java (original) +++ cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordWriter.java Tue Mar 1 02:52:03 2011 @@ -325,7 +325,7 @@ implements org.apache.hadoop.mapred.Reco } Map>> batch = new HashMap>>(); -while (batch.size() < batchThreshold) +while (mutation != null) { Map> subBatch = batch.get(mutation.left); if (subBatch == null) @@ -333,10 +333,12 @@ implements org.apache.hadoop.mapred.Reco subBatch = Collections.singletonMap(columnFamily, (List) new ArrayList()); batch.put(mutation.left, subBatch); } - + subBatch.get(columnFamily).add(mutation.right); -if ((mutation = queue.poll()) == null) +if (batch.size() >= batchThreshold) break; + +mutation = queue.poll(); } Iterator iter = endpoints.iterator();
[jira] Updated: (CASSANDRA-2240) nodetool scrub hangs or throws an exception
[ https://issues.apache.org/jira/browse/CASSANDRA-2240?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Ellis updated CASSANDRA-2240: -- Attachment: 2240-v2.txt 2211/2216 would leave valid row keys written, which is where yours is corrupt. That is why I think this is something else. Here is a v2 though that will catch the error and try the next row from the index. > nodetool scrub hangs or throws an exception > --- > > Key: CASSANDRA-2240 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2240 > Project: Cassandra > Issue Type: Bug > Components: Tools >Affects Versions: 0.7.3 > Environment: using build #314 from hudson >Reporter: Yaniv Kunda >Assignee: Jonathan Ellis > Fix For: 0.7.4 > > Attachments: 2240-v2.txt, 2240.txt, exception2.txt, jstack1.txt, > signatureBuckets-f-104.tar.gz, system.log.2.gz, system.log.gz, > test-0.6.x-tables.tar.gz, userChannelFilter-f-210.tar.gz > > > trying to run nodetool scrub hung or (only happened one time) threw the > following exception: > ERROR [CompactionExecutor:1] 2011-02-28 10:26:26,620 > AbstractCassandraDaemon.java (line 114) Fatal exception in thread > Thread[CompactionExecutor:1,1,main] > java.lang.AssertionError > at > org.apache.cassandra.dht.RandomPartitioner.convertFromDiskFormat(RandomPartitioner.java:62) > at > org.apache.cassandra.io.sstable.SSTableReader.decodeKey(SSTableReader.java:627) > at > org.apache.cassandra.db.CompactionManager.doScrub(CompactionManager.java:538) > at > org.apache.cassandra.db.CompactionManager.access$600(CompactionManager.java:55) > at > org.apache.cassandra.db.CompactionManager$3.call(CompactionManager.java:194) > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) > at java.util.concurrent.FutureTask.run(FutureTask.java:166) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) > at java.lang.Thread.run(Thread.java:636) -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Resolved: (CASSANDRA-2257) clustertool get_endpoints - The provided key was not UTF8 encoded.
[ https://issues.apache.org/jira/browse/CASSANDRA-2257?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Ellis resolved CASSANDRA-2257. --- Resolution: Invalid Fix Version/s: (was: 0.7.4) OPP requires UTF8 keys. > clustertool get_endpoints - The provided key was not UTF8 encoded. > --- > > Key: CASSANDRA-2257 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2257 > Project: Cassandra > Issue Type: Bug > Components: Core >Affects Versions: 0.7.2 >Reporter: Sébastien Giroux >Priority: Minor > > When running the following command: clustertool -h 127.0.0.1 get_endpoints > Wajam c7d0370b13083a330793082529c8ca1d > I get this exception: > Exception in thread "main" java.lang.RuntimeException: The provided key was > not UTF8 encoded. > at > org.apache.cassandra.dht.OrderPreservingPartitioner.getToken(OrderPreservingPartitioner.java:166) > at > org.apache.cassandra.dht.OrderPreservingPartitioner.getToken(OrderPreservingPartitioner.java:36) > at > org.apache.cassandra.service.StorageService.getNaturalEndpoints(StorageService.java:1466) > at > org.apache.cassandra.service.StorageService.getNaturalEndpoints(StorageService.java:1471) > 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:616) > at > com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:111) > at > com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:45) > at > com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:226) > at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:138) > at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:251) > at > com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:857) > at > com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:795) > at > javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1450) > at > javax.management.remote.rmi.RMIConnectionImpl.access$200(RMIConnectionImpl.java:90) > at > javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1285) > at > javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1383) > at > javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:807) > 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:616) > at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322) > at sun.rmi.transport.Transport$1.run(Transport.java:177) > 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:553) > at > sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:808) > at > sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:667) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) > at java.lang.Thread.run(Thread.java:636) > Caused by: java.nio.charset.MalformedInputException: Input length = 1 > at java.nio.charset.CoderResult.throwException(CoderResult.java:277) > at java.nio.charset.CharsetDecoder.decode(CharsetDecoder.java:798) > at > org.apache.cassandra.utils.ByteBufferUtil.string(ByteBufferUtil.java:124) > at > org.apache.cassandra.dht.OrderPreservingPartitioner.getToken(OrderPreservingPartitioner.java:162) > ... 33 more -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Created: (CASSANDRA-2257) clustertool get_endpoints - The provided key was not UTF8 encoded.
clustertool get_endpoints - The provided key was not UTF8 encoded. --- Key: CASSANDRA-2257 URL: https://issues.apache.org/jira/browse/CASSANDRA-2257 Project: Cassandra Issue Type: Bug Components: Core Affects Versions: 0.7.2 Reporter: Sébastien Giroux Priority: Minor Fix For: 0.7.4 When running the following command: clustertool -h 127.0.0.1 get_endpoints Wajam c7d0370b13083a330793082529c8ca1d I get this exception: Exception in thread "main" java.lang.RuntimeException: The provided key was not UTF8 encoded. at org.apache.cassandra.dht.OrderPreservingPartitioner.getToken(OrderPreservingPartitioner.java:166) at org.apache.cassandra.dht.OrderPreservingPartitioner.getToken(OrderPreservingPartitioner.java:36) at org.apache.cassandra.service.StorageService.getNaturalEndpoints(StorageService.java:1466) at org.apache.cassandra.service.StorageService.getNaturalEndpoints(StorageService.java:1471) 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:616) at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:111) at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:45) at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:226) at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:138) at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:251) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:857) at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:795) at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1450) at javax.management.remote.rmi.RMIConnectionImpl.access$200(RMIConnectionImpl.java:90) at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1285) at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1383) at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:807) 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:616) at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322) at sun.rmi.transport.Transport$1.run(Transport.java:177) 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:553) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:808) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:667) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:636) Caused by: java.nio.charset.MalformedInputException: Input length = 1 at java.nio.charset.CoderResult.throwException(CoderResult.java:277) at java.nio.charset.CharsetDecoder.decode(CharsetDecoder.java:798) at org.apache.cassandra.utils.ByteBufferUtil.string(ByteBufferUtil.java:124) at org.apache.cassandra.dht.OrderPreservingPartitioner.getToken(OrderPreservingPartitioner.java:162) ... 33 more -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
svn commit: r1075610 - /cassandra/trunk/build.xml
Author: eevans Date: Tue Mar 1 01:32:31 2011 New Revision: 1075610 URL: http://svn.apache.org/viewvc?rev=1075610&view=rev Log: compile CQL driver to separate jar Patch by eevans; reviewed by tjake for CASSANDRA-1848 Modified: cassandra/trunk/build.xml Modified: cassandra/trunk/build.xml URL: http://svn.apache.org/viewvc/cassandra/trunk/build.xml?rev=1075610&r1=1075609&r2=1075610&view=diff == --- cassandra/trunk/build.xml (original) +++ cassandra/trunk/build.xml Tue Mar 1 01:32:31 2011 @@ -36,6 +36,7 @@ + @@ -106,6 +107,7 @@ message="Not a source artifact, stopping here." /> + @@ -364,6 +366,11 @@ + + + + @@ -413,6 +420,18 @@ + + + + + + + + + +
svn commit: r1075609 - in /cassandra/trunk: ./ bin/ contrib/circuit/ contrib/circuit/bin/ contrib/javautils/ contrib/pig/ contrib/stress/ contrib/stress/bin/ contrib/word_count/ contrib/word_count/bin
Author: eevans Date: Tue Mar 1 01:32:16 2011 New Revision: 1075609 URL: http://svn.apache.org/viewvc?rev=1075609&view=rev Log: compile thrift generated classes to separate jar Patch by eevans; reviewed by tjake for CASSANDRA-1848 Modified: cassandra/trunk/bin/cassandra-cli.bat cassandra/trunk/bin/cassandra.bat cassandra/trunk/bin/cassandra.in.sh cassandra/trunk/bin/clustertool.bat cassandra/trunk/bin/json2sstable.bat cassandra/trunk/bin/nodetool.bat cassandra/trunk/bin/schematool.bat cassandra/trunk/bin/sstable2json.bat cassandra/trunk/bin/sstablekeys.bat cassandra/trunk/build.xml cassandra/trunk/contrib/circuit/bin/circuit cassandra/trunk/contrib/circuit/build.xml cassandra/trunk/contrib/javautils/build.xml cassandra/trunk/contrib/pig/build.xml cassandra/trunk/contrib/stress/bin/stress cassandra/trunk/contrib/stress/build.xml cassandra/trunk/contrib/word_count/bin/word_count cassandra/trunk/contrib/word_count/bin/word_count_setup cassandra/trunk/contrib/word_count/build.xml cassandra/trunk/test/cassandra.in.sh Modified: cassandra/trunk/bin/cassandra-cli.bat URL: http://svn.apache.org/viewvc/cassandra/trunk/bin/cassandra-cli.bat?rev=1075609&r1=1075608&r2=1075609&view=diff == --- cassandra/trunk/bin/cassandra-cli.bat (original) +++ cassandra/trunk/bin/cassandra-cli.bat Tue Mar 1 01:32:16 2011 @@ -34,7 +34,7 @@ goto :eof :okClasspath REM Include the build\classes\main directory so it works in development -set CASSANDRA_CLASSPATH=%CLASSPATH%;"%CASSANDRA_HOME%\build\classes\main" +set CASSANDRA_CLASSPATH=%CLASSPATH%;"%CASSANDRA_HOME%\build\classes\main";"%CASSANDRA_HOME%\build\classes\thrift" goto runCli :runCli Modified: cassandra/trunk/bin/cassandra.bat URL: http://svn.apache.org/viewvc/cassandra/trunk/bin/cassandra.bat?rev=1075609&r1=1075608&r2=1075609&view=diff == --- cassandra/trunk/bin/cassandra.bat (original) +++ cassandra/trunk/bin/cassandra.bat Tue Mar 1 01:32:16 2011 @@ -55,7 +55,7 @@ goto :eof :okClasspath REM Include the build\classes\main directory so it works in development -set CASSANDRA_CLASSPATH=%CLASSPATH%;"%CASSANDRA_HOME%\build\classes\main" +set CASSANDRA_CLASSPATH=%CLASSPATH%;"%CASSANDRA_HOME%\build\classes\main";"%CASSANDRA_HOME%\build\classes\thrift" set CASSANDRA_PARAMS=-Dcassandra -Dcassandra-foreground=yes goto runDaemon Modified: cassandra/trunk/bin/cassandra.in.sh URL: http://svn.apache.org/viewvc/cassandra/trunk/bin/cassandra.in.sh?rev=1075609&r1=1075608&r2=1075609&view=diff == --- cassandra/trunk/bin/cassandra.in.sh (original) +++ cassandra/trunk/bin/cassandra.in.sh Tue Mar 1 01:32:16 2011 @@ -27,6 +27,7 @@ fi # compiled classes. NOTE: This isn't needed by the startup script, # it's just used here in constructing the classpath. cassandra_bin=$CASSANDRA_HOME/build/classes/main +cassandra_bin=$cassandra_bin:$CASSANDRA_HOME/build/classes/thrift #cassandra_bin=$cassandra_home/build/cassandra.jar # JAVA_HOME can optionally be set here Modified: cassandra/trunk/bin/clustertool.bat URL: http://svn.apache.org/viewvc/cassandra/trunk/bin/clustertool.bat?rev=1075609&r1=1075608&r2=1075609&view=diff == --- cassandra/trunk/bin/clustertool.bat (original) +++ cassandra/trunk/bin/clustertool.bat Tue Mar 1 01:32:16 2011 @@ -41,7 +41,7 @@ goto :eof :okClasspath REM Include the build\classes\main directory so it works in development -set CASSANDRA_CLASSPATH=%CLASSPATH%;%CASSANDRA_HOME%\build\classes\main;%CASSANDRA_CONF% +set CASSANDRA_CLASSPATH=%CLASSPATH%;%CASSANDRA_HOME%\build\classes\main;%CASSANDRA_CONF%;%CASSANDRA_HOME%\build\classes\thrift set CASSANDRA_PARAMS= set TOOLS_PARAMS= Modified: cassandra/trunk/bin/json2sstable.bat URL: http://svn.apache.org/viewvc/cassandra/trunk/bin/json2sstable.bat?rev=1075609&r1=1075608&r2=1075609&view=diff == --- cassandra/trunk/bin/json2sstable.bat (original) +++ cassandra/trunk/bin/json2sstable.bat Tue Mar 1 01:32:16 2011 @@ -41,7 +41,7 @@ goto :eof :okClasspath REM Include the build\classes\main directory so it works in development -set CASSANDRA_CLASSPATH=%CLASSPATH%;%CASSANDRA_HOME%\build\classes\main;%CASSANDRA_CONF% +set CASSANDRA_CLASSPATH=%CLASSPATH%;%CASSANDRA_HOME%\build\classes\main;%CASSANDRA_CONF%;%CASSANDRA_HOME%\build\classes\thrift set CASSANDRA_PARAMS= set TOOLS_PARAMS= Modified: cassandra/trunk/bin/nodetool.bat URL: http://svn.apache.org/viewvc/cassandra/trunk/bin/nodetool.bat?rev=1075609&r1=1075608&r2=1075609&view=diff == --- cassandra/trunk/bin/nodet
svn commit: r1075608 - in /cassandra/trunk: ./ bin/ contrib/circuit/ contrib/circuit/bin/ contrib/client_only/ contrib/client_only/bin/ contrib/javautils/ contrib/pig/ contrib/stress/ contrib/stress/b
Author: eevans Date: Tue Mar 1 01:31:35 2011 New Revision: 1075608 URL: http://svn.apache.org/viewvc?rev=1075608&view=rev Log: compile bytecode to build/classes/main Patch by eevans; reviewed by tjake for CASSANDRA-1848 Modified: cassandra/trunk/bin/cassandra-cli.bat cassandra/trunk/bin/cassandra.bat cassandra/trunk/bin/cassandra.in.sh cassandra/trunk/bin/clustertool.bat cassandra/trunk/bin/json2sstable.bat cassandra/trunk/bin/nodetool.bat cassandra/trunk/bin/schematool.bat cassandra/trunk/bin/sstable2json.bat cassandra/trunk/bin/sstablekeys.bat cassandra/trunk/build.xml cassandra/trunk/contrib/circuit/bin/circuit cassandra/trunk/contrib/circuit/build.xml cassandra/trunk/contrib/client_only/bin/client_only cassandra/trunk/contrib/client_only/build.xml cassandra/trunk/contrib/javautils/build.xml cassandra/trunk/contrib/pig/build.xml cassandra/trunk/contrib/stress/bin/stress cassandra/trunk/contrib/stress/build.xml cassandra/trunk/contrib/word_count/bin/word_count cassandra/trunk/contrib/word_count/bin/word_count_setup cassandra/trunk/contrib/word_count/build.xml cassandra/trunk/test/cassandra.in.sh Modified: cassandra/trunk/bin/cassandra-cli.bat URL: http://svn.apache.org/viewvc/cassandra/trunk/bin/cassandra-cli.bat?rev=1075608&r1=1075607&r2=1075608&view=diff == --- cassandra/trunk/bin/cassandra-cli.bat (original) +++ cassandra/trunk/bin/cassandra-cli.bat Tue Mar 1 01:31:35 2011 @@ -33,8 +33,8 @@ set CLASSPATH=%CLASSPATH%;%1 goto :eof :okClasspath -REM Include the build\classes directory so it works in development -set CASSANDRA_CLASSPATH=%CLASSPATH%;"%CASSANDRA_HOME%\build\classes" +REM Include the build\classes\main directory so it works in development +set CASSANDRA_CLASSPATH=%CLASSPATH%;"%CASSANDRA_HOME%\build\classes\main" goto runCli :runCli Modified: cassandra/trunk/bin/cassandra.bat URL: http://svn.apache.org/viewvc/cassandra/trunk/bin/cassandra.bat?rev=1075608&r1=1075607&r2=1075608&view=diff == --- cassandra/trunk/bin/cassandra.bat (original) +++ cassandra/trunk/bin/cassandra.bat Tue Mar 1 01:31:35 2011 @@ -54,8 +54,8 @@ set CLASSPATH=%CLASSPATH%;%1 goto :eof :okClasspath -REM Include the build\classes directory so it works in development -set CASSANDRA_CLASSPATH=%CLASSPATH%;"%CASSANDRA_HOME%\build\classes" +REM Include the build\classes\main directory so it works in development +set CASSANDRA_CLASSPATH=%CLASSPATH%;"%CASSANDRA_HOME%\build\classes\main" set CASSANDRA_PARAMS=-Dcassandra -Dcassandra-foreground=yes goto runDaemon Modified: cassandra/trunk/bin/cassandra.in.sh URL: http://svn.apache.org/viewvc/cassandra/trunk/bin/cassandra.in.sh?rev=1075608&r1=1075607&r2=1075608&view=diff == --- cassandra/trunk/bin/cassandra.in.sh (original) +++ cassandra/trunk/bin/cassandra.in.sh Tue Mar 1 01:31:35 2011 @@ -26,7 +26,7 @@ fi # This can be the path to a jar file, or a directory containing the # compiled classes. NOTE: This isn't needed by the startup script, # it's just used here in constructing the classpath. -cassandra_bin=$CASSANDRA_HOME/build/classes +cassandra_bin=$CASSANDRA_HOME/build/classes/main #cassandra_bin=$cassandra_home/build/cassandra.jar # JAVA_HOME can optionally be set here Modified: cassandra/trunk/bin/clustertool.bat URL: http://svn.apache.org/viewvc/cassandra/trunk/bin/clustertool.bat?rev=1075608&r1=1075607&r2=1075608&view=diff == --- cassandra/trunk/bin/clustertool.bat (original) +++ cassandra/trunk/bin/clustertool.bat Tue Mar 1 01:31:35 2011 @@ -40,8 +40,8 @@ set CLASSPATH=%CLASSPATH%;%1%2 goto :eof :okClasspath -REM Include the build\classes directory so it works in development -set CASSANDRA_CLASSPATH=%CLASSPATH%;%CASSANDRA_HOME%\build\classes;%CASSANDRA_CONF% +REM Include the build\classes\main directory so it works in development +set CASSANDRA_CLASSPATH=%CLASSPATH%;%CASSANDRA_HOME%\build\classes\main;%CASSANDRA_CONF% set CASSANDRA_PARAMS= set TOOLS_PARAMS= Modified: cassandra/trunk/bin/json2sstable.bat URL: http://svn.apache.org/viewvc/cassandra/trunk/bin/json2sstable.bat?rev=1075608&r1=1075607&r2=1075608&view=diff == --- cassandra/trunk/bin/json2sstable.bat (original) +++ cassandra/trunk/bin/json2sstable.bat Tue Mar 1 01:31:35 2011 @@ -40,8 +40,8 @@ set CLASSPATH=%CLASSPATH%;%1%2 goto :eof :okClasspath -REM Include the build\classes directory so it works in development -set CASSANDRA_CLASSPATH=%CLASSPATH%;%CASSANDRA_HOME%\build\classes;%CASSANDRA_CONF% +REM Include the build\classes\main directory so it works in development +set CASSANDRA_CLASSPATH=%CLASSPATH%
[jira] Commented: (CASSANDRA-1848) Separate thrift and avro classes from cassandra's jar
[ https://issues.apache.org/jira/browse/CASSANDRA-1848?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13000649#comment-13000649 ] T Jake Luciani commented on CASSANDRA-1848: --- I realize I missed the point here. ignore my previous comment. +1 > Separate thrift and avro classes from cassandra's jar > - > > Key: CASSANDRA-1848 > URL: https://issues.apache.org/jira/browse/CASSANDRA-1848 > Project: Cassandra > Issue Type: Improvement > Components: Packaging >Affects Versions: 0.7.0 rc 2 >Reporter: Tristan Tarrant >Assignee: Eric Evans >Priority: Trivial > Fix For: 0.8 > > Attachments: CASSANDRA-1848.patch, CASSANDRA-1848_with_hadoop.patch, > v1-0001-CASSANDRA-1848-compile-bytecode-to-build-classes-main.txt, > v1-0002-compile-thrift-generated-classes-to-separate-jar.txt, > v1-0003-compile-CQL-driver-to-separate-jar.txt > > Original Estimate: 0h > Remaining Estimate: 0h > > Most client applications written in Java include the full > apache-cassandra-x.y.z.jar in their classpath. I propose to separate the avro > and thrift classes into separate jars. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Assigned: (CASSANDRA-2255) ColumnFamilyOutputFormat drops mutations when batches fill up.
[ https://issues.apache.org/jira/browse/CASSANDRA-2255?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jeremy Hanna reassigned CASSANDRA-2255: --- Assignee: Jeremy Hanna > ColumnFamilyOutputFormat drops mutations when batches fill up. > -- > > Key: CASSANDRA-2255 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2255 > Project: Cassandra > Issue Type: Bug > Components: Hadoop >Affects Versions: 0.7.2, 0.8 >Reporter: Eldon Stegall >Assignee: Jeremy Hanna > Attachments: 0001_Stop_dropping_mutations.txt, 2255-patch-2.txt > > > queue.poll() takes a mutation, > but then the batch is already full, > so the while loop exits, ant the mutation we just got is dropped. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (CASSANDRA-2240) nodetool scrub hangs or throws an exception
[ https://issues.apache.org/jira/browse/CASSANDRA-2240?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13000635#comment-13000635 ] Sébastien Giroux commented on CASSANDRA-2240: - Jonathan, I'm pretty positive I'm running into CASSANDRA-2216. Applied the patch and still having the same exception, maybe this is related to CASSANDRA-2256 ? ERROR 00:51:55,214 Fatal exception in thread Thread[CompactionExecutor:1,1,main] java.io.EOFException at java.io.RandomAccessFile.readFully(RandomAccessFile.java:416) at java.io.RandomAccessFile.readFully(RandomAccessFile.java:394) at org.apache.cassandra.io.util.BufferedRandomAccessFile.readBytes(BufferedRandomAccessFile.java:268) at org.apache.cassandra.utils.ByteBufferUtil.read(ByteBufferUtil.java:310) at org.apache.cassandra.utils.ByteBufferUtil.readWithShortLength(ByteBufferUtil.java:284) at org.apache.cassandra.db.CompactionManager.doScrub(CompactionManager.java:541) at org.apache.cassandra.db.CompactionManager.access$600(CompactionManager.java:56) at org.apache.cassandra.db.CompactionManager$3.call(CompactionManager.java:195) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:636) > nodetool scrub hangs or throws an exception > --- > > Key: CASSANDRA-2240 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2240 > Project: Cassandra > Issue Type: Bug > Components: Tools >Affects Versions: 0.7.3 > Environment: using build #314 from hudson >Reporter: Yaniv Kunda >Assignee: Jonathan Ellis > Fix For: 0.7.4 > > Attachments: 2240.txt, exception2.txt, jstack1.txt, > signatureBuckets-f-104.tar.gz, system.log.2.gz, system.log.gz, > test-0.6.x-tables.tar.gz, userChannelFilter-f-210.tar.gz > > > trying to run nodetool scrub hung or (only happened one time) threw the > following exception: > ERROR [CompactionExecutor:1] 2011-02-28 10:26:26,620 > AbstractCassandraDaemon.java (line 114) Fatal exception in thread > Thread[CompactionExecutor:1,1,main] > java.lang.AssertionError > at > org.apache.cassandra.dht.RandomPartitioner.convertFromDiskFormat(RandomPartitioner.java:62) > at > org.apache.cassandra.io.sstable.SSTableReader.decodeKey(SSTableReader.java:627) > at > org.apache.cassandra.db.CompactionManager.doScrub(CompactionManager.java:538) > at > org.apache.cassandra.db.CompactionManager.access$600(CompactionManager.java:55) > at > org.apache.cassandra.db.CompactionManager$3.call(CompactionManager.java:194) > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) > at java.util.concurrent.FutureTask.run(FutureTask.java:166) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) > at java.lang.Thread.run(Thread.java:636) -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Updated: (CASSANDRA-2255) ColumnFamilyOutputFormat drops mutations when batches fill up.
[ https://issues.apache.org/jira/browse/CASSANDRA-2255?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jeremy Hanna updated CASSANDRA-2255: Attachment: 2255-patch-2.txt > ColumnFamilyOutputFormat drops mutations when batches fill up. > -- > > Key: CASSANDRA-2255 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2255 > Project: Cassandra > Issue Type: Bug > Components: Hadoop >Affects Versions: 0.7.2, 0.8 >Reporter: Eldon Stegall > Attachments: 0001_Stop_dropping_mutations.txt, 2255-patch-2.txt > > > queue.poll() takes a mutation, > but then the batch is already full, > so the while loop exits, ant the mutation we just got is dropped. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Updated: (CASSANDRA-2255) ColumnFamilyOutputFormat drops mutations when batches fill up.
[ https://issues.apache.org/jira/browse/CASSANDRA-2255?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jeremy Hanna updated CASSANDRA-2255: Attachment: 2255-patch-2.txt > ColumnFamilyOutputFormat drops mutations when batches fill up. > -- > > Key: CASSANDRA-2255 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2255 > Project: Cassandra > Issue Type: Bug > Components: Hadoop >Affects Versions: 0.7.2, 0.8 >Reporter: Eldon Stegall > Attachments: 0001_Stop_dropping_mutations.txt > > > queue.poll() takes a mutation, > but then the batch is already full, > so the while loop exits, ant the mutation we just got is dropped. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Updated: (CASSANDRA-2255) ColumnFamilyOutputFormat drops mutations when batches fill up.
[ https://issues.apache.org/jira/browse/CASSANDRA-2255?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jeremy Hanna updated CASSANDRA-2255: Attachment: (was: 2255-patch-2.txt) > ColumnFamilyOutputFormat drops mutations when batches fill up. > -- > > Key: CASSANDRA-2255 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2255 > Project: Cassandra > Issue Type: Bug > Components: Hadoop >Affects Versions: 0.7.2, 0.8 >Reporter: Eldon Stegall > Attachments: 0001_Stop_dropping_mutations.txt > > > queue.poll() takes a mutation, > but then the batch is already full, > so the while loop exits, ant the mutation we just got is dropped. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (CASSANDRA-2253) Gossiper Starvation
[ https://issues.apache.org/jira/browse/CASSANDRA-2253?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13000615#comment-13000615 ] Hudson commented on CASSANDRA-2253: --- Integrated in Cassandra-0.7 #333 (See [https://hudson.apache.org/hudson/job/Cassandra-0.7/333/]) movefile deletions off of scheduledtasks executor patch by Mikael Sitruk; reviewed by jbellis for CASSANDRA-2253 > Gossiper Starvation > --- > > Key: CASSANDRA-2253 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2253 > Project: Cassandra > Issue Type: Bug > Components: Core >Affects Versions: 0.7.0 > Environment: linux, windows >Reporter: Mikael Sitruk >Assignee: Mikael Sitruk > Fix For: 0.7.4 > > Attachments: CASSANDRA-0.7-2253.txt > > Original Estimate: 2h > Remaining Estimate: 2h > > Gossiper periodic task will get into starvation in case large sstable files > need to be deleted. > Indeed the SSTableDeletingReference uses the same scheduledTasks pool (from > StorageService) as the Gossiper and other periodic tasks, but the gossiper > tasks should run each second to assure correct cluster status (liveness of > nodes). In case of large sstable files to be deleted (several GB) the delete > operation can take more than 30 sec, thus making the whole cluster going into > a wrong state where nodes are marked as not living while they are! > This will lead to unneeded additional load like hinted hand off, wrong > cluster state, increase in latency. > One of the possible solution is to use a separate pool for periodic and non > periodic tasks. > I've implemented such change and it resolves the problem. > I can provide a patch -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Updated: (CASSANDRA-2253) Gossiper Starvation
[ https://issues.apache.org/jira/browse/CASSANDRA-2253?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Ellis updated CASSANDRA-2253: -- Affects Version/s: (was: 0.7.2) (was: 0.7.1) Fix Version/s: (was: 0.7.0) 0.7.4 > Gossiper Starvation > --- > > Key: CASSANDRA-2253 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2253 > Project: Cassandra > Issue Type: Bug > Components: Core >Affects Versions: 0.7.0 > Environment: linux, windows >Reporter: Mikael Sitruk > Fix For: 0.7.4 > > Attachments: CASSANDRA-0.7-2253.txt > > Original Estimate: 2h > Remaining Estimate: 2h > > Gossiper periodic task will get into starvation in case large sstable files > need to be deleted. > Indeed the SSTableDeletingReference uses the same scheduledTasks pool (from > StorageService) as the Gossiper and other periodic tasks, but the gossiper > tasks should run each second to assure correct cluster status (liveness of > nodes). In case of large sstable files to be deleted (several GB) the delete > operation can take more than 30 sec, thus making the whole cluster going into > a wrong state where nodes are marked as not living while they are! > This will lead to unneeded additional load like hinted hand off, wrong > cluster state, increase in latency. > One of the possible solution is to use a separate pool for periodic and non > periodic tasks. > I've implemented such change and it resolves the problem. > I can provide a patch -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
svn commit: r1075594 - in /cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra: io/sstable/SSTableDeletingReference.java service/StorageService.java
Author: jbellis Date: Mon Feb 28 23:50:09 2011 New Revision: 1075594 URL: http://svn.apache.org/viewvc?rev=1075594&view=rev Log: movefile deletions off of scheduledtasks executor patch by Mikael Sitruk; reviewed by jbellis for CASSANDRA-2253 Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/io/sstable/SSTableDeletingReference.java cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/StorageService.java Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/io/sstable/SSTableDeletingReference.java URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/io/sstable/SSTableDeletingReference.java?rev=1075594&r1=1075593&r2=1075594&view=diff == --- cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/io/sstable/SSTableDeletingReference.java (original) +++ cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/io/sstable/SSTableDeletingReference.java Mon Feb 28 23:50:09 2011 @@ -67,7 +67,7 @@ public class SSTableDeletingReference ex // this is tricky because the mmapping might not have been finalized yet, // and delete will fail (on Windows) until it is. additionally, we need to make sure to // delete the data file first, so on restart the others will be recognized as GCable -StorageService.scheduledTasks.schedule(new CleanupTask(), RETRY_DELAY, TimeUnit.MILLISECONDS); +StorageService.tasks.schedule(new CleanupTask(), RETRY_DELAY, TimeUnit.MILLISECONDS); } } @@ -83,7 +83,7 @@ public class SSTableDeletingReference ex { if (attempts++ < DeletionService.MAX_RETRIES) { -StorageService.scheduledTasks.schedule(this, RETRY_DELAY, TimeUnit.MILLISECONDS); +StorageService.tasks.schedule(this, RETRY_DELAY, TimeUnit.MILLISECONDS); return; } else Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/StorageService.java URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/StorageService.java?rev=1075594&r1=1075593&r2=1075594&view=diff == --- cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/StorageService.java (original) +++ cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/StorageService.java Mon Feb 28 23:50:09 2011 @@ -146,7 +146,16 @@ public class StorageService implements I }}; -public static final RetryingScheduledThreadPoolExecutor scheduledTasks = new RetryingScheduledThreadPoolExecutor("ScheduledTasks"); +/** + * This pool is used for periodic short time execution tasks. + */ + public static final RetryingScheduledThreadPoolExecutor scheduledTasks = new RetryingScheduledThreadPoolExecutor("ScheduledTasks"); + +/** + * This pool is used by tasks that can have long execution, (and usually are non periodic). + */ +public static final RetryingScheduledThreadPoolExecutor tasks = new RetryingScheduledThreadPoolExecutor("NonPeriodicTasks"); + /* This abstraction maintains the token/endpoint metadata information */ private TokenMetadata tokenMetadata_ = new TokenMetadata();
[jira] Commented: (CASSANDRA-2255) ColumnFamilyOutputFormat drops mutations when batches fill up.
[ https://issues.apache.org/jira/browse/CASSANDRA-2255?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13000608#comment-13000608 ] Jonathan Ellis commented on CASSANDRA-2255: --- reverted > ColumnFamilyOutputFormat drops mutations when batches fill up. > -- > > Key: CASSANDRA-2255 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2255 > Project: Cassandra > Issue Type: Bug > Components: Hadoop >Affects Versions: 0.7.2, 0.8 >Reporter: Eldon Stegall > Attachments: 0001_Stop_dropping_mutations.txt > > > queue.poll() takes a mutation, > but then the batch is already full, > so the while loop exits, ant the mutation we just got is dropped. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
svn commit: r1075592 - /cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordWriter.java
Author: jbellis Date: Mon Feb 28 23:42:38 2011 New Revision: 1075592 URL: http://svn.apache.org/viewvc?rev=1075592&view=rev Log: revert r1075543 Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordWriter.java Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordWriter.java URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordWriter.java?rev=1075592&r1=1075591&r2=1075592&view=diff == --- cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordWriter.java (original) +++ cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordWriter.java Mon Feb 28 23:42:38 2011 @@ -325,7 +325,7 @@ implements org.apache.hadoop.mapred.Reco } Map>> batch = new HashMap>>(); -while (batch.size() < batchThreshold || mutation != null) +while (batch.size() < batchThreshold) { Map> subBatch = batch.get(mutation.left); if (subBatch == null) @@ -335,7 +335,6 @@ implements org.apache.hadoop.mapred.Reco } subBatch.get(columnFamily).add(mutation.right); -mutation = null; if ((mutation = queue.poll()) == null) break; }
[jira] Commented: (CASSANDRA-2240) nodetool scrub hangs or throws an exception
[ https://issues.apache.org/jira/browse/CASSANDRA-2240?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13000602#comment-13000602 ] Jonathan Ellis commented on CASSANDRA-2240: --- Sebastien, go ahead and try scrub after rebuilding w/ the newest patch. But if your example is like the others, you're seeing something other than the CASSANDRA-2211/CASSANDRA-2216 corruption that scrub is intended to deal with. So far the only suggestion I have to track that down is to start over and run with snapshot_before_compaction turned on in cassandra.yaml, so when a corrupt sstable is generated we will know where it came from. > nodetool scrub hangs or throws an exception > --- > > Key: CASSANDRA-2240 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2240 > Project: Cassandra > Issue Type: Bug > Components: Tools >Affects Versions: 0.7.3 > Environment: using build #314 from hudson >Reporter: Yaniv Kunda >Assignee: Jonathan Ellis > Fix For: 0.7.4 > > Attachments: 2240.txt, exception2.txt, jstack1.txt, > signatureBuckets-f-104.tar.gz, system.log.2.gz, system.log.gz, > test-0.6.x-tables.tar.gz, userChannelFilter-f-210.tar.gz > > > trying to run nodetool scrub hung or (only happened one time) threw the > following exception: > ERROR [CompactionExecutor:1] 2011-02-28 10:26:26,620 > AbstractCassandraDaemon.java (line 114) Fatal exception in thread > Thread[CompactionExecutor:1,1,main] > java.lang.AssertionError > at > org.apache.cassandra.dht.RandomPartitioner.convertFromDiskFormat(RandomPartitioner.java:62) > at > org.apache.cassandra.io.sstable.SSTableReader.decodeKey(SSTableReader.java:627) > at > org.apache.cassandra.db.CompactionManager.doScrub(CompactionManager.java:538) > at > org.apache.cassandra.db.CompactionManager.access$600(CompactionManager.java:55) > at > org.apache.cassandra.db.CompactionManager$3.call(CompactionManager.java:194) > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) > at java.util.concurrent.FutureTask.run(FutureTask.java:166) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) > at java.lang.Thread.run(Thread.java:636) -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Updated: (CASSANDRA-2240) nodetool scrub hangs or throws an exception
[ https://issues.apache.org/jira/browse/CASSANDRA-2240?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Ellis updated CASSANDRA-2240: -- Attachment: 2240.txt Patch to make scrub less crashy. It still can't magically fix severely corrupted files like the exhibits here, though. > nodetool scrub hangs or throws an exception > --- > > Key: CASSANDRA-2240 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2240 > Project: Cassandra > Issue Type: Bug > Components: Tools >Affects Versions: 0.7.3 > Environment: using build #314 from hudson >Reporter: Yaniv Kunda >Assignee: Jonathan Ellis > Fix For: 0.7.4 > > Attachments: 2240.txt, exception2.txt, jstack1.txt, > signatureBuckets-f-104.tar.gz, system.log.2.gz, system.log.gz, > test-0.6.x-tables.tar.gz, userChannelFilter-f-210.tar.gz > > > trying to run nodetool scrub hung or (only happened one time) threw the > following exception: > ERROR [CompactionExecutor:1] 2011-02-28 10:26:26,620 > AbstractCassandraDaemon.java (line 114) Fatal exception in thread > Thread[CompactionExecutor:1,1,main] > java.lang.AssertionError > at > org.apache.cassandra.dht.RandomPartitioner.convertFromDiskFormat(RandomPartitioner.java:62) > at > org.apache.cassandra.io.sstable.SSTableReader.decodeKey(SSTableReader.java:627) > at > org.apache.cassandra.db.CompactionManager.doScrub(CompactionManager.java:538) > at > org.apache.cassandra.db.CompactionManager.access$600(CompactionManager.java:55) > at > org.apache.cassandra.db.CompactionManager$3.call(CompactionManager.java:194) > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) > at java.util.concurrent.FutureTask.run(FutureTask.java:166) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) > at java.lang.Thread.run(Thread.java:636) -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Updated: (CASSANDRA-2253) Gossiper Starvation
[ https://issues.apache.org/jira/browse/CASSANDRA-2253?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Mikael Sitruk updated CASSANDRA-2253: - Attachment: CASSANDRA-0.7-2253.txt patch for bug 2253, Gossip starvation > Gossiper Starvation > --- > > Key: CASSANDRA-2253 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2253 > Project: Cassandra > Issue Type: Bug > Components: Core >Affects Versions: 0.7.0, 0.7.1, 0.7.2 > Environment: linux, windows >Reporter: Mikael Sitruk > Fix For: 0.7.0 > > Attachments: CASSANDRA-0.7-2253.txt > > Original Estimate: 2h > Remaining Estimate: 2h > > Gossiper periodic task will get into starvation in case large sstable files > need to be deleted. > Indeed the SSTableDeletingReference uses the same scheduledTasks pool (from > StorageService) as the Gossiper and other periodic tasks, but the gossiper > tasks should run each second to assure correct cluster status (liveness of > nodes). In case of large sstable files to be deleted (several GB) the delete > operation can take more than 30 sec, thus making the whole cluster going into > a wrong state where nodes are marked as not living while they are! > This will lead to unneeded additional load like hinted hand off, wrong > cluster state, increase in latency. > One of the possible solution is to use a separate pool for periodic and non > periodic tasks. > I've implemented such change and it resolves the problem. > I can provide a patch -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (CASSANDRA-2255) ColumnFamilyOutputFormat drops mutations when batches fill up.
[ https://issues.apache.org/jira/browse/CASSANDRA-2255?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13000589#comment-13000589 ] Jonathan Ellis commented on CASSANDRA-2255: --- also: the mutation = null; line is dead code. > ColumnFamilyOutputFormat drops mutations when batches fill up. > -- > > Key: CASSANDRA-2255 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2255 > Project: Cassandra > Issue Type: Bug > Components: Hadoop >Affects Versions: 0.7.2, 0.8 >Reporter: Eldon Stegall > Attachments: 0001_Stop_dropping_mutations.txt > > > queue.poll() takes a mutation, > but then the batch is already full, > so the while loop exits, ant the mutation we just got is dropped. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Reopened: (CASSANDRA-2255) ColumnFamilyOutputFormat drops mutations when batches fill up.
[ https://issues.apache.org/jira/browse/CASSANDRA-2255?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Ellis reopened CASSANDRA-2255: --- Doesn't this mean batch sizes can be arbitrarily large? Not only will this cause latency spikes on the server but you could OOM building the monster batch. > ColumnFamilyOutputFormat drops mutations when batches fill up. > -- > > Key: CASSANDRA-2255 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2255 > Project: Cassandra > Issue Type: Bug > Components: Hadoop >Affects Versions: 0.7.2, 0.8 >Reporter: Eldon Stegall > Attachments: 0001_Stop_dropping_mutations.txt > > > queue.poll() takes a mutation, > but then the batch is already full, > so the while loop exits, ant the mutation we just got is dropped. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (CASSANDRA-2093) add countercolumn support to SSTableExport
[ https://issues.apache.org/jira/browse/CASSANDRA-2093?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13000565#comment-13000565 ] Hudson commented on CASSANDRA-2093: --- Integrated in Cassandra #749 (See [https://hudson.apache.org/hudson/job/Cassandra/749/]) > add countercolumn support to SSTableExport > -- > > Key: CASSANDRA-2093 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2093 > Project: Cassandra > Issue Type: New Feature >Reporter: Jonathan Ellis >Assignee: Sylvain Lebresne >Priority: Minor > Fix For: 0.8 > > Attachments: 0001-Support-counter-in-SSTable-import-export.patch > > Original Estimate: 4h > Remaining Estimate: 4h > -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (CASSANDRA-2255) ColumnFamilyOutputFormat drops mutations when batches fill up.
[ https://issues.apache.org/jira/browse/CASSANDRA-2255?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13000549#comment-13000549 ] Hudson commented on CASSANDRA-2255: --- Integrated in Cassandra-0.7 #332 (See [https://hudson.apache.org/hudson/job/Cassandra-0.7/332/]) CFRW no longer loses mutations. Patch by Eldon Stegall, reviewed by Stu Hood and brandonwilliams for CASSANDRA-2255 > ColumnFamilyOutputFormat drops mutations when batches fill up. > -- > > Key: CASSANDRA-2255 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2255 > Project: Cassandra > Issue Type: Bug > Components: Hadoop >Affects Versions: 0.7.2, 0.8 >Reporter: Eldon Stegall > Attachments: 0001_Stop_dropping_mutations.txt > > > queue.poll() takes a mutation, > but then the batch is already full, > so the while loop exits, ant the mutation we just got is dropped. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (CASSANDRA-1848) Separate thrift and avro classes from cassandra's jar
[ https://issues.apache.org/jira/browse/CASSANDRA-1848?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13000546#comment-13000546 ] T Jake Luciani commented on CASSANDRA-1848: --- Looks like a sane approach Would it be possible to put o.a.c.thrift and o.a.c.cql under their respective jars too? > Separate thrift and avro classes from cassandra's jar > - > > Key: CASSANDRA-1848 > URL: https://issues.apache.org/jira/browse/CASSANDRA-1848 > Project: Cassandra > Issue Type: Improvement > Components: Packaging >Affects Versions: 0.7.0 rc 2 >Reporter: Tristan Tarrant >Assignee: Eric Evans >Priority: Trivial > Fix For: 0.8 > > Attachments: CASSANDRA-1848.patch, CASSANDRA-1848_with_hadoop.patch, > v1-0001-CASSANDRA-1848-compile-bytecode-to-build-classes-main.txt, > v1-0002-compile-thrift-generated-classes-to-separate-jar.txt, > v1-0003-compile-CQL-driver-to-separate-jar.txt > > Original Estimate: 0h > Remaining Estimate: 0h > > Most client applications written in Java include the full > apache-cassandra-x.y.z.jar in their classpath. I propose to separate the avro > and thrift classes into separate jars. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (CASSANDRA-2240) nodetool scrub hangs or throws an exception
[ https://issues.apache.org/jira/browse/CASSANDRA-2240?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13000538#comment-13000538 ] Sébastien Giroux commented on CASSANDRA-2240: - I have a 71MB SS table that scrub fail to fix so maybe you would be interested in having it ? There is private data in there so I could upload it somewhere so only you can download it. Let me know how we can work together. Thank you! > nodetool scrub hangs or throws an exception > --- > > Key: CASSANDRA-2240 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2240 > Project: Cassandra > Issue Type: Bug > Components: Tools >Affects Versions: 0.7.3 > Environment: using build #314 from hudson >Reporter: Yaniv Kunda >Assignee: Jonathan Ellis > Fix For: 0.7.4 > > Attachments: exception2.txt, jstack1.txt, > signatureBuckets-f-104.tar.gz, system.log.2.gz, system.log.gz, > test-0.6.x-tables.tar.gz, userChannelFilter-f-210.tar.gz > > > trying to run nodetool scrub hung or (only happened one time) threw the > following exception: > ERROR [CompactionExecutor:1] 2011-02-28 10:26:26,620 > AbstractCassandraDaemon.java (line 114) Fatal exception in thread > Thread[CompactionExecutor:1,1,main] > java.lang.AssertionError > at > org.apache.cassandra.dht.RandomPartitioner.convertFromDiskFormat(RandomPartitioner.java:62) > at > org.apache.cassandra.io.sstable.SSTableReader.decodeKey(SSTableReader.java:627) > at > org.apache.cassandra.db.CompactionManager.doScrub(CompactionManager.java:538) > at > org.apache.cassandra.db.CompactionManager.access$600(CompactionManager.java:55) > at > org.apache.cassandra.db.CompactionManager$3.call(CompactionManager.java:194) > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) > at java.util.concurrent.FutureTask.run(FutureTask.java:166) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) > at java.lang.Thread.run(Thread.java:636) -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
svn commit: r1075543 - /cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordWriter.java
Author: brandonwilliams Date: Mon Feb 28 21:32:08 2011 New Revision: 1075543 URL: http://svn.apache.org/viewvc?rev=1075543&view=rev Log: CFRW no longer loses mutations. Patch by Eldon Stegall, reviewed by Stu Hood and brandonwilliams for CASSANDRA-2255 Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordWriter.java Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordWriter.java URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordWriter.java?rev=1075543&r1=1075542&r2=1075543&view=diff == --- cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordWriter.java (original) +++ cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/hadoop/ColumnFamilyRecordWriter.java Mon Feb 28 21:32:08 2011 @@ -325,7 +325,7 @@ implements org.apache.hadoop.mapred.Reco } Map>> batch = new HashMap>>(); -while (batch.size() < batchThreshold) +while (batch.size() < batchThreshold || mutation != null) { Map> subBatch = batch.get(mutation.left); if (subBatch == null) @@ -335,6 +335,7 @@ implements org.apache.hadoop.mapred.Reco } subBatch.get(columnFamily).add(mutation.right); +mutation = null; if ((mutation = queue.poll()) == null) break; }
[jira] Created: (CASSANDRA-2256) BRAF assertion error
BRAF assertion error Key: CASSANDRA-2256 URL: https://issues.apache.org/jira/browse/CASSANDRA-2256 Project: Cassandra Issue Type: Bug Components: Core Affects Versions: 0.7.3 Reporter: Jonathan Ellis Assignee: Jonathan Ellis Fix For: 0.7.3 While investigating CASSANDRA-2240 I ran into this: {noformat} java.lang.AssertionError at org.apache.cassandra.io.util.BufferedRandomAccessFile.read(BufferedRandomAccessFile.java\ :230) at java.io.RandomAccessFile.readByte(RandomAccessFile.java:589) at org.apache.cassandra.utils.ByteBufferUtil.readShortLength(ByteBufferUtil.java:273) at org.apache.cassandra.utils.ByteBufferUtil.readWithShortLength(ByteBufferUtil.java:284) at org.apache.cassandra.db.CompactionManager.doScrub(CompactionManager.java:539) {noformat} -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Updated: (CASSANDRA-2255) ColumnFamilyOutputFormat drops mutations when batches fill up.
[ https://issues.apache.org/jira/browse/CASSANDRA-2255?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Eldon Stegall updated CASSANDRA-2255: - Reviewer: stuhood > ColumnFamilyOutputFormat drops mutations when batches fill up. > -- > > Key: CASSANDRA-2255 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2255 > Project: Cassandra > Issue Type: Bug > Components: Hadoop >Affects Versions: 0.7.2, 0.8 >Reporter: Eldon Stegall > Attachments: 0001_Stop_dropping_mutations.txt > > > queue.poll() takes a mutation, > but then the batch is already full, > so the while loop exits, ant the mutation we just got is dropped. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (CASSANDRA-2240) nodetool scrub hangs or throws an exception
[ https://issues.apache.org/jira/browse/CASSANDRA-2240?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13000522#comment-13000522 ] Jonathan Ellis commented on CASSANDRA-2240: --- Looked at userChannelFilter-f-210.tar.gz. Data file does not match index even a little. Scrub can't help there. > nodetool scrub hangs or throws an exception > --- > > Key: CASSANDRA-2240 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2240 > Project: Cassandra > Issue Type: Bug > Components: Tools >Affects Versions: 0.7.3 > Environment: using build #314 from hudson >Reporter: Yaniv Kunda >Assignee: Jonathan Ellis > Fix For: 0.7.4 > > Attachments: exception2.txt, jstack1.txt, > signatureBuckets-f-104.tar.gz, system.log.2.gz, system.log.gz, > test-0.6.x-tables.tar.gz, userChannelFilter-f-210.tar.gz > > > trying to run nodetool scrub hung or (only happened one time) threw the > following exception: > ERROR [CompactionExecutor:1] 2011-02-28 10:26:26,620 > AbstractCassandraDaemon.java (line 114) Fatal exception in thread > Thread[CompactionExecutor:1,1,main] > java.lang.AssertionError > at > org.apache.cassandra.dht.RandomPartitioner.convertFromDiskFormat(RandomPartitioner.java:62) > at > org.apache.cassandra.io.sstable.SSTableReader.decodeKey(SSTableReader.java:627) > at > org.apache.cassandra.db.CompactionManager.doScrub(CompactionManager.java:538) > at > org.apache.cassandra.db.CompactionManager.access$600(CompactionManager.java:55) > at > org.apache.cassandra.db.CompactionManager$3.call(CompactionManager.java:194) > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) > at java.util.concurrent.FutureTask.run(FutureTask.java:166) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) > at java.lang.Thread.run(Thread.java:636) -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
buildbot success in ASF Buildbot on cassandra-trunk
The Buildbot has detected a restored build of cassandra-trunk on ASF Buildbot. Full details are available at: http://ci.apache.org/builders/cassandra-trunk/builds/1064 Buildbot URL: http://ci.apache.org/ Buildslave for this Build: isis_ubuntu Build Reason: Build Source Stamp: [branch cassandra/trunk] 1075536 Blamelist: jbellis Build succeeded! sincerely, -The Buildbot
[jira] Updated: (CASSANDRA-2255) ColumnFamilyOutputFormat drops mutations when batches fill up.
[ https://issues.apache.org/jira/browse/CASSANDRA-2255?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Eldon Stegall updated CASSANDRA-2255: - Attachment: 0001_Stop_dropping_mutations.txt Should apply cleanly to 0.7.0 tag > ColumnFamilyOutputFormat drops mutations when batches fill up. > -- > > Key: CASSANDRA-2255 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2255 > Project: Cassandra > Issue Type: Bug > Components: Hadoop >Affects Versions: 0.7.2, 0.8 >Reporter: Eldon Stegall > Attachments: 0001_Stop_dropping_mutations.txt > > > queue.poll() takes a mutation, > but then the batch is already full, > so the while loop exits, ant the mutation we just got is dropped. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
svn commit: r1075536 - in /cassandra/trunk/test/resources: CounterCF.json SimpleCF.oldformat.json
Author: jbellis Date: Mon Feb 28 21:22:48 2011 New Revision: 1075536 URL: http://svn.apache.org/viewvc?rev=1075536&view=rev Log: add missing resources Added: cassandra/trunk/test/resources/CounterCF.json cassandra/trunk/test/resources/SimpleCF.oldformat.json Added: cassandra/trunk/test/resources/CounterCF.json URL: http://svn.apache.org/viewvc/cassandra/trunk/test/resources/CounterCF.json?rev=1075536&view=auto == --- cassandra/trunk/test/resources/CounterCF.json (added) +++ cassandra/trunk/test/resources/CounterCF.json Mon Feb 28 21:22:48 2011 @@ -0,0 +1,3 @@ +{ + "726f7741": [["636f6c4141", "7f010001002a", 1294532915068, "c", 0]] +} Added: cassandra/trunk/test/resources/SimpleCF.oldformat.json URL: http://svn.apache.org/viewvc/cassandra/trunk/test/resources/SimpleCF.oldformat.json?rev=1075536&view=auto == --- cassandra/trunk/test/resources/SimpleCF.oldformat.json (added) +++ cassandra/trunk/test/resources/SimpleCF.oldformat.json Mon Feb 28 21:22:48 2011 @@ -0,0 +1,4 @@ +{ + "726f7741": [["636f6c4141", "76616c4141", 1294532915068, false], ["636f6c4142", "76616c4142", 1294532915069, false], ["636f6c4143", "76616c4143", 1294532915071, false, 42, 20 ]], + "726f7742": [["636f6c4241", "76616c4241", 1294532915070, false], ["636f6c4242", "76616c4242", 1294532915073, false]] +}
[jira] Commented: (CASSANDRA-1902) Migrate cached pages during compaction
[ https://issues.apache.org/jira/browse/CASSANDRA-1902?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13000516#comment-13000516 ] T Jake Luciani commented on CASSANDRA-1902: --- Attached new version based on previous feedback. This takes a lazy approach and migrates pages per column. So it will handle active column slices etc. The page cache info of a sstable is now stored in a OpenBitSet so a 1TB SSTable will fit in ~23Mb assuming a 4kb page size. Here are the stats with a 1470 + 1902 flag off and on: {code} #write 100k wide rows to CF1 python stress.py -S 3000 -n 10 -k (off) 0.7.3: 81 (on) 0.7.3: 93 #flush the keyspace wait for compaction to finish #read from CF1 till in page cache python stress.py -n 10 -k -o read (off) 0.7.3: 73, 13 (on) 0.7.3: 65, 13 #write 100k wide rows to CF2 python stress.py -S 3000 -n 10 -k -y super (off) 0.7.3: 79 (on) 0.7.3: 99 #wait for compaction to finish #read from CF1 till in page cache python stress.py -n 10 -k -o read (off) 0.7.3: 227, 36, 14 (on) 0.7.3: 97, 31, 14 #overwrite 100k wide rows to CF1 python stress.py -S 3000 -n 10 -k (off) 0.7.3: 100 (on) 0.7.3: 123 #perform major compaction on CF1 #this will test cache migration #read from CF1 till in page cache python stress.py -n 10 -k -o read (off) 0.7.3: 148 (on) 0.7.3: 97 {code} > Migrate cached pages during compaction > --- > > Key: CASSANDRA-1902 > URL: https://issues.apache.org/jira/browse/CASSANDRA-1902 > Project: Cassandra > Issue Type: Improvement > Components: Core >Affects Versions: 0.7.1 >Reporter: T Jake Luciani >Assignee: T Jake Luciani > Fix For: 0.7.4 > > Attachments: > 0001-CASSANDRA-1902-cache-migration-impl-with-config-option.txt, > 1902-formatted.txt, 1902-per-column-migration.txt > > Original Estimate: 32h > Time Spent: 24h > Remaining Estimate: 8h > > Post CASSANDRA-1470 there is an opportunity to migrate cached pages from a > pre-compacted CF during the compaction process. > First, add a method to MmappedSegmentFile: long[] pagesInPageCache() that > uses the posix mincore() function to detect the offsets of pages for this > file currently in page cache. > Then add getActiveKeys() which uses underlying pagesInPageCache() to get the > keys actually in the page cache. > use getActiveKeys() to detect which SSTables being compacted are in the os > cache and make sure the subsequent pages in the new compacted SSTable are > kept in the page cache for these keys. This will minimize the impact of > compacting a "hot" SSTable. > A simpler yet similar approach is described here: > http://insights.oetiker.ch/linux/fadvise/ -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Updated: (CASSANDRA-1902) Migrate cached pages during compaction
[ https://issues.apache.org/jira/browse/CASSANDRA-1902?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] T Jake Luciani updated CASSANDRA-1902: -- Attachment: 1902-per-column-migration.txt > Migrate cached pages during compaction > --- > > Key: CASSANDRA-1902 > URL: https://issues.apache.org/jira/browse/CASSANDRA-1902 > Project: Cassandra > Issue Type: Improvement > Components: Core >Affects Versions: 0.7.1 >Reporter: T Jake Luciani >Assignee: T Jake Luciani > Fix For: 0.7.4 > > Attachments: > 0001-CASSANDRA-1902-cache-migration-impl-with-config-option.txt, > 1902-formatted.txt, 1902-per-column-migration.txt > > Original Estimate: 32h > Time Spent: 24h > Remaining Estimate: 8h > > Post CASSANDRA-1470 there is an opportunity to migrate cached pages from a > pre-compacted CF during the compaction process. > First, add a method to MmappedSegmentFile: long[] pagesInPageCache() that > uses the posix mincore() function to detect the offsets of pages for this > file currently in page cache. > Then add getActiveKeys() which uses underlying pagesInPageCache() to get the > keys actually in the page cache. > use getActiveKeys() to detect which SSTables being compacted are in the os > cache and make sure the subsequent pages in the new compacted SSTable are > kept in the page cache for these keys. This will minimize the impact of > compacting a "hot" SSTable. > A simpler yet similar approach is described here: > http://insights.oetiker.ch/linux/fadvise/ -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Created: (CASSANDRA-2255) ColumnFamilyOutputFormat drops mutations when batches fill up.
ColumnFamilyOutputFormat drops mutations when batches fill up. -- Key: CASSANDRA-2255 URL: https://issues.apache.org/jira/browse/CASSANDRA-2255 Project: Cassandra Issue Type: Bug Components: Hadoop Affects Versions: 0.7.2, 0.8 Reporter: Eldon Stegall queue.poll() takes a mutation, but then the batch is already full, so the while loop exits, ant the mutation we just got is dropped. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
buildbot failure in ASF Buildbot on cassandra-trunk
The Buildbot has detected a new failure of cassandra-trunk on ASF Buildbot. Full details are available at: http://ci.apache.org/builders/cassandra-trunk/builds/1063 Buildbot URL: http://ci.apache.org/ Buildslave for this Build: isis_ubuntu Build Reason: Build Source Stamp: [branch cassandra/trunk] 1075502 Blamelist: jbellis BUILD FAILED: failed compile sincerely, -The Buildbot
svn commit: r1075502 - in /cassandra/trunk: ./ src/java/org/apache/cassandra/db/marshal/ src/java/org/apache/cassandra/tools/ test/resources/ test/unit/org/apache/cassandra/tools/
Author: jbellis Date: Mon Feb 28 19:40:19 2011 New Revision: 1075502 URL: http://svn.apache.org/viewvc?rev=1075502&view=rev Log: add countercolumn support to SSTableExport patch by slebresne; reviewed by Pavel Yaskevich for CASSANDRA-2093 Modified: cassandra/trunk/CHANGES.txt cassandra/trunk/src/java/org/apache/cassandra/db/marshal/CounterColumnType.java cassandra/trunk/src/java/org/apache/cassandra/tools/SSTableExport.java cassandra/trunk/src/java/org/apache/cassandra/tools/SSTableImport.java cassandra/trunk/test/resources/SimpleCF.json cassandra/trunk/test/resources/SuperCF.json cassandra/trunk/test/unit/org/apache/cassandra/tools/SSTableExportTest.java cassandra/trunk/test/unit/org/apache/cassandra/tools/SSTableImportTest.java Modified: cassandra/trunk/CHANGES.txt URL: http://svn.apache.org/viewvc/cassandra/trunk/CHANGES.txt?rev=1075502&r1=1075501&r2=1075502&view=diff == --- cassandra/trunk/CHANGES.txt (original) +++ cassandra/trunk/CHANGES.txt Mon Feb 28 19:40:19 2011 @@ -1,7 +1,7 @@ 0.8-dev * avoid double RowMutation serialization on write path (CASSANDRA-1800) * adds support for columns that act as incr/decr counters - (CASSANDRA-1072, 1937, 1944, 1936, 2101) + (CASSANDRA-1072, 1937, 1944, 1936, 2101, 2093) * make NetworkTopologyStrategy the default (CASSANDRA-1960) * configurable internode encryption (CASSANDRA-1567) * human readable column names in sstable2json output (CASSANDRA-1933) Modified: cassandra/trunk/src/java/org/apache/cassandra/db/marshal/CounterColumnType.java URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/db/marshal/CounterColumnType.java?rev=1075502&r1=1075501&r2=1075502&view=diff == --- cassandra/trunk/src/java/org/apache/cassandra/db/marshal/CounterColumnType.java (original) +++ cassandra/trunk/src/java/org/apache/cassandra/db/marshal/CounterColumnType.java Mon Feb 28 19:40:19 2011 @@ -34,29 +34,15 @@ public class CounterColumnType extends A public int compare(ByteBuffer o1, ByteBuffer o2) { -if (o1.remaining() == 0) -{ -return o2.remaining() == 0 ? 0 : -1; -} -if (o2.remaining() == 0) -{ -return 1; -} +if (o1 == null) +return null == o2 ? 0 : -1; return ByteBufferUtil.compareUnsigned(o1, o2); } public String getString(ByteBuffer bytes) { -if (bytes.remaining() == 0) -{ -return ""; -} -if (bytes.remaining() != 8) -{ -throw new MarshalException("A long is exactly 8 bytes"); -} -return String.valueOf(bytes.getLong(bytes.position())); +return ByteBufferUtil.bytesToHex(bytes); } /** @@ -99,6 +85,11 @@ public class CounterColumnType extends A } } +public ByteBuffer fromString(String source) +{ +return ByteBufferUtil.hexToBytes(source); +} + public void validate(ByteBuffer bytes) throws MarshalException { if (bytes.remaining() != 8 && bytes.remaining() != 0) Modified: cassandra/trunk/src/java/org/apache/cassandra/tools/SSTableExport.java URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/tools/SSTableExport.java?rev=1075502&r1=1075501&r2=1075502&view=diff == --- cassandra/trunk/src/java/org/apache/cassandra/tools/SSTableExport.java (original) +++ cassandra/trunk/src/java/org/apache/cassandra/tools/SSTableExport.java Mon Feb 28 19:40:19 2011 @@ -144,16 +144,28 @@ public class SSTableExport out.print(quote(validator.getString(value))); out.print(", "); out.print(column.timestamp()); -out.print(", "); -out.print(column.isMarkedForDelete()); -if (column instanceof ExpiringColumn) +if (column instanceof DeletedColumn) { out.print(", "); +out.print("\"d\""); +} +else if (column instanceof ExpiringColumn) +{ +out.print(", "); +out.print("\"e\""); +out.print(", "); out.print(((ExpiringColumn) column).getTimeToLive()); out.print(", "); out.print(column.getLocalDeletionTime()); } +else if (column instanceof CounterColumn) +{ +out.print(", "); +out.print("\"c\""); +out.print(", "); +out.print(((CounterColumn) column).timestampOfLastDelete()); +} out.print("]"); } Modified: cassandra/trunk/src/java/org/apache/cassandra/tools/SSTableImport.java URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/tools/SSTableImport.java?rev=1075502&r1=1075501&r2=1075502&vi
[jira] Commented: (CASSANDRA-2219) modernize nodecmd option handling
[ https://issues.apache.org/jira/browse/CASSANDRA-2219?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13000482#comment-13000482 ] Pavel Yaskevich commented on CASSANDRA-2219: This was committed before 2160... > modernize nodecmd option handling > - > > Key: CASSANDRA-2219 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2219 > Project: Cassandra > Issue Type: Improvement > Components: Tools >Reporter: Jonathan Ellis >Assignee: Pavel Yaskevich >Priority: Minor > Fix For: 0.7.4 > > Attachments: CASSANDRA-2219.patch > > Original Estimate: 1h > Time Spent: 1h > Remaining Estimate: 0h > -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (CASSANDRA-2219) modernize nodecmd option handling
[ https://issues.apache.org/jira/browse/CASSANDRA-2219?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13000481#comment-13000481 ] Jonathan Ellis commented on CASSANDRA-2219: --- i think the nodetool join patch made this one not apply :-| > modernize nodecmd option handling > - > > Key: CASSANDRA-2219 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2219 > Project: Cassandra > Issue Type: Improvement > Components: Tools >Reporter: Jonathan Ellis >Assignee: Pavel Yaskevich >Priority: Minor > Fix For: 0.7.4 > > Attachments: CASSANDRA-2219.patch > > Original Estimate: 1h > Time Spent: 1h > Remaining Estimate: 0h > -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (CASSANDRA-2233) Add unified UUIDType
[ https://issues.apache.org/jira/browse/CASSANDRA-2233?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13000479#comment-13000479 ] Ed Anuff commented on CASSANDRA-2233: - This wasn't necessarily suggested as a replacement for the two existing comparators but as an alternative for: (1) convenience (2) being able to switch your UUID generation technique later and while the ordering might not be useful, it would still be predictable. What happens now if you start with time-based UUIDs and switch to lexical? (3) use foreign generated UUID's with a preference for time-based sorting if possible > Add unified UUIDType > > > Key: CASSANDRA-2233 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2233 > Project: Cassandra > Issue Type: Improvement > Components: Core >Affects Versions: 0.7.3 >Reporter: Ed Anuff >Priority: Minor > Attachments: UUIDType.java > > > Unified UUIDType comparator, compares as time-based if both UUIDs are > time-based, otherwise uses byte comparison. Based on code from the current > LexicalUUIDType and TimeUUIDType comparers, so performance and behavior > should be consistent and compatible. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
svn commit: r1075498 - /cassandra/branches/cassandra-0.7/CHANGES.txt
Author: jbellis Date: Mon Feb 28 19:25:14 2011 New Revision: 1075498 URL: http://svn.apache.org/viewvc?rev=1075498&view=rev Log: update CHANGES Modified: cassandra/branches/cassandra-0.7/CHANGES.txt Modified: cassandra/branches/cassandra-0.7/CHANGES.txt URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/CHANGES.txt?rev=1075498&r1=1075497&r2=1075498&view=diff == --- cassandra/branches/cassandra-0.7/CHANGES.txt (original) +++ cassandra/branches/cassandra-0.7/CHANGES.txt Mon Feb 28 19:25:14 2011 @@ -1,3 +1,7 @@ +0.7.4 + * add nodetool join command (CASSANDRA-2160) + + 0.7.3 * Keep endpoint state until aVeryLongTime (CASSANDRA-2115) * lower-latency read repair (CASSANDRA-2069)
[jira] Resolved: (CASSANDRA-2093) add countercolumn support to SSTableExport
[ https://issues.apache.org/jira/browse/CASSANDRA-2093?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Ellis resolved CASSANDRA-2093. --- Resolution: Fixed committed > add countercolumn support to SSTableExport > -- > > Key: CASSANDRA-2093 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2093 > Project: Cassandra > Issue Type: New Feature >Reporter: Jonathan Ellis >Assignee: Sylvain Lebresne >Priority: Minor > Fix For: 0.8 > > Attachments: 0001-Support-counter-in-SSTable-import-export.patch > > Original Estimate: 4h > Remaining Estimate: 4h > -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (CASSANDRA-2233) Add unified UUIDType
[ https://issues.apache.org/jira/browse/CASSANDRA-2233?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13000470#comment-13000470 ] Jonathan Ellis commented on CASSANDRA-2233: --- I guess the idea is to drop both TimeUUIDType and Lexical for this? Part of me thinks that it's good to keep Time around so people who say they want chronological sorting gets that validated. And if you keep time around there's not much point in replacing Lexical UUID w/ this. Open to being convinced otherwise! > Add unified UUIDType > > > Key: CASSANDRA-2233 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2233 > Project: Cassandra > Issue Type: Improvement > Components: Core >Affects Versions: 0.7.3 >Reporter: Ed Anuff >Priority: Minor > Attachments: UUIDType.java > > > Unified UUIDType comparator, compares as time-based if both UUIDs are > time-based, otherwise uses byte comparison. Based on code from the current > LexicalUUIDType and TimeUUIDType comparers, so performance and behavior > should be consistent and compatible. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Updated: (CASSANDRA-2233) Add unified UUIDType
[ https://issues.apache.org/jira/browse/CASSANDRA-2233?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ed Anuff updated CASSANDRA-2233: Attachment: UUIDType.java Removed incorrect copyright notice > Add unified UUIDType > > > Key: CASSANDRA-2233 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2233 > Project: Cassandra > Issue Type: Improvement > Components: Core >Affects Versions: 0.7.3 >Reporter: Ed Anuff >Priority: Minor > Attachments: UUIDType.java > > > Unified UUIDType comparator, compares as time-based if both UUIDs are > time-based, otherwise uses byte comparison. Based on code from the current > LexicalUUIDType and TimeUUIDType comparers, so performance and behavior > should be consistent and compatible. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Updated: (CASSANDRA-2233) Add unified UUIDType
[ https://issues.apache.org/jira/browse/CASSANDRA-2233?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ed Anuff updated CASSANDRA-2233: Attachment: (was: UUIDType.java) > Add unified UUIDType > > > Key: CASSANDRA-2233 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2233 > Project: Cassandra > Issue Type: Improvement > Components: Core >Affects Versions: 0.7.3 >Reporter: Ed Anuff >Priority: Minor > > Unified UUIDType comparator, compares as time-based if both UUIDs are > time-based, otherwise uses byte comparison. Based on code from the current > LexicalUUIDType and TimeUUIDType comparers, so performance and behavior > should be consistent and compatible. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Updated: (CASSANDRA-2233) Add unified UUIDType
[ https://issues.apache.org/jira/browse/CASSANDRA-2233?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ed Anuff updated CASSANDRA-2233: Attachment: UUIDType.java Revised to fix comparison between time-based and non-time-based UUIDs. Time-based UUIDs now always compare as less than non-time-based UUIDs. > Add unified UUIDType > > > Key: CASSANDRA-2233 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2233 > Project: Cassandra > Issue Type: Improvement > Components: Core >Affects Versions: 0.7.3 >Reporter: Ed Anuff >Priority: Minor > > Unified UUIDType comparator, compares as time-based if both UUIDs are > time-based, otherwise uses byte comparison. Based on code from the current > LexicalUUIDType and TimeUUIDType comparers, so performance and behavior > should be consistent and compatible. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Updated: (CASSANDRA-2233) Add unified UUIDType
[ https://issues.apache.org/jira/browse/CASSANDRA-2233?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Ed Anuff updated CASSANDRA-2233: Attachment: (was: UUIDType.java) > Add unified UUIDType > > > Key: CASSANDRA-2233 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2233 > Project: Cassandra > Issue Type: Improvement > Components: Core >Affects Versions: 0.7.3 >Reporter: Ed Anuff >Priority: Minor > > Unified UUIDType comparator, compares as time-based if both UUIDs are > time-based, otherwise uses byte comparison. Based on code from the current > LexicalUUIDType and TimeUUIDType comparers, so performance and behavior > should be consistent and compatible. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (CASSANDRA-2093) add countercolumn support to SSTableExport
[ https://issues.apache.org/jira/browse/CASSANDRA-2093?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13000436#comment-13000436 ] Pavel Yaskevich commented on CASSANDRA-2093: +1 > add countercolumn support to SSTableExport > -- > > Key: CASSANDRA-2093 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2093 > Project: Cassandra > Issue Type: New Feature >Reporter: Jonathan Ellis >Assignee: Sylvain Lebresne >Priority: Minor > Fix For: 0.8 > > Attachments: 0001-Support-counter-in-SSTable-import-export.patch > > Original Estimate: 4h > Remaining Estimate: 4h > -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Updated: (CASSANDRA-2093) add countercolumn support to SSTableExport
[ https://issues.apache.org/jira/browse/CASSANDRA-2093?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Ellis updated CASSANDRA-2093: -- Reviewer: xedin > add countercolumn support to SSTableExport > -- > > Key: CASSANDRA-2093 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2093 > Project: Cassandra > Issue Type: New Feature >Reporter: Jonathan Ellis >Assignee: Sylvain Lebresne >Priority: Minor > Fix For: 0.8 > > Attachments: 0001-Support-counter-in-SSTable-import-export.patch > > Original Estimate: 4h > Remaining Estimate: 4h > -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Updated: (CASSANDRA-2124) JDBC driver for CQL
[ https://issues.apache.org/jira/browse/CASSANDRA-2124?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Vivek Mishra updated CASSANDRA-2124: Attachment: cassandra_generic_decoder_v1.1.patch @Gary: i am moving it to CassandraConnection. Do we still need to put caching there? Introducing connection pooling should take care of this. Getting a new connection instance should make call to "describe_key_space". < relying on a regex to figure out the keyspace is brittle> This is for extracting column family from cql query. > JDBC driver for CQL > --- > > Key: CASSANDRA-2124 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2124 > Project: Cassandra > Issue Type: New Feature > Components: API >Reporter: Eric Evans >Assignee: Vivek Mishra >Priority: Minor > Labels: cql > Attachments: Cassandra-2124_v1.0, Cassandra_2124_decoder.patch, > cassandra-0.7.1-2124_v2.0, cassandra-0.7.1-2124_v2.1, > cassandra_generic_decoder.patch, cassandra_generic_decoder_v1.1.patch > > > A simple connection class and corresponding pool was created for CQL as a > part of CASSANDRA-1710, but a JDBC driver (either in addition to, or as a > replacement for) would also be interesting. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (CASSANDRA-2124) JDBC driver for CQL
[ https://issues.apache.org/jira/browse/CASSANDRA-2124?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13000401#comment-13000401 ] Vivek Mishra commented on CASSANDRA-2124: - Patch attached with comments incorporated. > JDBC driver for CQL > --- > > Key: CASSANDRA-2124 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2124 > Project: Cassandra > Issue Type: New Feature > Components: API >Reporter: Eric Evans >Assignee: Vivek Mishra >Priority: Minor > Labels: cql > Attachments: Cassandra-2124_v1.0, Cassandra_2124_decoder.patch, > cassandra-0.7.1-2124_v2.0, cassandra-0.7.1-2124_v2.1, > cassandra_generic_decoder.patch, cassandra_generic_decoder_v1.1.patch > > > A simple connection class and corresponding pool was created for CQL as a > part of CASSANDRA-1710, but a JDBC driver (either in addition to, or as a > replacement for) would also be interesting. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (CASSANDRA-2160) Add "join" command to the nodetool
[ https://issues.apache.org/jira/browse/CASSANDRA-2160?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13000392#comment-13000392 ] Hudson commented on CASSANDRA-2160: --- Integrated in Cassandra-0.7 #330 (See [https://hudson.apache.org/hudson/job/Cassandra-0.7/330/]) Add "join" command to nodetool Patch by Pavel Yaskevich, reviewed by Sylvain Lebresne for CASSANDRA-2160 > Add "join" command to the nodetool > -- > > Key: CASSANDRA-2160 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2160 > Project: Cassandra > Issue Type: Improvement > Components: Contrib >Affects Versions: 0.7.0 >Reporter: Pavel Yaskevich >Assignee: Pavel Yaskevich >Priority: Minor > Fix For: 0.7.4 > > Attachments: CASSANDRA-2160-rebased.patch, CASSANDRA-2160-v2.patch, > CASSANDRA-2160-v3.patch, CASSANDRA-2160.patch > > Original Estimate: 2h > Remaining Estimate: 2h > > Nodetool should be able to make current node join/re-join a ring. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (CASSANDRA-2233) Add unified UUIDType
[ https://issues.apache.org/jira/browse/CASSANDRA-2233?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13000377#comment-13000377 ] Ed Anuff commented on CASSANDRA-2233: - You are correct, I'll fix that. > Add unified UUIDType > > > Key: CASSANDRA-2233 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2233 > Project: Cassandra > Issue Type: Improvement > Components: Core >Affects Versions: 0.7.3 >Reporter: Ed Anuff >Priority: Minor > Attachments: UUIDType.java > > > Unified UUIDType comparator, compares as time-based if both UUIDs are > time-based, otherwise uses byte comparison. Based on code from the current > LexicalUUIDType and TimeUUIDType comparers, so performance and behavior > should be consistent and compatible. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
svn commit: r1075409 - in /cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/tools: NodeCmd.java NodeProbe.java
Author: brandonwilliams Date: Mon Feb 28 16:25:06 2011 New Revision: 1075409 URL: http://svn.apache.org/viewvc?rev=1075409&view=rev Log: Add "join" command to nodetool Patch by Pavel Yaskevich, reviewed by Sylvain Lebresne for CASSANDRA-2160 Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/tools/NodeCmd.java cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/tools/NodeProbe.java Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/tools/NodeCmd.java URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/tools/NodeCmd.java?rev=1075409&r1=1075408&r2=1075409&view=diff == --- cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/tools/NodeCmd.java (original) +++ cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/tools/NodeCmd.java Mon Feb 28 16:25:06 2011 @@ -31,6 +31,8 @@ import java.util.Map.Entry; import java.util.concurrent.ExecutionException; import org.apache.cassandra.utils.Pair; +import org.apache.cassandra.config.ConfigurationException; + import org.apache.commons.cli.*; import org.apache.cassandra.cache.JMXInstrumentedCacheMBean; @@ -74,7 +76,7 @@ public class NodeCmd DECOMMISSION, MOVE, LOADBALANCE, REMOVETOKEN, REPAIR, CLEANUP, COMPACT, SCRUB, SETCACHECAPACITY, GETCOMPACTIONTHRESHOLD, SETCOMPACTIONTHRESHOLD, NETSTATS, CFHISTOGRAMS, COMPACTIONSTATS, DISABLEGOSSIP, ENABLEGOSSIP, INVALIDATEKEYCACHE, INVALIDATEROWCACHE, -DISABLETHRIFT, ENABLETHRIFT +DISABLETHRIFT, ENABLETHRIFT, JOIN } @@ -88,6 +90,7 @@ public class NodeCmd header.append("\nAvailable commands:\n"); // No args addCmdHelp(header, "ring", "Print informations on the token ring"); +addCmdHelp(header, "join", "Join the ring"); addCmdHelp(header, "info", "Print node informations (uptime, load, ...)"); addCmdHelp(header, "cfstats", "Print statistics on column families"); addCmdHelp(header, "clearsnapshot", "Remove all existing snapshots"); @@ -465,7 +468,7 @@ public class NodeCmd } } -public static void main(String[] args) throws IOException, InterruptedException, ParseException +public static void main(String[] args) throws IOException, InterruptedException, ConfigurationException, ParseException { CommandLineParser parser = new PosixParser(); ToolCommandLine cmd = null; @@ -561,6 +564,16 @@ public class NodeCmd probe.move(arguments[0]); break; +case JOIN: +if (probe.isJoined()) +{ +System.err.println("This node has already joined the ring."); +System.exit(1); +} + +probe.joinRing(); +break; + case REMOVETOKEN : if (arguments.length != 1) { badUse("Missing an argument for removetoken (either status, force, or a token)"); } else if (arguments[0].equals("status")) { nodeCmd.printRemovalStatus(System.out); } Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/tools/NodeProbe.java URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/tools/NodeProbe.java?rev=1075409&r1=1075408&r2=1075409&view=diff == --- cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/tools/NodeProbe.java (original) +++ cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/tools/NodeProbe.java Mon Feb 28 16:25:06 2011 @@ -332,6 +332,16 @@ public class NodeProbe ssProxy.clearSnapshot(); } +public boolean isJoined() +{ +return ssProxy.isJoined(); +} + +public void joinRing() throws IOException, ConfigurationException +{ +ssProxy.joinRing(); +} + public void decommission() throws InterruptedException { ssProxy.decommission();
[jira] Commented: (CASSANDRA-2160) Add "join" command to the nodetool
[ https://issues.apache.org/jira/browse/CASSANDRA-2160?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13000374#comment-13000374 ] Pavel Yaskevich commented on CASSANDRA-2160: This is exactly rebase after CASSANDRA-2219 > Add "join" command to the nodetool > -- > > Key: CASSANDRA-2160 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2160 > Project: Cassandra > Issue Type: Improvement > Components: Contrib >Affects Versions: 0.7.0 >Reporter: Pavel Yaskevich >Assignee: Pavel Yaskevich >Priority: Minor > Fix For: 0.7.4 > > Attachments: CASSANDRA-2160-rebased.patch, CASSANDRA-2160-v2.patch, > CASSANDRA-2160-v3.patch, CASSANDRA-2160.patch > > Original Estimate: 2h > Remaining Estimate: 2h > > Nodetool should be able to make current node join/re-join a ring. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (CASSANDRA-2160) Add "join" command to the nodetool
[ https://issues.apache.org/jira/browse/CASSANDRA-2160?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13000372#comment-13000372 ] Brandon Williams commented on CASSANDRA-2160: - Looks like it needs one more rebase after CASSANDRA-2219 :( > Add "join" command to the nodetool > -- > > Key: CASSANDRA-2160 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2160 > Project: Cassandra > Issue Type: Improvement > Components: Contrib >Affects Versions: 0.7.0 >Reporter: Pavel Yaskevich >Assignee: Pavel Yaskevich >Priority: Minor > Fix For: 0.7.4 > > Attachments: CASSANDRA-2160-rebased.patch, CASSANDRA-2160-v2.patch, > CASSANDRA-2160-v3.patch, CASSANDRA-2160.patch > > Original Estimate: 2h > Remaining Estimate: 2h > > Nodetool should be able to make current node join/re-join a ring. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (CASSANDRA-2124) JDBC driver for CQL
[ https://issues.apache.org/jira/browse/CASSANDRA-2124?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13000369#comment-13000369 ] Gary Dusbabek commented on CASSANDRA-2124: -- I took at look at Cassandra_2124_decoder.patch this morning. I think that calling describe_keyspace() for every statement is going to impact performance very negatively. At the very least, there should be some caching going on there, and that relying on a regex to figure out the keyspace is brittle. It would be better to make the describe_keyspace() call once in CassandraConnection constructor. Other things: ColumnDecoder.describe_key_Space() needs to conform to the project coding conventions. There seem to be copious amounts of whitespace/comment/javadoc changes. If you're going to include them, put them all in a separate patch at the end. > JDBC driver for CQL > --- > > Key: CASSANDRA-2124 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2124 > Project: Cassandra > Issue Type: New Feature > Components: API >Reporter: Eric Evans >Assignee: Vivek Mishra >Priority: Minor > Labels: cql > Attachments: Cassandra-2124_v1.0, Cassandra_2124_decoder.patch, > cassandra-0.7.1-2124_v2.0, cassandra-0.7.1-2124_v2.1, > cassandra_generic_decoder.patch > > > A simple connection class and corresponding pool was created for CQL as a > part of CASSANDRA-1710, but a JDBC driver (either in addition to, or as a > replacement for) would also be interesting. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (CASSANDRA-2233) Add unified UUIDType
[ https://issues.apache.org/jira/browse/CASSANDRA-2233?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13000353#comment-13000353 ] Folke Behrens commented on CASSANDRA-2233: -- This won't work because it violates the natural order. Imagine two time-based UUIDs {{t0}} and {{t1}} such that {{t0 < t1}}. There is a non-time-based UUID {{x}} such that {{x < t0}} and {{x > t1}}. To remedy this you must not compare both types, you have to sort all time-based UUID either before or after all other UUIDs. > Add unified UUIDType > > > Key: CASSANDRA-2233 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2233 > Project: Cassandra > Issue Type: Improvement > Components: Core >Affects Versions: 0.7.3 >Reporter: Ed Anuff >Priority: Minor > Attachments: UUIDType.java > > > Unified UUIDType comparator, compares as time-based if both UUIDs are > time-based, otherwise uses byte comparison. Based on code from the current > LexicalUUIDType and TimeUUIDType comparers, so performance and behavior > should be consistent and compatible. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Updated: (CASSANDRA-2093) add countercolumn support to SSTableExport
[ https://issues.apache.org/jira/browse/CASSANDRA-2093?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Sylvain Lebresne updated CASSANDRA-2093: Attachment: 0001-Support-counter-in-SSTable-import-export.patch Attached patch on trunk. This actually changes the export format to add a column type. Previously we were using the cardinality of the json column to decided whether this was a standard or expired column. We could still have done it here (since counter has 1 extra field while expiring columns have 2), but this feels fragile and not very extensible. Anyway the new and old formats are incompatible, but SSTableImport is able to read the old format. > add countercolumn support to SSTableExport > -- > > Key: CASSANDRA-2093 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2093 > Project: Cassandra > Issue Type: New Feature >Reporter: Jonathan Ellis >Assignee: Sylvain Lebresne >Priority: Minor > Fix For: 0.8 > > Attachments: 0001-Support-counter-in-SSTable-import-export.patch > > Original Estimate: 4h > Remaining Estimate: 4h > -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Updated: (CASSANDRA-2160) Add "join" command to the nodetool
[ https://issues.apache.org/jira/browse/CASSANDRA-2160?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Pavel Yaskevich updated CASSANDRA-2160: --- Attachment: CASSANDRA-2160-rebased.patch Rebased with the latest committed changes for nodetool > Add "join" command to the nodetool > -- > > Key: CASSANDRA-2160 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2160 > Project: Cassandra > Issue Type: Improvement > Components: Contrib >Affects Versions: 0.7.0 >Reporter: Pavel Yaskevich >Assignee: Pavel Yaskevich >Priority: Minor > Fix For: 0.7.4 > > Attachments: CASSANDRA-2160-rebased.patch, CASSANDRA-2160-v2.patch, > CASSANDRA-2160-v3.patch, CASSANDRA-2160.patch > > Original Estimate: 2h > Remaining Estimate: 2h > > Nodetool should be able to make current node join/re-join a ring. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (CASSANDRA-2219) modernize nodecmd option handling
[ https://issues.apache.org/jira/browse/CASSANDRA-2219?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13000343#comment-13000343 ] Hudson commented on CASSANDRA-2219: --- Integrated in Cassandra-0.7 #329 (See [https://hudson.apache.org/hudson/job/Cassandra-0.7/329/]) Modernize nodecmd option handling. Patch by Pavel Yaskevich, reviewed by Sylvain Lebresne for CASSANDRA-2219 > modernize nodecmd option handling > - > > Key: CASSANDRA-2219 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2219 > Project: Cassandra > Issue Type: Improvement > Components: Tools >Reporter: Jonathan Ellis >Assignee: Pavel Yaskevich >Priority: Minor > Fix For: 0.7.4 > > Attachments: CASSANDRA-2219.patch > > Original Estimate: 1h > Time Spent: 1h > Remaining Estimate: 0h > -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (CASSANDRA-2160) Add "join" command to the nodetool
[ https://issues.apache.org/jira/browse/CASSANDRA-2160?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13000341#comment-13000341 ] Sylvain Lebresne commented on CASSANDRA-2160: - +1 > Add "join" command to the nodetool > -- > > Key: CASSANDRA-2160 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2160 > Project: Cassandra > Issue Type: Improvement > Components: Contrib >Affects Versions: 0.7.0 >Reporter: Pavel Yaskevich >Assignee: Pavel Yaskevich >Priority: Minor > Fix For: 0.7.4 > > Attachments: CASSANDRA-2160-v2.patch, CASSANDRA-2160-v3.patch, > CASSANDRA-2160.patch > > Original Estimate: 2h > Remaining Estimate: 2h > > Nodetool should be able to make current node join/re-join a ring. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
svn commit: r1075371 - /cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/tools/NodeCmd.java
Author: brandonwilliams Date: Mon Feb 28 15:16:59 2011 New Revision: 1075371 URL: http://svn.apache.org/viewvc?rev=1075371&view=rev Log: Modernize nodecmd option handling. Patch by Pavel Yaskevich, reviewed by Sylvain Lebresne for CASSANDRA-2219 Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/tools/NodeCmd.java Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/tools/NodeCmd.java URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/tools/NodeCmd.java?rev=1075371&r1=1075370&r2=1075371&view=diff == --- cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/tools/NodeCmd.java (original) +++ cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/tools/NodeCmd.java Mon Feb 28 15:16:59 2011 @@ -30,6 +30,7 @@ import java.util.*; import java.util.Map.Entry; import java.util.concurrent.ExecutionException; +import org.apache.cassandra.utils.Pair; import org.apache.commons.cli.*; import org.apache.cassandra.cache.JMXInstrumentedCacheMBean; @@ -40,29 +41,26 @@ import org.apache.cassandra.dht.Token; import org.apache.cassandra.net.MessagingServiceMBean; import org.apache.cassandra.utils.EstimatedHistogram; -public class NodeCmd { -private static final String HOST_OPT_LONG = "host"; -private static final String HOST_OPT_SHORT = "h"; -private static final String PORT_OPT_LONG = "port"; -private static final String PORT_OPT_SHORT = "p"; -private static final String USERNAME_OPT_LONG = "username"; -private static final String USERNAME_OPT_SHORT = "u"; -private static final String PASSWORD_OPT_LONG = "password"; -private static final String PASSWORD_OPT_SHORT = "pw"; -private static final int defaultPort = 8080; -private static Options options = null; +public class NodeCmd +{ +private static final Pair HOST_OPT = new Pair("h", "host"); +private static final Pair PORT_OPT = new Pair("p", "port"); +private static final Pair USERNAME_OPT = new Pair("u", "username"); +private static final Pair PASSWORD_OPT = new Pair("pw", "password"); +private static final int DEFAULT_PORT = 8080; + +private static ToolOptions options = null; private NodeProbe probe; static { -options = new Options(); -Option optHost = new Option(HOST_OPT_SHORT, HOST_OPT_LONG, true, "node hostname or ip address"); -optHost.setRequired(true); -options.addOption(optHost); -options.addOption(PORT_OPT_SHORT, PORT_OPT_LONG, true, "remote jmx agent port number"); -options.addOption(USERNAME_OPT_SHORT, USERNAME_OPT_LONG, true, "remote jmx agent username"); -options.addOption(PASSWORD_OPT_SHORT, PASSWORD_OPT_LONG, true, "remote jmx agent password"); +options = new ToolOptions(); + +options.addOption(HOST_OPT, true, "node hostname or ip address", true); +options.addOption(PORT_OPT, true, "remote jmx agent port number"); +options.addOption(USERNAME_OPT, true, "remote jmx agent username"); +options.addOption(PASSWORD_OPT, true, "remote jmx agent password"); } public NodeCmd(NodeProbe probe) @@ -70,7 +68,8 @@ public class NodeCmd { this.probe = probe; } -public enum NodeCommand { +public enum NodeCommand +{ RING, INFO, CFSTATS, SNAPSHOT, CLEARSNAPSHOT, VERSION, TPSTATS, FLUSH, DRAIN, DECOMMISSION, MOVE, LOADBALANCE, REMOVETOKEN, REPAIR, CLEANUP, COMPACT, SCRUB, SETCACHECAPACITY, GETCOMPACTIONTHRESHOLD, SETCOMPACTIONTHRESHOLD, NETSTATS, CFHISTOGRAMS, @@ -469,21 +468,21 @@ public class NodeCmd { public static void main(String[] args) throws IOException, InterruptedException, ParseException { CommandLineParser parser = new PosixParser(); -CommandLine cmd = null; - +ToolCommandLine cmd = null; + try { -cmd = parser.parse(options, args); +cmd = new ToolCommandLine(parser.parse(options, args)); } -catch (ParseException parseExcep) +catch (ParseException p) { -badUse(parseExcep.toString()); +badUse(p.getMessage()); } -String host = cmd.getOptionValue(HOST_OPT_LONG); -int port = defaultPort; +String host = cmd.getOptionValue(HOST_OPT.left); +int port = DEFAULT_PORT; -String portNum = cmd.getOptionValue(PORT_OPT_LONG); +String portNum = cmd.getOptionValue(PORT_OPT.left); if (portNum != null) { try @@ -495,8 +494,9 @@ public class NodeCmd { throw new ParseException("Port must be a number"); } } -String username = cmd.getOptionValue(USERNAME_OPT_LONG); -String password = cmd.getOptionValue(PASSWORD_OPT_LONG); + +
[jira] Updated: (CASSANDRA-2247) Cleanup unused imports and generics
[ https://issues.apache.org/jira/browse/CASSANDRA-2247?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Norman Maurer updated CASSANDRA-2247: - Attachment: CASSANDRA-2247-part2.diff Second part of import/generic cleanup. Still many stuff todo > Cleanup unused imports and generics > --- > > Key: CASSANDRA-2247 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2247 > Project: Cassandra > Issue Type: Improvement > Components: Core >Reporter: Norman Maurer >Assignee: Norman Maurer > Fix For: 0.8 > > Attachments: CASSANDRA-2247-part1.diff, CASSANDRA-2247-part2.diff > > > In current cassandra trunk are many classes which import packages which are > never used. The same is true for Loggers which are often instanced and then > not used. Beside this I see many warnings related to generic usage. Would be > nice to clean this up a bit. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (CASSANDRA-2219) modernize nodecmd option handling
[ https://issues.apache.org/jira/browse/CASSANDRA-2219?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13000243#comment-13000243 ] Sylvain Lebresne commented on CASSANDRA-2219: - +1 > modernize nodecmd option handling > - > > Key: CASSANDRA-2219 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2219 > Project: Cassandra > Issue Type: Improvement > Components: Tools >Reporter: Jonathan Ellis >Assignee: Pavel Yaskevich >Priority: Minor > Fix For: 0.7.4 > > Attachments: CASSANDRA-2219.patch > > Original Estimate: 1h > Time Spent: 1h > Remaining Estimate: 0h > -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Issue Comment Edited: (CASSANDRA-2160) Add "join" command to the nodetool
[ https://issues.apache.org/jira/browse/CASSANDRA-2160?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13000228#comment-13000228 ] Pavel Yaskevich edited comment on CASSANDRA-2160 at 2/28/11 11:15 AM: -- System.exit code changed to 1, all whitespace diffs are cleaned. was (Author: xedin): System.exit code changed to 1, all whitespace diffs all cleaned. > Add "join" command to the nodetool > -- > > Key: CASSANDRA-2160 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2160 > Project: Cassandra > Issue Type: Improvement > Components: Contrib >Affects Versions: 0.7.0 >Reporter: Pavel Yaskevich >Assignee: Pavel Yaskevich >Priority: Minor > Fix For: 0.7.4 > > Attachments: CASSANDRA-2160-v2.patch, CASSANDRA-2160-v3.patch, > CASSANDRA-2160.patch > > Original Estimate: 2h > Remaining Estimate: 2h > > Nodetool should be able to make current node join/re-join a ring. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Updated: (CASSANDRA-2160) Add "join" command to the nodetool
[ https://issues.apache.org/jira/browse/CASSANDRA-2160?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Pavel Yaskevich updated CASSANDRA-2160: --- Attachment: CASSANDRA-2160-v3.patch System.exit code changed to 1, all whitespace diffs all cleaned. > Add "join" command to the nodetool > -- > > Key: CASSANDRA-2160 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2160 > Project: Cassandra > Issue Type: Improvement > Components: Contrib >Affects Versions: 0.7.0 >Reporter: Pavel Yaskevich >Assignee: Pavel Yaskevich >Priority: Minor > Fix For: 0.7.4 > > Attachments: CASSANDRA-2160-v2.patch, CASSANDRA-2160-v3.patch, > CASSANDRA-2160.patch > > Original Estimate: 2h > Remaining Estimate: 2h > > Nodetool should be able to make current node join/re-join a ring. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (CASSANDRA-2160) Add "join" command to the nodetool
[ https://issues.apache.org/jira/browse/CASSANDRA-2160?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13000221#comment-13000221 ] Sylvain Lebresne commented on CASSANDRA-2160: - Minor nitpick: - There is a lot of whitespace diffs - Is there a reason for using -1 as an exit code in System.exit() ? I'm not an exit code expert but I'd fear a negative one would confuse the hell out of some shells. > Add "join" command to the nodetool > -- > > Key: CASSANDRA-2160 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2160 > Project: Cassandra > Issue Type: Improvement > Components: Contrib >Affects Versions: 0.7.0 >Reporter: Pavel Yaskevich >Assignee: Pavel Yaskevich >Priority: Minor > Fix For: 0.7.4 > > Attachments: CASSANDRA-2160-v2.patch, CASSANDRA-2160.patch > > Original Estimate: 2h > Remaining Estimate: 2h > > Nodetool should be able to make current node join/re-join a ring. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Updated: (CASSANDRA-2160) Add "join" command to the nodetool
[ https://issues.apache.org/jira/browse/CASSANDRA-2160?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Pavel Yaskevich updated CASSANDRA-2160: --- Attachment: CASSANDRA-2160-v2.patch Now nodetool uses joinRing() method to join the ring if Cassandra was started with -Djoin_ring=false > Add "join" command to the nodetool > -- > > Key: CASSANDRA-2160 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2160 > Project: Cassandra > Issue Type: Improvement > Components: Contrib >Affects Versions: 0.7.0 >Reporter: Pavel Yaskevich >Assignee: Pavel Yaskevich >Priority: Minor > Fix For: 0.7.4 > > Attachments: CASSANDRA-2160-v2.patch, CASSANDRA-2160.patch > > Original Estimate: 2h > Remaining Estimate: 2h > > Nodetool should be able to make current node join/re-join a ring. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (CASSANDRA-2160) Add "join" command to the nodetool
[ https://issues.apache.org/jira/browse/CASSANDRA-2160?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13000209#comment-13000209 ] Sylvain Lebresne commented on CASSANDRA-2160: - bq. This helps you to return node to the ring after decommission or if it haven't joined the ring at startup without restarting application. Ok for joining the ring if -Djoin_ring=false was used at startup. But then SP.joinRing() should be called. This is exposed through JMX but not nodetool and I do agree that it should. As for rejoining after decommission, I don't see the point. You're not supposed to decommission a node for no reason. I'm not confortable adding code that isn't clearly useful. > Add "join" command to the nodetool > -- > > Key: CASSANDRA-2160 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2160 > Project: Cassandra > Issue Type: Improvement > Components: Contrib >Affects Versions: 0.7.0 >Reporter: Pavel Yaskevich >Assignee: Pavel Yaskevich >Priority: Minor > Fix For: 0.7.4 > > Attachments: CASSANDRA-2160.patch > > Original Estimate: 2h > Remaining Estimate: 2h > > Nodetool should be able to make current node join/re-join a ring. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (CASSANDRA-2160) Add "join" command to the nodetool
[ https://issues.apache.org/jira/browse/CASSANDRA-2160?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13000198#comment-13000198 ] Pavel Yaskevich commented on CASSANDRA-2160: This helps you to return node to the ring after decommission or if it haven't joined the ring at startup without restarting application. > Add "join" command to the nodetool > -- > > Key: CASSANDRA-2160 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2160 > Project: Cassandra > Issue Type: Improvement > Components: Contrib >Affects Versions: 0.7.0 >Reporter: Pavel Yaskevich >Assignee: Pavel Yaskevich >Priority: Minor > Fix For: 0.7.4 > > Attachments: CASSANDRA-2160.patch > > Original Estimate: 2h > Remaining Estimate: 2h > > Nodetool should be able to make current node join/re-join a ring. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (CASSANDRA-2160) Add "join" command to the nodetool
[ https://issues.apache.org/jira/browse/CASSANDRA-2160?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13000196#comment-13000196 ] Sylvain Lebresne commented on CASSANDRA-2160: - Not sure I understand this one. We already have enable/disable thrift/gossip to unjoin/rejoin the ring. Is the goal here different ? > Add "join" command to the nodetool > -- > > Key: CASSANDRA-2160 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2160 > Project: Cassandra > Issue Type: Improvement > Components: Contrib >Affects Versions: 0.7.0 >Reporter: Pavel Yaskevich >Assignee: Pavel Yaskevich >Priority: Minor > Fix For: 0.7.4 > > Attachments: CASSANDRA-2160.patch > > Original Estimate: 2h > Remaining Estimate: 2h > > Nodetool should be able to make current node join/re-join a ring. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (CASSANDRA-2219) modernize nodecmd option handling
[ https://issues.apache.org/jira/browse/CASSANDRA-2219?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13000192#comment-13000192 ] Pavel Yaskevich commented on CASSANDRA-2219: Thanks for reviewing! Both your comments about optionalKsAndCFs and improved help can be moved to separate tickets, because this task was all about changing the way we work with command line parameters. > modernize nodecmd option handling > - > > Key: CASSANDRA-2219 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2219 > Project: Cassandra > Issue Type: Improvement > Components: Tools >Reporter: Jonathan Ellis >Assignee: Pavel Yaskevich >Priority: Minor > Fix For: 0.7.4 > > Attachments: CASSANDRA-2219.patch > > Original Estimate: 1h > Time Spent: 1h > Remaining Estimate: 0h > -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (CASSANDRA-2219) modernize nodecmd option handling
[ https://issues.apache.org/jira/browse/CASSANDRA-2219?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13000189#comment-13000189 ] Sylvain Lebresne commented on CASSANDRA-2219: - I think we can call the optionalKsAndCFs function in the default of the main switch, to avoid having to add those commands in two places. Other that that, this looks ok. +1 minor first remark. It still don't feel like the most modern code we have. The help for instance is ugly, I would prefer having a general help listing the commands and be able to do 'nodetool help compact' for instance. But it's probably not worth rewriting all this for now unless someone gets really bored. > modernize nodecmd option handling > - > > Key: CASSANDRA-2219 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2219 > Project: Cassandra > Issue Type: Improvement > Components: Tools >Reporter: Jonathan Ellis >Assignee: Pavel Yaskevich >Priority: Minor > Fix For: 0.7.4 > > Attachments: CASSANDRA-2219.patch > > Original Estimate: 1h > Time Spent: 1h > Remaining Estimate: 0h > -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Updated: (CASSANDRA-2240) nodetool scrub hangs or throws an exception
[ https://issues.apache.org/jira/browse/CASSANDRA-2240?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Yaniv Kunda updated CASSANDRA-2240: --- Description: trying to run nodetool scrub hung or (only happened one time) threw the following exception: ERROR [CompactionExecutor:1] 2011-02-28 10:26:26,620 AbstractCassandraDaemon.java (line 114) Fatal exception in thread Thread[CompactionExecutor:1,1,main] java.lang.AssertionError at org.apache.cassandra.dht.RandomPartitioner.convertFromDiskFormat(RandomPartitioner.java:62) at org.apache.cassandra.io.sstable.SSTableReader.decodeKey(SSTableReader.java:627) at org.apache.cassandra.db.CompactionManager.doScrub(CompactionManager.java:538) at org.apache.cassandra.db.CompactionManager.access$600(CompactionManager.java:55) at org.apache.cassandra.db.CompactionManager$3.call(CompactionManager.java:194) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:636) was: trying to run nodetool scrub hung or (only happened one time) threw the following exception: Error occured while scrubbing keyspace java.util.concurrent.ExecutionException: java.lang.AssertionError at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:252) at java.util.concurrent.FutureTask.get(FutureTask.java:111) at org.apache.cassandra.db.CompactionManager.performScrub(CompactionManager.java:203) at org.apache.cassandra.db.ColumnFamilyStore.scrub(ColumnFamilyStore.java:934) at org.apache.cassandra.service.StorageService.scrub(StorageService.java:1247) 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:616) at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:111) at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:45) at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:226) at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:138) at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:251) at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:857) at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:795) at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1450) at javax.management.remote.rmi.RMIConnectionImpl.access$200(RMIConnectionImpl.java:90) at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1285) at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1383) at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:807) 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:616) at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322) at sun.rmi.transport.Transport$1.run(Transport.java:177) 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:553) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:808) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:667) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:636) Caused by: java.lang.AssertionError at org.apache.cassandra.dht.RandomPartitioner.convertFromDiskFormat(RandomPartitioner.java:62) at org.apache.cassandra.io.sstable.SSTableReader.decodeKey(SSTableReader.java:627) at org.apache.cassandra.db.CompactionManager.doScrub(CompactionManager.java:541) at org.apache.cassandra.db.CompactionManager.access$600(CompactionManager.java:55) at org.apache.cassandra.db.CompactionManager$3.call(CompactionManager.java:194) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:166) ... 3 more > nodetool scrub hangs or throws an exception > --- > > Key: CAS
[jira] Commented: (CASSANDRA-2075) Eliminate excess comparator creation
[ https://issues.apache.org/jira/browse/CASSANDRA-2075?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13000172#comment-13000172 ] Hudson commented on CASSANDRA-2075: --- Integrated in Cassandra-0.7 #328 (See [https://hudson.apache.org/hudson/job/Cassandra-0.7/328/]) cache IColumn and reverse comparators in AbstractType patch by jbellis; reviewed by slebresne for CASSANDRA-2075 > Eliminate excess comparator creation > > > Key: CASSANDRA-2075 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2075 > Project: Cassandra > Issue Type: Improvement >Reporter: Stu Hood >Assignee: Jonathan Ellis >Priority: Minor > Labels: abstract_types, gc > Fix For: 0.7.4 > > Attachments: 2075.txt > > Original Estimate: 1h > Remaining Estimate: 1h > > Despite the singleton status of each AbstractType, we end up creating at > least one new comparator per query. By making more of the "wrapper" > comparators that exist in the codebase members of AbstractType, we could cut > down on the "new Comparator" spam. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Updated: (CASSANDRA-1954) Double-check or replace RRW memtable lock
[ https://issues.apache.org/jira/browse/CASSANDRA-1954?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Sylvain Lebresne updated CASSANDRA-1954: Attachment: 1954_trunk.patch Rebased (replaced 1954_trunk.patch) > Double-check or replace RRW memtable lock > - > > Key: CASSANDRA-1954 > URL: https://issues.apache.org/jira/browse/CASSANDRA-1954 > Project: Cassandra > Issue Type: Improvement > Components: Core >Reporter: Stu Hood >Assignee: Sylvain Lebresne >Priority: Minor > Attachments: > 0001-Double-check-in-maybeSwitchMemtable-to-minimize-writeL.txt, > 0001-Remove-flusherLock-readLock.patch, 1954-v2.txt, 1954_trunk.patch > > > {quote}...when a Memtable reaches its threshold, up to (all) N write threads > will often notice, and race to acquire the writeLock in order to freeze the > memtable. This means that we do way more writeLock acquisitions than we need > to...{quote} > See CASSANDRA-1930 for backstory, but adding double checking inside a read > lock before trying to re-entrantly acquire the writelock would eliminate most > of these excess writelock acquisitions. > Alternatively, we should explore removing locking from these structures > entirely, and replacing the writeLock acquisition with a per-memtable counter > of active threads. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Updated: (CASSANDRA-1954) Double-check or replace RRW memtable lock
[ https://issues.apache.org/jira/browse/CASSANDRA-1954?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Sylvain Lebresne updated CASSANDRA-1954: Attachment: (was: 1954_trunk.patch) > Double-check or replace RRW memtable lock > - > > Key: CASSANDRA-1954 > URL: https://issues.apache.org/jira/browse/CASSANDRA-1954 > Project: Cassandra > Issue Type: Improvement > Components: Core >Reporter: Stu Hood >Assignee: Sylvain Lebresne >Priority: Minor > Attachments: > 0001-Double-check-in-maybeSwitchMemtable-to-minimize-writeL.txt, > 0001-Remove-flusherLock-readLock.patch, 1954-v2.txt, 1954_trunk.patch > > > {quote}...when a Memtable reaches its threshold, up to (all) N write threads > will often notice, and race to acquire the writeLock in order to freeze the > memtable. This means that we do way more writeLock acquisitions than we need > to...{quote} > See CASSANDRA-1930 for backstory, but adding double checking inside a read > lock before trying to re-entrantly acquire the writelock would eliminate most > of these excess writelock acquisitions. > Alternatively, we should explore removing locking from these structures > entirely, and replacing the writeLock acquisition with a per-memtable counter > of active threads. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Updated: (CASSANDRA-2240) nodetool scrub hangs or throws an exception
[ https://issues.apache.org/jira/browse/CASSANDRA-2240?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Yaniv Kunda updated CASSANDRA-2240: --- Attachment: system.log.2.gz another system log, this time leading to a vanilla java.io.EOFException > nodetool scrub hangs or throws an exception > --- > > Key: CASSANDRA-2240 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2240 > Project: Cassandra > Issue Type: Bug > Components: Tools >Affects Versions: 0.7.3 > Environment: using build #314 from hudson >Reporter: Yaniv Kunda >Assignee: Jonathan Ellis > Fix For: 0.7.4 > > Attachments: exception2.txt, jstack1.txt, > signatureBuckets-f-104.tar.gz, system.log.2.gz, system.log.gz, > test-0.6.x-tables.tar.gz, userChannelFilter-f-210.tar.gz > > > trying to run nodetool scrub hung or (only happened one time) threw the > following exception: > Error occured while scrubbing keyspace > java.util.concurrent.ExecutionException: java.lang.AssertionError > at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:252) > at java.util.concurrent.FutureTask.get(FutureTask.java:111) > at > org.apache.cassandra.db.CompactionManager.performScrub(CompactionManager.java:203) > at org.apache.cassandra.db.ColumnFamilyStore.scrub(ColumnFamilyStore.java:934) > at org.apache.cassandra.service.StorageService.scrub(StorageService.java:1247) > 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:616) > at > com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:111) > at > com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:45) > at > com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:226) > at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:138) > at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:251) > at > com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:857) > at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:795) > at > javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1450) > at > javax.management.remote.rmi.RMIConnectionImpl.access$200(RMIConnectionImpl.java:90) > at > javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1285) > at > javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1383) > at > javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:807) > 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:616) > at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322) > at sun.rmi.transport.Transport$1.run(Transport.java:177) > 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:553) > at > sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:808) > at > sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:667) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) > at java.lang.Thread.run(Thread.java:636) > Caused by: java.lang.AssertionError > at > org.apache.cassandra.dht.RandomPartitioner.convertFromDiskFormat(RandomPartitioner.java:62) > at > org.apache.cassandra.io.sstable.SSTableReader.decodeKey(SSTableReader.java:627) > at > org.apache.cassandra.db.CompactionManager.doScrub(CompactionManager.java:541) > at > org.apache.cassandra.db.CompactionManager.access$600(CompactionManager.java:55) > at > org.apache.cassandra.db.CompactionManager$3.call(CompactionManager.java:194) > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) > at java.util.concurrent.FutureTask.run(FutureTask.java:166) > ... 3 more -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
svn commit: r1075231 - in /cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra: avro/ db/filter/ db/marshal/ thrift/
Author: jbellis Date: Mon Feb 28 08:05:51 2011 New Revision: 1075231 URL: http://svn.apache.org/viewvc?rev=1075231&view=rev Log: cache IColumn and reverse comparators in AbstractType patch by jbellis; reviewed by slebresne for CASSANDRA-2075 Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/avro/AvroValidation.java cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/filter/NamesQueryFilter.java cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/filter/QueryFilter.java cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/filter/SliceQueryFilter.java cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/marshal/AbstractType.java cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/thrift/ThriftValidation.java Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/avro/AvroValidation.java URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/avro/AvroValidation.java?rev=1075231&r1=1075230&r2=1075231&view=diff == --- cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/avro/AvroValidation.java (original) +++ cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/avro/AvroValidation.java Mon Feb 28 08:05:51 2011 @@ -203,7 +203,7 @@ public class AvroValidation if (range.count < 0) throw newInvalidRequestException("Ranges require a non-negative count."); -Comparator orderedComparator = range.reversed ? comparator.getReverseComparator() : comparator; +Comparator orderedComparator = range.reversed ? comparator.reverseComparator : comparator; if (range.start.remaining() > 0 && range.finish.remaining() > 0 && orderedComparator.compare(range.start, range.finish) > 0) throw newInvalidRequestException("range finish must come after start in the order of traversal"); } Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/filter/NamesQueryFilter.java URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/filter/NamesQueryFilter.java?rev=1075231&r1=1075230&r2=1075231&view=diff == --- cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/filter/NamesQueryFilter.java (original) +++ cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/filter/NamesQueryFilter.java Mon Feb 28 08:05:51 2011 @@ -26,7 +26,6 @@ import java.util.Comparator; import java.util.Iterator; import java.util.SortedSet; -import org.apache.cassandra.config.CFMetaData; import org.apache.cassandra.db.*; import org.apache.cassandra.db.columniterator.IColumnIterator; import org.apache.cassandra.db.columniterator.SSTableNamesIterator; @@ -88,6 +87,6 @@ public class NamesQueryFilter implements public Comparator getColumnComparator(AbstractType comparator) { -return QueryFilter.getColumnComparator(comparator); +return comparator.columnComparator; } } Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/filter/QueryFilter.java URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/filter/QueryFilter.java?rev=1075231&r1=1075230&r2=1075231&view=diff == --- cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/filter/QueryFilter.java (original) +++ cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/filter/QueryFilter.java Mon Feb 28 08:05:51 2011 @@ -88,18 +88,6 @@ public class QueryFilter return superFilter.getSSTableColumnIterator(sstable, file, key); } -// here so it can be used by SQF and NQF. non-package callers should call IFilter.getColumnComparator -static Comparator getColumnComparator(final Comparator comparator) -{ -return new Comparator() -{ -public int compare(IColumn c1, IColumn c2) -{ -return comparator.compare(c1.name(), c2.name()); -} -}; -} - public void collectCollatedColumns(final ColumnFamily returnCF, Iterator collatedColumns, final int gcBefore) { // define a 'reduced' iterator that merges columns w/ the same name, which Modified: cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/filter/SliceQueryFilter.java URL: http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/filter/SliceQueryFilter.java?rev=1075231&r1=1075230&r2=1075231&view=diff == --- cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/db/filter/SliceQueryFilter.java (origina
[jira] Commented: (CASSANDRA-2075) Eliminate excess comparator creation
[ https://issues.apache.org/jira/browse/CASSANDRA-2075?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13000164#comment-13000164 ] Jonathan Ellis commented on CASSANDRA-2075: --- committed we should keep the public API stable until 0.8, just in case people are using that externally (I wouldn't be surprised if Hector does for instance) > Eliminate excess comparator creation > > > Key: CASSANDRA-2075 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2075 > Project: Cassandra > Issue Type: Improvement >Reporter: Stu Hood >Assignee: Jonathan Ellis >Priority: Minor > Labels: abstract_types, gc > Fix For: 0.7.4 > > Attachments: 2075.txt > > Original Estimate: 1h > Remaining Estimate: 1h > > Despite the singleton status of each AbstractType, we end up creating at > least one new comparator per query. By making more of the "wrapper" > comparators that exist in the codebase members of AbstractType, we could cut > down on the "new Comparator" spam. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Updated: (CASSANDRA-2240) nodetool scrub hangs or throws an exception
[ https://issues.apache.org/jira/browse/CASSANDRA-2240?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Yaniv Kunda updated CASSANDRA-2240: --- Attachment: system.log.gz Attached a system log leading up to a "java.io.EOFException: attempted to skip X bytes but only skipped Y" error during a scrub of a very big (probably uncompactable) sstable > nodetool scrub hangs or throws an exception > --- > > Key: CASSANDRA-2240 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2240 > Project: Cassandra > Issue Type: Bug > Components: Tools >Affects Versions: 0.7.3 > Environment: using build #314 from hudson >Reporter: Yaniv Kunda >Assignee: Jonathan Ellis > Fix For: 0.7.4 > > Attachments: exception2.txt, jstack1.txt, > signatureBuckets-f-104.tar.gz, system.log.gz, test-0.6.x-tables.tar.gz, > userChannelFilter-f-210.tar.gz > > > trying to run nodetool scrub hung or (only happened one time) threw the > following exception: > Error occured while scrubbing keyspace > java.util.concurrent.ExecutionException: java.lang.AssertionError > at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:252) > at java.util.concurrent.FutureTask.get(FutureTask.java:111) > at > org.apache.cassandra.db.CompactionManager.performScrub(CompactionManager.java:203) > at org.apache.cassandra.db.ColumnFamilyStore.scrub(ColumnFamilyStore.java:934) > at org.apache.cassandra.service.StorageService.scrub(StorageService.java:1247) > 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:616) > at > com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:111) > at > com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:45) > at > com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:226) > at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:138) > at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:251) > at > com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:857) > at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:795) > at > javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1450) > at > javax.management.remote.rmi.RMIConnectionImpl.access$200(RMIConnectionImpl.java:90) > at > javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1285) > at > javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1383) > at > javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:807) > 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:616) > at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:322) > at sun.rmi.transport.Transport$1.run(Transport.java:177) > 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:553) > at > sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:808) > at > sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:667) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) > at java.lang.Thread.run(Thread.java:636) > Caused by: java.lang.AssertionError > at > org.apache.cassandra.dht.RandomPartitioner.convertFromDiskFormat(RandomPartitioner.java:62) > at > org.apache.cassandra.io.sstable.SSTableReader.decodeKey(SSTableReader.java:627) > at > org.apache.cassandra.db.CompactionManager.doScrub(CompactionManager.java:541) > at > org.apache.cassandra.db.CompactionManager.access$600(CompactionManager.java:55) > at > org.apache.cassandra.db.CompactionManager$3.call(CompactionManager.java:194) > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) > at java.util.concurrent.FutureTask.run(FutureTask.java:166) > ... 3 more -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (CASSANDRA-2252) off-heap memtables
[ https://issues.apache.org/jira/browse/CASSANDRA-2252?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13000163#comment-13000163 ] Stu Hood commented on CASSANDRA-2252: - Found a very obvious (and embarrassing) problem with the alternate patch... will post the fix tomorrow. > off-heap memtables > -- > > Key: CASSANDRA-2252 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2252 > Project: Cassandra > Issue Type: Improvement >Reporter: Jonathan Ellis >Assignee: Jonathan Ellis > Fix For: 0.8 > > Attachments: 0001-add-MemtableAllocator.txt, > 0002-add-off-heap-MemtableAllocator-support.txt, 2252-alternate-v1.tgz > > > The memtable design practically actively fights Java's GC design. Todd > Lipcon gave a good explanation over on HBASE-3455. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] Commented: (CASSANDRA-2075) Eliminate excess comparator creation
[ https://issues.apache.org/jira/browse/CASSANDRA-2075?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13000160#comment-13000160 ] Sylvain Lebresne commented on CASSANDRA-2075: - +1 (minor point: can't we remove AbstractType.getReverseComparator() altogether instead of deprecating it ?) > Eliminate excess comparator creation > > > Key: CASSANDRA-2075 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2075 > Project: Cassandra > Issue Type: Improvement >Reporter: Stu Hood >Assignee: Jonathan Ellis >Priority: Minor > Labels: abstract_types, gc > Fix For: 0.7.4 > > Attachments: 2075.txt > > Original Estimate: 1h > Remaining Estimate: 1h > > Despite the singleton status of each AbstractType, we end up creating at > least one new comparator per query. By making more of the "wrapper" > comparators that exist in the codebase members of AbstractType, we could cut > down on the "new Comparator" spam. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira