apache/hadoop · error · RuntimeException

No compressed file found in the input directory : {}. To ena

Error message

No compressed file found in the input directory : {}. To enable compression emulation, run Gridmix either with  an input directory containing compressed input file(s) or use the -generate option to (re)generate it. If compression emulation is not desired, disable it by setting 'gridmix.compression-emulation.enable' to 'false'.

What it means

Error "No compressed file found in the input directory : {}. To enable compression emulation, run Gridmix either with an input directory containing compressed input file(s) or use the -generate option to (re)generate it. If compression emulation is not desired, disable it by setting 'gridmix.compression-emulation.enable' to 'false'." thrown in apache/hadoop.

Source

Thrown at hadoop-tools/hadoop-gridmix/src/main/java/org/apache/hadoop/mapred/gridmix/CompressionEmulationUtil.java:348

      // check if the input file is compressed
      if (compressionCodecs != null) {
        CompressionCodec codec = compressionCodecs.getCodec(status.getPath());
        if (codec != null) {
          ++numCompressedFiles;
          compressedDataSize += status.getLen();
        }
      }
    }

    LOG.info("Gridmix is configured to use compressed input data.");
    // publish the input data size
    LOG.info("Total size of compressed input data : " 
             + StringUtils.humanReadableInt(compressedDataSize));
    LOG.info("Total number of compressed input data files : " 
             + numCompressedFiles);

    if (numCompressedFiles == 0) {
      throw new RuntimeException("No compressed file found in the input" 
          + " directory : " + inputDir.toString() + ". To enable compression"
          + " emulation, run Gridmix either with "
          + " an input directory containing compressed input file(s) or" 
          + " use the -generate option to (re)generate it. If compression"
          + " emulation is not desired, disable it by setting '" 
          + COMPRESSION_EMULATION_ENABLE + "' to 'false'.");
    }
    
    // publish compression ratio only if its generated in this gridmix run
    if (uncompressedDataSize > 0) {
      // compute the compression ratio
      double ratio = ((double)compressedDataSize) / uncompressedDataSize;

      // publish the compression ratio
      LOG.info("Input Data Compression Ratio : " + ratio);
    }
    
    return new DataStatistics(compressedDataSize, numCompressedFiles, true);

View on GitHub (pinned to 2add963021)

Solutions

  1. Put at least one compressed input file in the input directory, run Gridmix with -generate, or set gridmix.compression-emulation.enable=false.

When it happens

Trigger: Compression emulation is enabled for Gridmix but the input directory contains no compressed input file to derive the compression ratio from.

Common situations: See trigger scenarios.


AI-assisted analysis of apache/hadoop@2add963021 (2026-08-22). Data as JSON: /api/errors/90bc997b4d20ce63. Report an issue: GitHub.