You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Diwaker Gupta (JIRA)" <ji...@apache.org> on 2012/12/24 19:20:12 UTC

[jira] [Created] (THRIFT-1805) Thrift should not swallow ALL exceptions

Diwaker Gupta created THRIFT-1805:
-------------------------------------

             Summary: Thrift should not swallow ALL exceptions
                 Key: THRIFT-1805
                 URL: https://issues.apache.org/jira/browse/THRIFT-1805
             Project: Thrift
          Issue Type: Bug
          Components: Java - Compiler, Java - Library
    Affects Versions: 0.9
            Reporter: Diwaker Gupta
            Assignee: Jake Farrell


In Thrift 0.8.0, Thrift generated Java code did not swallow application exceptions. As a result of THRIFT-1658, this behavior changed in 0.9.0 and now the generated code swallows ALL application exceptions (via ProcessFunction). Apparently this was the behavior in Thrift 0.6.0 and while I see the rationale, it is breaking our applications.

Our code relies on the fact that exceptions can propagate outside of Thrift for certain things (e.g., to aggressively drop connections for clients that send invalid/malformed requests). ProcessFunction makes it near impossible to do this -- not only does it swallow the exception, it also loses all information about the original exception and just writes out a generic TApplicationException.

IMO ProcessFunction should only catch TException. If the application code wants to use other exceptions for some reason (in particular, Errors and RuntimeExceptions), Thrift shouldn't prevent that.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira