public static boolean shouldEnableHistoricalCompactionFiles(Configuration conf) {
    if (
      conf.getBoolean(ENABLE_HISTORICAL_COMPACTION_FILES,
        DEFAULT_ENABLE_HISTORICAL_COMPACTION_FILES)
    ) {
      // Historical compaction files are supported only for default store engine with
      // default compactor.
      String storeEngine = conf.get(STORE_ENGINE_CLASS_KEY, DefaultStoreEngine.class.getName());
      if (!storeEngine.equals(DefaultStoreEngine.class.getName())) {
        LOG.warn("Historical compaction file generation is ignored for " + storeEngine
          + ". hbase.enable.historical.compaction.files can be set to true only for the "
          + "default compaction (DefaultStoreEngine and DefaultCompactor)");
        return false;
      }
      String compactor = conf.get(DEFAULT_COMPACTOR_CLASS_KEY, DefaultCompactor.class.getName());
      if (!compactor.equals(DefaultCompactor.class.getName())) {
        LOG.warn("Historical compaction file generation is ignored for " + compactor
          + ". hbase.enable.historical.compaction.files can be set to true only for the "
          + "default compaction (DefaultStoreEngine and DefaultCompactor)");
        return false;
      }
      return true;
    }
    return false;
  }
Creates an HFile.Writer that also write helpful meta data.
@param fs                     file system to write to
@param liveFilePath           the name of the live file to create
@param historicalFilePath     the name of the historical file name to create
@param conf                   user configuration
@param bloomType              bloom filter setting
@param maxKeys                the expected maximum number of keys to be added. Was used for
                              Bloom filter size in {@link HFile} format version 1.
@param favoredNodes           an array of favored nodes or possibly null
@param fileContext            The HFile context
@param shouldDropCacheBehind  Drop pages written to page cache after writing the store file.
@param compactedFilesSupplier Returns the {@link HStore} compacted files which not archived
@param comparator             Cell comparator
@param maxVersions            max cell versions
@param newVersionBehavior     enable new version behavior
@throws IOException problem writing to FS
hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreFileWriter.java