pentaho/pentaho-kettle · error · KettleException

Unable to close file '

Error message

Unable to close file '

What it means

Wrapper error in ParGzipCsvInput.closeFile: closing the gzip input stream or underlying file input stream threw an IOException. The filename being closed is included in the message and the cause is chained; fires from dispose() or when switching to the next file.

Solutions

  1. Check file system health and that the file wasn't externally locked or deleted mid-run
  2. Close streams defensively earlier if the file is known to be truncated
  3. Inspect the chained IOException for the underlying close failure
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at engine/src/main/java/org/pentaho/di/trans/steps/parallelgzipcsv/ParGzipCsvInput.java:742 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of pentaho/pentaho-kettle@f3058517a1 (2026-09-13). Data as JSON: /api/errors/a69eab2c0ba8b6fc. Report an issue: GitHub.

Appendix: source

Thrown at engine/src/main/java/org/pentaho/di/trans/steps/parallelgzipcsv/ParGzipCsvInput.java:742

      return true;

    }
    return false;
  }

  public void closeFile() throws KettleException {

    try {
      if ( data.gzis != null ) {
        data.gzis.close();
      }
      if ( data.fis != null ) {
        incrementLinesUpdated();
        data.fis.close();
      }
    } catch ( IOException e ) {
      throw new KettleException( "Unable to close file '" + data.filenames[data.filenr - 1], e );
    }
  }

}

View on GitHub (pinned to f3058517a1)