Which Thrift exceptions are considered failures?

Hey all,

With non-TTwitter Thrift servers (in my case, Python based), what exceptions are considered failures? So far I have seen requests which get timed out are considered as failures. However, I imagine that’s at the underlying “socket” level and hence counts as a failure. Thrift exceptions such as TApplicationException and TTransportException are not. I imagine, that’s because Exceptions are still considered responses?

(Related, I am aware of https://finagle.github.io/blog/2016/02/09/response-classification/)

Thanks for any insights on the matter.

You’re absolutely right that response classification is at play here. I haven’t looked at the defaults for thrift recently but I believe that TApplicationException responses are classified as failures. However, you can always write a response classification plugin that implements whatever response classification logic you want.

I don’t think TApplicationException is classified as failure. But, I will keep an eye or try to see if that’s not true.

Unfortunately, my Thrift services are in Python, so cannot really use (or don’t know of a straightforward way) to do response classification. :frowning:

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.