You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Bryan Duxbury (JIRA)" <ji...@apache.org> on 2010/10/28 01:18:20 UTC

[jira] Closed: (THRIFT-517) TExceptions thrown by server result in cryptic error message on client - Tried to read 4 bytes, but only got 0 bytes

     [ https://issues.apache.org/jira/browse/THRIFT-517?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Bryan Duxbury closed THRIFT-517.
--------------------------------

       Resolution: Fixed
    Fix Version/s: 0.6
         Assignee: Bryan Duxbury

I committed a micro improvement that at least mentions that the server side might be to blame.

> 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: Java - Compiler, Java - Library
>            Reporter: Adrian Woodhead
>            Assignee: Bryan Duxbury
>             Fix For: 0.6
>
>
> 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.