Channel#writeAndFlush get stuck in AbstractReadHandler

Description

As title description, it happens when the block is in alluxio, the ReadHandler holds a read lock, either BlockReadHandler or ShortCircuitBlockReadHandler can trigger this happen.

This will leads any write behavior, like moveBlock or removeBlock blocked, since Semaphore in ClientRWLock is not enough.
Related pr: https://github.com/Alluxio/alluxio/pull/7296
And please see my comment in this pr: https://github.com/Alluxio/alluxio/pull/5021#issuecomment-401684746

This is the root cause of above.

I have dug quite a long time, and due to lack of netty knowledge, but don't know how to fix...

Environment

None

Status

Assignee

Reid Chan

Reporter

Reid Chan

Labels

None

Components

Affects versions

Priority

Critical
Configure