[jira] Commented: (CASSANDRA-2240) nodetool scrub hangs or throws an exception

2011-02-28 Thread JIRA

[ 
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

2011-02-28 Thread Jonathan Ellis (JIRA)

 [ 
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

2011-02-28 Thread Hudson (JIRA)

[ 
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

2011-02-28 Thread JIRA

[ 
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

2011-02-28 Thread JIRA

[ 
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

2011-02-28 Thread Jonathan Ellis (JIRA)

 [ 
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

2011-02-28 Thread Stu Hood (JIRA)

 [ 
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

2011-02-28 Thread Stu Hood (JIRA)

 [ 
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

2011-02-28 Thread JIRA

[ 
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

2011-02-28 Thread JIRA

[ 
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.

2011-02-28 Thread Hudson (JIRA)

[ 
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

2011-02-28 Thread JIRA

[ 
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

2011-02-28 Thread jbellis
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

2011-02-28 Thread Hudson (JIRA)

[ 
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

2011-02-28 Thread jbellis
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

2011-02-28 Thread Jonathan Ellis (JIRA)

 [ 
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.

2011-02-28 Thread Jonathan Ellis (JIRA)

 [ 
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.

2011-02-28 Thread JIRA
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

2011-02-28 Thread eevans
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

2011-02-28 Thread eevans
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

2011-02-28 Thread eevans
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

2011-02-28 Thread T Jake Luciani (JIRA)

[ 
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.

2011-02-28 Thread Jeremy Hanna (JIRA)

 [ 
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

2011-02-28 Thread JIRA

[ 
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.

2011-02-28 Thread Jeremy Hanna (JIRA)

 [ 
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.

2011-02-28 Thread Jeremy Hanna (JIRA)

 [ 
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.

2011-02-28 Thread Jeremy Hanna (JIRA)

 [ 
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

2011-02-28 Thread Hudson (JIRA)

[ 
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

2011-02-28 Thread Jonathan Ellis (JIRA)

 [ 
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

2011-02-28 Thread jbellis
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.

2011-02-28 Thread Jonathan Ellis (JIRA)

[ 
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

2011-02-28 Thread jbellis
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

2011-02-28 Thread Jonathan Ellis (JIRA)

[ 
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

2011-02-28 Thread Jonathan Ellis (JIRA)

 [ 
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

2011-02-28 Thread Mikael Sitruk (JIRA)

 [ 
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.

2011-02-28 Thread Jonathan Ellis (JIRA)

[ 
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.

2011-02-28 Thread Jonathan Ellis (JIRA)

 [ 
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

2011-02-28 Thread Hudson (JIRA)

[ 
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.

2011-02-28 Thread Hudson (JIRA)

[ 
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

2011-02-28 Thread T Jake Luciani (JIRA)

[ 
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

2011-02-28 Thread JIRA

[ 
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

2011-02-28 Thread brandonwilliams
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

2011-02-28 Thread Jonathan Ellis (JIRA)
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.

2011-02-28 Thread Eldon Stegall (JIRA)

 [ 
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

2011-02-28 Thread Jonathan Ellis (JIRA)

[ 
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

2011-02-28 Thread buildbot
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.

2011-02-28 Thread Eldon Stegall (JIRA)

 [ 
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

2011-02-28 Thread jbellis
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

2011-02-28 Thread T Jake Luciani (JIRA)

[ 
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

2011-02-28 Thread T Jake Luciani (JIRA)

 [ 
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.

2011-02-28 Thread Eldon Stegall (JIRA)
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

2011-02-28 Thread buildbot
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/

2011-02-28 Thread jbellis
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

2011-02-28 Thread Pavel Yaskevich (JIRA)

[ 
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

2011-02-28 Thread Jonathan Ellis (JIRA)

[ 
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

2011-02-28 Thread Ed Anuff (JIRA)

[ 
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

2011-02-28 Thread jbellis
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

2011-02-28 Thread Jonathan Ellis (JIRA)

 [ 
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

2011-02-28 Thread Jonathan Ellis (JIRA)

[ 
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

2011-02-28 Thread Ed Anuff (JIRA)

 [ 
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

2011-02-28 Thread Ed Anuff (JIRA)

 [ 
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

2011-02-28 Thread Ed Anuff (JIRA)

 [ 
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

2011-02-28 Thread Ed Anuff (JIRA)

 [ 
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

2011-02-28 Thread Pavel Yaskevich (JIRA)

[ 
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

2011-02-28 Thread Jonathan Ellis (JIRA)

 [ 
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

2011-02-28 Thread Vivek Mishra (JIRA)

 [ 
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

2011-02-28 Thread Vivek Mishra (JIRA)

[ 
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

2011-02-28 Thread Hudson (JIRA)

[ 
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

2011-02-28 Thread Ed Anuff (JIRA)

[ 
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

2011-02-28 Thread brandonwilliams
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

2011-02-28 Thread Pavel Yaskevich (JIRA)

[ 
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

2011-02-28 Thread Brandon Williams (JIRA)

[ 
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

2011-02-28 Thread Gary Dusbabek (JIRA)

[ 
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

2011-02-28 Thread Folke Behrens (JIRA)

[ 
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

2011-02-28 Thread Sylvain Lebresne (JIRA)

 [ 
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

2011-02-28 Thread Pavel Yaskevich (JIRA)

 [ 
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

2011-02-28 Thread Hudson (JIRA)

[ 
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

2011-02-28 Thread Sylvain Lebresne (JIRA)

[ 
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

2011-02-28 Thread brandonwilliams
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

2011-02-28 Thread Norman Maurer (JIRA)

 [ 
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

2011-02-28 Thread Sylvain Lebresne (JIRA)

[ 
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

2011-02-28 Thread Pavel Yaskevich (JIRA)

[ 
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

2011-02-28 Thread Pavel Yaskevich (JIRA)

 [ 
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

2011-02-28 Thread Sylvain Lebresne (JIRA)

[ 
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

2011-02-28 Thread Pavel Yaskevich (JIRA)

 [ 
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

2011-02-28 Thread Sylvain Lebresne (JIRA)

[ 
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

2011-02-28 Thread Pavel Yaskevich (JIRA)

[ 
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

2011-02-28 Thread Sylvain Lebresne (JIRA)

[ 
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

2011-02-28 Thread Pavel Yaskevich (JIRA)

[ 
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

2011-02-28 Thread Sylvain Lebresne (JIRA)

[ 
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

2011-02-28 Thread Yaniv Kunda (JIRA)

 [ 
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

2011-02-28 Thread Hudson (JIRA)

[ 
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

2011-02-28 Thread Sylvain Lebresne (JIRA)

 [ 
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

2011-02-28 Thread Sylvain Lebresne (JIRA)

 [ 
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

2011-02-28 Thread Yaniv Kunda (JIRA)

 [ 
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/

2011-02-28 Thread jbellis
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

2011-02-28 Thread Jonathan Ellis (JIRA)

[ 
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

2011-02-28 Thread Yaniv Kunda (JIRA)

 [ 
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

2011-02-28 Thread Stu Hood (JIRA)

[ 
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

2011-02-28 Thread Sylvain Lebresne (JIRA)

[ 
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




  1   2   >