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 2009/06/17 18:44:07 UTC

[jira] Resolved: (THRIFT-378) Java servers do not turn internal errors into thrift exceptions

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

Bryan Duxbury resolved THRIFT-378.
----------------------------------

    Resolution: Fixed

I just committed this. Thanks for contributing (and hounding me to commit)!

> Java servers do not turn internal errors into thrift exceptions
> ---------------------------------------------------------------
>
>                 Key: THRIFT-378
>                 URL: https://issues.apache.org/jira/browse/THRIFT-378
>             Project: Thrift
>          Issue Type: Bug
>          Components: Compiler (Java)
>            Reporter: Jonathan Ellis
>            Assignee: Jonathan Ellis
>            Priority: Minor
>             Fix For: 0.2
>
>         Attachments: thrift-378-v2.patch, thrift-378.patch
>
>
> Occasionally a service will produce a runtime exception because of a problem in the environment or simply a bug.
> By default this means clients will error out trying to read a response.  This is confusing because it is not obvious that the problem was with the server, let alone what the problem actually was.
> One workaround might be to add an InternalError exception and declare every method to throw that, but this would require wrapping each method implementation on the server with a try/catch/throw block, which is ugly and repetitive (especially if there are other try/catch blocks nested) -- exactly the sort of code that Thrift is good at automating away.
> I think the right fix would be for the server to catch runtime exceptions in the generated process methods and send back a TApplicationException.  This is what some other servers (e.g., Erlang) already do.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.