static CompletableFuture<DLInputStream> openReaderAsync(DistributedLogManager distributedLogManager) {
        return distributedLogManager.openAsyncLogReader(DLSN.InitialDLSN)
            .thenApply(r -> new DLInputStream(distributedLogManager, r));
    }
@Test
    public void openAsyncLogReaderFailed() {
        when(dlm.openAsyncLogReader(any(DLSN.class))).thenReturn(failedFuture(new Exception("Open reader was failed")));

        try {
            DLInputStream.openReaderAsync(dlm).get();
        } catch (Exception e) {
            assertEquals(e.getCause().getMessage(), "Open reader was failed");
        }
    }