You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Nicholas Telford (JIRA)" <ji...@apache.org> on 2010/02/25 16:33:27 UTC
[jira] Commented: (CASSANDRA-711) Some Thrift Exceptions not passed
down to Client
[ https://issues.apache.org/jira/browse/CASSANDRA-711?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12838379#action_12838379 ]
Nicholas Telford commented on CASSANDRA-711:
--------------------------------------------
Another example of this:
ERROR - Thrift error occurred during processing of message.
org.apache.thrift.protocol.TProtocolException: Required field 'timestamp' was not found in serialized data! Struct: Column(name:null, value:null, timestamp:0)
at org.apache.cassandra.service.Column.read(Column.java:382)
at org.apache.cassandra.service.SuperColumn.read(SuperColumn.java:317)
at org.apache.cassandra.service.ColumnOrSuperColumn.read(ColumnOrSuperColumn.java:295)
at org.apache.cassandra.service.Cassandra$batch_insert_args.read(Cassandra.java:10447)
at org.apache.cassandra.service.Cassandra$Processor$batch_insert.process(Cassandra.java:1084)
at org.apache.cassandra.service.Cassandra$Processor.process(Cassandra.java:817)
at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:253)
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)
Seems to arise when you don't pass a field that was marked as "required" in the structs Thrift interface spec. Thrift appears to do the checks on the server-side and not properly handle the exception.
> Some Thrift Exceptions not passed down to Client
> ------------------------------------------------
>
> Key: CASSANDRA-711
> URL: https://issues.apache.org/jira/browse/CASSANDRA-711
> Project: Cassandra
> Issue Type: Bug
> Affects Versions: 0.6
> Reporter: Chris Goffinet
> Assignee: Jonathan Ellis
> Priority: Minor
> Fix For: 0.6
>
> Attachments: 711-test.txt
>
>
> We still don't pass all exceptions down to client via Thrift. We have seen a few of these when working on our client library:
> org.apache.thrift.protocol.TProtocolException: Required field 'start' was not present! Struct: SliceRange(start:null, finish:null, reversed:false, count:100)
> Would be good if those exceptions were passed down, instead of 'TSocket Read 0 Bytes'.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.