pentaho/pentaho-kettle · error · KettleException
Unexpected error reading step information from the…
Error message
Unexpected error reading step information from the repository
What it means
Generic catch-all guard in readRep: it fires when any exception escapes while loading this step's metadata from the Pentaho repository — most commonly a broken repository connection, a missing/corrupt step attribute row, or ValueMetaFactory.getIdForValueMeta throwing because a stored 'field_type' string does not map to a known value meta type. The step-level 'nrfields' count and per-field attributes (name, type, format, currency, decimal symbols) read via rep.getStepAttribute* are the inputs at fault.
Solutions
- Verify the repository connection is alive and that the transformation was saved completely (no partially written step attributes).
- Inspect the stored field attributes for this step (field_name, field_type, field_format, etc.) and correct any missing or invalid 'field_type' value so ValueMetaFactory can resolve it.
- Re-open and re-save the transformation in Spoon to rewrite consistent step attributes, or restore the step configuration from a known-good export (XML/ktr).
- If the error persists, enable repository debug logging to identify which exact getStepAttribute call fails before re-importing the transformation.
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at engine/src/main/java/org/pentaho/di/trans/steps/parallelgzipcsv/ParGzipCsvInputMeta.java:245 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/d16edc0571c1902e.
Report an issue: GitHub.
Appendix: source
Thrown at engine/src/main/java/org/pentaho/di/trans/steps/parallelgzipcsv/ParGzipCsvInputMeta.java:245
allocate( nrfields );
for ( int i = 0; i < nrfields; i++ ) {
inputFields[i] = new TextFileInputField();
inputFields[i].setName( rep.getStepAttributeString( id_step, i, "field_name" ) );
inputFields[i].setType( ValueMetaFactory.getIdForValueMeta( rep.getStepAttributeString( id_step, i, "field_type" ) ) );
inputFields[i].setFormat( rep.getStepAttributeString( id_step, i, "field_format" ) );
inputFields[i].setCurrencySymbol( rep.getStepAttributeString( id_step, i, "field_currency" ) );
inputFields[i].setDecimalSymbol( rep.getStepAttributeString( id_step, i, "field_decimal" ) );
inputFields[i].setGroupSymbol( rep.getStepAttributeString( id_step, i, "field_group" ) );
inputFields[i].setLength( (int) rep.getStepAttributeInteger( id_step, i, "field_length" ) );
inputFields[i].setPrecision( (int) rep.getStepAttributeInteger( id_step, i, "field_precision" ) );
inputFields[i].setTrimType( ValueMetaString.getTrimTypeByCode( rep.getStepAttributeString(
id_step, i, "field_trim_type" ) ) );
}
} catch ( Exception e ) {
throw new KettleException( "Unexpected error reading step information from the repository", e );
}
}
@Override
public void saveRep( Repository rep, IMetaStore metaStore, ObjectId id_transformation, ObjectId id_step ) throws KettleException {
try {
rep.saveStepAttribute( id_transformation, id_step, "filename", filename );
rep.saveStepAttribute( id_transformation, id_step, "filename_field", filenameField );
rep.saveStepAttribute( id_transformation, id_step, "rownum_field", rowNumField );
rep.saveStepAttribute( id_transformation, id_step, "include_filename", includingFilename );
rep.saveStepAttribute( id_transformation, id_step, "separator", delimiter );
rep.saveStepAttribute( id_transformation, id_step, "enclosure", enclosure );
rep.saveStepAttribute( id_transformation, id_step, "buffer_size", bufferSize );
rep.saveStepAttribute( id_transformation, id_step, "header", headerPresent );
rep.saveStepAttribute( id_transformation, id_step, "lazy_conversion", lazyConversionActive );
rep.saveStepAttribute( id_transformation, id_step, "add_filename_result", isaddresult );
rep.saveStepAttribute( id_transformation, id_step, "parallel", runningInParallel );
rep.saveStepAttribute( id_transformation, id_step, "encoding", encoding );View on GitHub (pinned to f3058517a1)