[
https://issues.apache.org/jira/browse/THRIFT-517?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12713639#action_12713639
]
Todd Lipcon commented on THRIFT-517:
------------------------------------
I always understood this as the difference between a TException and a
TApplicationException of some sort. I think in some of the implementations, it
will catch exceptions in the server code and serialize it back over the wire as
a TApplicationException. I do something of this sort in Erlang, at least, if I
recall correctly :)
> TExceptions thrown by server result in cryptic error message on client -
> Tried to read 4 bytes, but only got 0 bytes
> --------------------------------------------------------------------------------------------------------------------
>
> Key: THRIFT-517
> URL: https://issues.apache.org/jira/browse/THRIFT-517
> Project: Thrift
> Issue Type: Bug
> Components: Compiler (Java), Library (Java)
> Reporter: Adrian Woodhead
>
> To reproduce:
> 1. Define a simple Thrift service method with no custom exceptions.
> 2. In server implementation of service method, throw a TException.
> 3. Generated code in client forces you to do try/catch TException around
> service call, do this, and output stack trace,
> The exception thrown by the server then results in this rather cryptic error
> message in the client:
> 26 22:32:44,931 INFO Caused by:
> org.apache.thrift.transport.TTransportException: Cannot read. Remote side has
> closed. Tried to read 4 bytes, but only got 0 bytes.
> 26 22:32:44,931 INFO at
> org.apache.thrift.transport.TTransport.readAll(TTransport.java:86)
> 26 22:32:44,931 INFO at
> org.apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:314)
> 26 22:32:44,931 INFO at
> org.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:262)
> 26 22:32:44,931 INFO at
> org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:192)
> 26 22:32:44,931 INFO at
> fm.last.catalogue.api.TCatalogueAPI$Client.recv_getTrackById(TCatalogueAPI.java:249)
> It would be better if the client got the actual TException sent by the
> server, or at the very least a better error message indicating that an
> unexpected error occurred on the server (akin to an HTTP 500 message that
> most web servers use).
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.