Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
None
-
None
Description
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.
Attachments
Attachments
Issue Links
- blocks
-
CASSANDRA-66 get_column throws exception on missing column
- Resolved