pentaho/pentaho-kettle · error · KettleException
Error skipping bytes to the next block of data
Error message
Error skipping bytes to the next block of data
What it means
Wrapper error in ParGzipCsvInput.skipToNextBlock: an IOException occurred while skipping bytesToSkip bytes over the compressed stream to reach the next block boundary (the loop that accumulates bytesSkipped failed). The number of bytes and the cause are included.
Solutions
- Check the gzip file for truncation or corruption; a broken stream surfaces here during block seeking
- Verify the file is a block-oriented parallel gzip file, not a plain gzip stream
- Inspect the chained IOException for the underlying read failure
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at engine/src/main/java/org/pentaho/di/trans/steps/parallelgzipcsv/ParGzipCsvInput.java:211 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/18156a36a9bab10a.
Report an issue: GitHub.
Appendix: source
Thrown at engine/src/main/java/org/pentaho/di/trans/steps/parallelgzipcsv/ParGzipCsvInput.java:211
return true; // nothing more to be found in the file, stop right here.
}
bytesSkipped += n;
}
data.fileReadPosition += bytesSkipped;
// Now we need to clear the buffer, reset everything...
//
clearBuffer();
// Now get read until the next CR:
//
readOneRow( false );
return false;
} catch ( IOException e ) {
throw new KettleException( "Error skipping " + bytesToSkip + " bytes to the next block of data", e );
}
} else {
// this situation should never happen.
//
return true; // stop processing the file
}
}
private void getFilenamesFromPreviousSteps() throws KettleException {
List<String> filenames = new ArrayList<String>();
boolean firstRow = true;
int index = -1;
Object[] row = getRow();
while ( row != null ) {
if ( firstRow ) {
firstRow = false;
View on GitHub (pinned to f3058517a1)