@Override
  protected void preCommitWriters() throws IOException {
    if (!needEmptyFile) {
      return;
    }
    for (StoreFileWriter writer : lowerBoundary2Writer.values()) {
      if (writer != null) {
        return;
      }
    }
    // we haven't written out any data, create an empty file to retain metadata
    lowerBoundary2Writer.put(lowerBoundary2Writer.firstKey(), writerFactory.createWriter());
  }
@param lowerBoundariesPolicies each window to storage policy map.
@param needEmptyFile           whether need to create an empty store file if we haven't written
                               out anything.
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/DateTieredMultiFileWriter.java