@Override
  protected CompletableFuture<Long> doWriterSync(Writer writer, boolean shouldUseHSync,
    long txidWhenSync) {
    CompletableFuture<Long> future = new CompletableFuture<>();
    SyncRequest syncRequest = new SyncRequest(writer, shouldUseHSync, txidWhenSync, future);
    this.offerSyncRequest(syncRequest);
    return future;
  }
This method allows subclasses to inject different writers without having to extend other
methods like rollWriter().
@return Writer instance
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/FSHLog.java