You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Sam Overton (JIRA)" <ji...@apache.org> on 2012/06/18 19:43:42 UTC
[jira] [Updated] (CASSANDRA-4353) no error propagated to client
when updating a column family with an invalid column def
[ https://issues.apache.org/jira/browse/CASSANDRA-4353?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sam Overton updated CASSANDRA-4353:
-----------------------------------
Attachment: 4353.patch
Attached patch which re-throws MarshalException as InvalidRequestException in CFMetaData.fromThrift
> no error propagated to client when updating a column family with an invalid column def
> --------------------------------------------------------------------------------------
>
> Key: CASSANDRA-4353
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4353
> Project: Cassandra
> Issue Type: Bug
> Components: API
> Affects Versions: 1.1.1
> Reporter: Sam Overton
> Priority: Minor
> Attachments: 4353.patch
>
>
> CASSANDRA-3761 appears to have introduced a regression which is exposed by test_system_column_family_operations in test/system/test_thrift_server.py
> The test fails with this stack trace:
> {noformat}
> ======================================================================
> ERROR: system.test_thrift_server.TestMutations.test_system_column_family_operations
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File "/usr/lib/python2.6/site-packages/nose/case.py", line 183, in runTest
> self.test(*self.arg)
> File "/opt/acunu/tests/cassandra-tests.hg/thrift/system/test_thrift_server.py", line 1469, in test_system_column_family_operations
> _expect_exception(fail_invalid_field, InvalidRequestException)
> File "/opt/acunu/tests/cassandra-tests.hg/thrift/system/test_thrift_server.py", line 209, in _expect_exception
> r = fn()
> File "/opt/acunu/tests/cassandra-tests.hg/thrift/system/test_thrift_server.py", line 1468, in fail_invalid_field
> client.system_update_column_family(modified_cf)
> File "/usr/lib/python2.6/site-packages/cassandra/Cassandra.py", line 1892, in system_update_column_family
> return self.recv_system_update_column_family()
> File "/usr/lib/python2.6/site-packages/cassandra/Cassandra.py", line 1903, in recv_system_update_column_family
> (fname, mtype, rseqid) = self._iprot.readMessageBegin()
> File "/usr/lib64/python2.6/site-packages/thrift/protocol/TBinaryProtocol.py", line 126, in readMessageBegin
> sz = self.readI32()
> File "/usr/lib64/python2.6/site-packages/thrift/protocol/TBinaryProtocol.py", line 203, in readI32
> buff = self.trans.readAll(4)
> File "/usr/lib64/python2.6/site-packages/thrift/transport/TTransport.py", line 58, in readAll
> chunk = self.read(sz-have)
> File "/usr/lib64/python2.6/site-packages/thrift/transport/TTransport.py", line 272, in read
> self.readFrame()
> File "/usr/lib64/python2.6/site-packages/thrift/transport/TTransport.py", line 276, in readFrame
> buff = self.__trans.readAll(4)
> File "/usr/lib64/python2.6/site-packages/thrift/transport/TTransport.py", line 58, in readAll
> chunk = self.read(sz-have)
> File "/usr/lib64/python2.6/site-packages/thrift/transport/TSocket.py", line 108, in read
> raise TTransportException(type=TTransportException.END_OF_FILE, message='TSocket read 0 bytes')
> TTransportException: TSocket read 0 bytes
> ----------------------------------------------------------------------
> {noformat}
> The logs have the following stack trace:
> {noformat}
> ERROR [Thrift:1] 2012-06-18 18:17:27,865 CustomTThreadPoolServer.java (line 204) Error occurred during processing of message.
> org.apache.cassandra.db.marshal.MarshalException: A long is exactly 8 bytes: 16
> at org.apache.cassandra.db.marshal.LongType.getString(LongType.java:72)
> at org.apache.cassandra.cql3.ColumnIdentifier.<init>(ColumnIdentifier.java:47)
> at org.apache.cassandra.cql3.CFDefinition.<init>(CFDefinition.java:115)
> at org.apache.cassandra.config.CFMetaData.updateCfDef(CFMetaData.java:1303)
> at org.apache.cassandra.config.CFMetaData.columnMetadata(CFMetaData.java:228)
> at org.apache.cassandra.config.CFMetaData.fromThrift(CFMetaData.java:648)
> at org.apache.cassandra.thrift.CassandraServer.system_update_column_family(CassandraServer.java:1061)
> at org.apache.cassandra.thrift.Cassandra$Processor$system_update_column_family.getResult(Cassandra.java:3520)
> at org.apache.cassandra.thrift.Cassandra$Processor$system_update_column_family.getResult(Cassandra.java:3508)
> at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:32)
> at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:34)
> at org.apache.cassandra.thrift.CustomTThreadPoolServer$WorkerProcess.run(CustomTThreadPoolServer.java:186)
> 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)
> {noformat}
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira