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
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.