airlift / drift

An annotation-based Java library for creating Thrift serializable types and services.
Apache License 2.0
242 stars 92 forks source link

Fail only a single request on TooLongFrameException #99

Closed arhimondr closed 5 years ago

arhimondr commented 5 years ago

Currently the TooLongFrameException results in disconnect. If connection pooling is enabled it results in failure of all the requests that are currently processed by the connection.

When connection pooling is enabled, only a culprit request must be failed with TooLongFrameException. To achieve that, the oversized response must be skipped, sequence id must be decoded during skip, and only the request that caused this failure must be failed.