comnetwork commented on a change in pull request #4039: URL: https://github.com/apache/hbase/pull/4039#discussion_r790410944
########## File path: hbase-asyncfs/src/main/java/org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutput.java ########## @@ -231,7 +231,11 @@ private void completed(Channel channel) { // so that the implementation will not burn up our brain as there are multiple state changes and // checks. private synchronized void failed(Channel channel, Supplier<Throwable> errorSupplier) { - if (state == State.BROKEN || state == State.CLOSED) { + if (state == State.CLOSED) { + return; + } + if (state == State.BROKEN) { + failWaitingAckQueue(channel, errorSupplier); Review comment: @Apache9 ,thank you very much, in any case , my original test using reflection to create MyFanOutOneBlockAsyncDFSOutput is improper. I have improved my test to remove reflection and use Mockito to simulate slow DNs by discarding the message when flushing to dn2 and dn3. FYI. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@hbase.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org