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