You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Chris Goffinet (JIRA)" <ji...@apache.org> on 2010/01/18 21:16:54 UTC
[jira] Created: (CASSANDRA-711) Some Thrift Exceptions not passed
down to Client
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
Priority: Minor
Fix For: 0.6
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.
[jira] Commented: (CASSANDRA-711) Some Thrift Exceptions not passed
down to Client
Posted by "Nicholas Telford (JIRA)" <ji...@apache.org>.
[ 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.
[jira] Commented: (CASSANDRA-711) Some Thrift Exceptions not passed
down to Client
Posted by "Stu Hood (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-711?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12839559#action_12839559 ]
Stu Hood commented on CASSANDRA-711:
------------------------------------
The patch for THRIFT-689 was committed in Thrift SVN r916825. What are the next steps here? Updating Cassandra's thrift to that exact revision?
> 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.
[jira] Commented: (CASSANDRA-711) Some Thrift Exceptions not passed
down to Client
Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-711?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12801925#action_12801925 ]
Jonathan Ellis commented on CASSANDRA-711:
------------------------------------------
can you include full ST?
it sounds like a thrift bug, not ours.
> 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
> Priority: Minor
> Fix For: 0.6
>
>
> 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.
[jira] Resolved: (CASSANDRA-711) Some Thrift Exceptions not passed
down to Client
Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-711?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jonathan Ellis resolved CASSANDRA-711.
--------------------------------------
Resolution: Fixed
Done, thanks for the Thrift help Stu.
> 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.
[jira] Commented: (CASSANDRA-711) Some Thrift Exceptions not passed
down to Client
Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-711?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12839673#action_12839673 ]
Jonathan Ellis commented on CASSANDRA-711:
------------------------------------------
yeah, update and test for regressions :)
I'll do that today.
> 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.
[jira] Assigned: (CASSANDRA-711) Some Thrift Exceptions not passed
down to Client
Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-711?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jonathan Ellis reassigned CASSANDRA-711:
----------------------------------------
Assignee: Jonathan Ellis
> 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
>
>
> 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.
[jira] Updated: (CASSANDRA-711) Some Thrift Exceptions not passed
down to Client
Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-711?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jonathan Ellis updated CASSANDRA-711:
-------------------------------------
Attachment: 711-test.txt
test to demonstrate problem. may need rebasing.
> 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.
[jira] Commented: (CASSANDRA-711) Some Thrift Exceptions not passed
down to Client
Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-711?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12804695#action_12804695 ]
Jonathan Ellis commented on CASSANDRA-711:
------------------------------------------
fix attached to THRIFT-689.
> 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
> Priority: Minor
> Fix For: 0.6
>
>
> 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.
[jira] Commented: (CASSANDRA-711) Some Thrift Exceptions not passed
down to Client
Posted by "Jonathan Ellis (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-711?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12838385#action_12838385 ]
Jonathan Ellis commented on CASSANDRA-711:
------------------------------------------
yes, that is why I submitted a fix to thrift and linked the thrift ticket two comments above yours
> 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.
[jira] Commented: (CASSANDRA-711) Some Thrift Exceptions not passed
down to Client
Posted by "Chris Goffinet (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/CASSANDRA-711?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12801950#action_12801950 ]
Chris Goffinet commented on CASSANDRA-711:
------------------------------------------
You might be right... Hmm...
ERROR [pool-1-thread-34] 2010-01-18 12:13:35,252 TThreadPoolServer.java (line 257) Thrift error occurred during processing of message.
org.apache.thrift.protocol.TProtocolException: Required field 'start' was not present! Struct: SliceRange(start:null, finish:null, reversed:false, count:100)
at org.apache.cassandra.service.SliceRange.validate(SliceRange.java:587)
at org.apache.cassandra.service.SliceRange.read(SliceRange.java:515)
at org.apache.cassandra.service.SlicePredicate.read(SlicePredicate.java:366)
at org.apache.cassandra.service.Cassandra$get_slice_args.read(Cassandra.java:3063)
at org.apache.cassandra.service.Cassandra$Processor$get_slice.process(Cassandra.java:937)
at org.apache.cassandra.service.Cassandra$Processor.process(Cassandra.java:895)
at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:253)
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)
> 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
> Priority: Minor
> Fix For: 0.6
>
>
> 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.