You should be aware that Cassandra doesn't support changing column families without reloading the data.
Jun IBM Almaden Research Center K55/B1, 650 Harry Road, San Jose, CA 95120-6099 jun...@almaden.ibm.com |------------> | From: | |------------> >--------------------------------------------------------------------------------------------------------------------------------------------------| |Phillip Michalak <phil.micha...@digitalreasoning.com> | >--------------------------------------------------------------------------------------------------------------------------------------------------| |------------> | To: | |------------> >--------------------------------------------------------------------------------------------------------------------------------------------------| |cassandra-user@incubator.apache.org | >--------------------------------------------------------------------------------------------------------------------------------------------------| |------------> | Date: | |------------> >--------------------------------------------------------------------------------------------------------------------------------------------------| |08/20/2009 04:16 PM | >--------------------------------------------------------------------------------------------------------------------------------------------------| |------------> | Subject: | |------------> >--------------------------------------------------------------------------------------------------------------------------------------------------| |Re: quorum read timeout | >--------------------------------------------------------------------------------------------------------------------------------------------------| I can't reproduce this after cleaning out the data/ directories (and commit logs) and restarting the cluster. I suspect that I had gotten to an inconsistent state as I was playing around with the keyspace column families. I've updated the bug report with a comment to this effect, but have left it open for someone with more experience to close it out. Cheers, Phil On Aug 19, 2009, at 5:14 PM, Phillip Michalak wrote: Sure thing. Filed as https://issues.apache.org/jira/browse/CASSANDRA-381 Thanks, Phil On Aug 19, 2009, at 4:54 PM, Jonathan Ellis wrote: Looks like a bug in TcpConnectionManager. Can you file a ticket? thanks, -Jonathan On Wed, Aug 19, 2009 at 2:49 PM, Phillip Michalak<phil.micha...@digitalreasoning.com> wrote: It's cassandra-0.4-beta1. Thanks! Phil On Aug 19, 2009, at 4:43 PM, Jonathan Ellis wrote: Is this 0.3 or 0.4/trunk? On Wed, Aug 19, 2009 at 2:36 PM, Phillip Michalak<phil.micha...@digitalreasoning.com> wrote: I'm running three Cassandra nodes in virtual machines. During a 'get' operation from Cassandra-remote directed at one of these nodes, I'm receiving the following output vad...@vadmin:~/cassandra$ interface/gen-py/cassandra/Cassandra-remote -h 192.168.133.130:9160 get 'MockElementLibrary' '0401318uuuuruepwdcznr' "ColumnPath('strings', None, 'id')" 2 /usr/local/lib/python2.6/dist-packages/thrift/Thrift.py:58: DeprecationWarning: BaseException.message has been deprecated as of Python 2.6 self.message = message /usr/local/lib/python2.6/dist-packages/thrift/Thrift.py:99: DeprecationWarning: BaseException.message has been deprecated as of Python 2.6 self.message = iprot.readString(); Traceback (most recent call last): File "interface/gen-py/cassandra/Cassandra-remote", line 93, in <module> pp.pprint(client.get(args[0],args[1],eval (args[2]),eval(args[3]),)) File "/home/vadmin/cassandra-0.4.0-beta1/interface/gen-py/cassandra/Cassandra.py", line 182, in get return self.recv_get() File "/home/vadmin/cassandra-0.4.0-beta1/interface/gen-py/cassandra/Cassandra.py", line 201, in recv_get raise x thrift.Thrift.TApplicationException/usr/local/lib/python2.6/dist-packages/thrift/Thrift.py:76: DeprecationWarning: BaseException.message has been deprecated as of Python 2.6 if self.message: /usr/local/lib/python2.6/dist-packages/thrift/Thrift.py:77: DeprecationWarning: BaseException.message has been deprecated as of Python 2.6 return self.message : Internal error processing get The same 'get' operation from Cassandra-remote directed at another of these nodes, yields 'normal' output vad...@vadmin:~/cassandra$ interface/gen-py/cassandra/Cassandra-remote -h 192.168.133.129:9160 get 'MockElementLibrary' '0401318uuuuruepwdcznr' "ColumnPath('strings', None, 'id')" 2 Traceback (most recent call last): File "interface/gen-py/cassandra/Cassandra-remote", line 93, in <module> pp.pprint(client.get(args[0],args[1],eval (args[2]),eval(args[3]),)) File "/home/vadmin/cassandra-0.4.0-beta1/interface/gen-py/cassandra/Cassandra.py", line 182, in get return self.recv_get() File "/home/vadmin/cassandra-0.4.0-beta1/interface/gen-py/cassandra/Cassandra.py", line 210, in recv_get raise result.nfe ttypes.NotFoundException: NotFoundException() Furthermore, querying the same column for (some) other keys is successful when no matter which node it is directed at. Looking at the log for the node that produced the error from the query above: DEBUG [pool-1-thread-22] 2009-08-19 16:54:57,618 CassandraServer.java (line 221) get DEBUG [pool-1-thread-22] 2009-08-19 16:54:57,618 StorageProxy.java (line 420) strongread reading data for SliceByNamesReadCommand (table='MockElementLibrary', key='0401318uuuuruepwdcznr', columnParent='QueryPath (columnFamilyName='strings', superColumnName='null', columnName='null')', columns=[id,]) from 38...@null DEBUG [pool-1-thread-22] 2009-08-19 16:54:57,619 StorageProxy.java (line 427) strongread reading digest for SliceByNamesReadCommand (table='MockElementLibrary', key='0401318uuuuruepwdcznr', columnParent='QueryPath (columnFamilyName='strings', superColumnName='null', columnName='null')', columns=[id,]) from 38...@192.168.133.129:7000 WARN [MESSAGE-SERIALIZER-POOL:4] 2009-08-19 16:54:57,619 MessageSerializationTask.java (line 81) Exception was generated at : 08/19/2009 16:54:57 on thread MESSAGE-SERIALIZER-POOL:4 java.lang.NullPointerException at org.apache.cassandra.net.TcpConnection.<init> (TcpConnection.java:83) at org.apache.cassandra.net.TcpConnectionManager.getConnection (TcpConnectionManager.java:64) at org.apache.cassandra.net.MessagingService.getConnection (MessagingService.java:306) at org.apache.cassandra.net.MessageSerializationTask.run (MessageSerializationTask.java:66) at java.util.concurrent.ThreadPoolExecutor $Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor $Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run (Thread.java:619) DEBUG [RESPONSE-STAGE:4] 2009-08-19 16:54:57,622 ResponseVerbHandler.java (line 38) Processing response on a callback from 65b1e352-a0a3-1a7f-138b-9bea3e1d7...@192.168.133.129 :7000 ERROR [pool-1-thread-22] 2009-08-19 16:55:02,619 Cassandra.java (line 608) Internal error processing get java.lang.RuntimeException: java.util.concurrent.TimeoutException: Operation timed out - received only 1 responses from 192.168.133.129:7000 . at org.apache.cassandra.service.CassandraServer.readColumnFamily (CassandraServer.java:100) at org.apache.cassandra.service.CassandraServer.get (CassandraServer.java:226) at org.apache.cassandra.service.Cassandra $Processor$get.process(Cassandra.java:602) at org.apache.cassandra.service.Cassandra $Processor.process(Cassandra.java:560) at org.apache.thrift.server.TThreadPoolServer $WorkerProcess.run (TThreadPoolServer.java:252) at java.util.concurrent.ThreadPoolExecutor $Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor $Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run (Thread.java:619) Caused by: java.util.concurrent.TimeoutException: Operation timed out - received only 1 responses from 192.168.133.129:7000 . at org.apache.cassandra.service.QuorumResponseHandler.get (QuorumResponseHandler.java:86) at org.apache.cassandra.service.StorageProxy.strongRead (StorageProxy.java:435) at org.apache.cassandra.service.StorageProxy.readProtocol (StorageProxy.java:330) at org.apache.cassandra.service.CassandraServer.readColumnFamily (CassandraServer.java:92) ... 7 more It appears to me that there is a timeout during the QuorumResponseHandler processing, stemming from a NullPointerException that occurs as part of the read process. I suspect that this NullPointerException has something to do with the second DEBUG [pool-1-thread-22] comment regarding strongread ... from 38...@null. Does anyone know why this might be happening? Thanks for any insight, Phil
<<inline: graycol.gif>>
<<inline: ecblank.gif>>