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