@AfterClass
  public static void tearDown() throws Exception {
    if (OUT != null) {
      OUT.recoverAndClose(null);
    }
    if (EVENT_LOOP_GROUP != null) {
      EVENT_LOOP_GROUP.shutdownGracefully().get();
    }
    shutdownMiniDFSCluster();
  }
Testcase for HBASE-26679, here we introduce a separate test class and not put the testcase in
{@link TestFanOutOneBlockAsyncDFSOutput} because we will send heartbeat to DN when there is no
out going packet, the timeout is controlled by
{@link TestFanOutOneBlockAsyncDFSOutput#READ_TIMEOUT_MS},which is 2 seconds, it will keep sending
package out and DN will respond immedately and then mess up the testing handler added by us. So
in this test class we use the default value for timeout which is 60 seconds and it is enough for
this test.
hbase-asyncfs/src/test/java/org/apache/hadoop/hbase/io/asyncfs/TestFanOutOneBlockAsyncDFSOutputHang.java