pentaho/pentaho-kettle · error · KettleException
Unable to save step information to the repository for…
Error message
Unable to save step information to the repository for idStep=
What it means
Thrown by PaloCellInputMeta.saveRep when persisting the step's attributes (connection, cube, and per-field dimensionname/fieldname/fieldtype) to the Kettle repository fails. The failure cause is chained in the KettleException.
Solutions
- Inspect the chained cause exception for the underlying repository error.
- Verify repository connectivity and write permissions for the current Kettle user.
- Retry the save after confirming the repository schema matches the plugin version.
- Check that idStep/idTransformation ObjectIds are valid (step was added to the transformation before save).
Example fix
null
Defensive patterns
Strategy: try-catch
Validate before calling
if (rep == null || idStep == null) { throw new IllegalStateException("repository/idStep must be set before saveRep"); } Try / catch
try { transMeta.saveRep(rep, metaStore, idTrans, null); } catch (KettleException e) { log.error("save failed", e.getCause()); /* retry after connectivity check */ } Prevention
- Confirm repository write permissions for the Kettle user
- Check repository health before batch saves
- Inspect chained cause for precise attribute-write failures
When it happens
Trigger: saveRep called during transformation save when any rep.saveStepAttribute call throws — repository down, schema mismatch, invalid idTransformation/idStep, or field list containing unexpected values.
Common situations: Repository database outage or connection drop during save; insufficient repository write permissions; saving to an old repository schema that lacks the plugin's attribute conventions.
Related errors
- PGPDecryptStreamMeta.Exception.UnableToSaveStepInfo
- AddSequenceMeta.Exception.UnableToSaveStepInfo
- ColumnExistsMeta.Exception.UnableToSaveStepInfo
- ColumnExistsMeta.Exception.UnexpectedErrorReadingStepInfo
- CreditCardValidatorMeta.Exception.UnableToSaveStepInfo
AI-assisted analysis of pentaho/pentaho-kettle@f3058517a1 (2026-09-13).
Data as JSON: /api/errors/93b868a5946adbc7.
Report an issue: GitHub.
Appendix: source
Thrown at plugins/palo/core/src/main/java/org/pentaho/di/trans/steps/palo/cellinput/PaloCellInputMeta.java:211
}
@Override
public void saveRep( Repository rep, IMetaStore metaStore, ObjectId idTransformation, ObjectId idStep )
throws KettleException {
try {
rep.saveDatabaseMetaStepAttribute( idTransformation, idStep, "connection", databaseMeta );
rep.saveStepAttribute( idTransformation, idStep, "cube", this.cube );
rep.saveStepAttribute( idTransformation, idStep, "cubemeasurename", this.cubeMeasure.getFieldName() );
rep.saveStepAttribute( idTransformation, idStep, "cubemeasuretype", this.cubeMeasure.getFieldType() );
for ( int i = 0; i < this.fields.size(); i++ ) {
rep.saveStepAttribute( idTransformation, idStep, i, "dimensionname", this.fields.get( i ).getDimensionName() );
rep.saveStepAttribute( idTransformation, idStep, i, "fieldname", this.fields.get( i ).getFieldName() );
rep.saveStepAttribute( idTransformation, idStep, i, "fieldtype", this.fields.get( i ).getFieldType() );
}
} catch ( Exception e ) {
throw new KettleException( "Unable to save step information to the repository for idStep=" + idStep, e );
}
}
@Override
public void check( final List<CheckResultInterface> remarks, final TransMeta transMeta, final StepMeta stepMeta,
final RowMetaInterface prev, final String[] input, final String[] output, final RowMetaInterface info,
VariableSpace space, Repository repository, IMetaStore metaStore ) {
CheckResult cr;
if ( databaseMeta != null ) {
cr = new CheckResult( CheckResultInterface.TYPE_RESULT_OK, "Connection exists", stepMeta );
remarks.add( cr );
final PaloHelper helper = new PaloHelper( databaseMeta, DefaultLogLevel.getLogLevel() );
try {
helper.connect();
cr = new CheckResult( CheckResultInterface.TYPE_RESULT_OK, "Connection to database OK", stepMeta );
remarks.add( cr );View on GitHub (pinned to f3058517a1)