Skip to content
This repository has been archived by the owner on May 10, 2022. It is now read-only.

bugfix: catch and rethrow BlockingOperationException for batchSet #51

Merged
merged 7 commits into from
Aug 16, 2019

Conversation

neverchanje
Copy link

@neverchanje neverchanje commented Aug 16, 2019

The user's bug of #50 still remains and it seems not a netty's bug.

image

I suspect it was due to some sort of deadlock or broken RPC that makes Future.awaitUninterruptibly waiting.

The bug is unknown, but some improvements may still help:

  • Rethrow BlockingOperationException (a try/catch block wraps around future.await) if user thread is in the same eventloop with netty. This is hardly a possible situation but may increase our robustness.

  • Use await(timeoutMillis) instead of awaitUninterruptibly to prevent the case we are unknown where the user's RPC is always incomplete but timeout is expired.

@neverchanje neverchanje merged commit e7a26c9 into XiaoMi:thrift-0.11.0-inlined Aug 16, 2019
@neverchanje neverchanje deleted the batchSetBug branch August 16, 2019 10:12
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants