pentaho/pentaho-kettle · error · KettleException
CloneRowMeta.Exception.UnexpectedErrorReadingStepInfo
Error message
CloneRowMeta.Exception.UnexpectedErrorReadingStepInfo
What it means
CloneRowMeta.readRep loads the Clone Row step's settings from the Pentaho Repository (getStepAttributeString/Boolean for id_step). Any exception from the repository layer (connection loss, invalid id_step, schema problems) is rethrown as a KettleException with this message. It means the step metadata could not be read from the repository.
Solutions
- Verify the repository database connection and retry loading
- Check R_STEP_ATTRIBUTE rows exist for the id_step
- Re-save the transformation from Spoon to regenerate repository rows
- Review repository database logs for the underlying SQL error
Defensive patterns
Strategy: try-catch
Validate before calling
// Java: check repository connectivity before load if (!repository.isConnected()) repository.connect(user, pass);
Try / catch
try {
stepMeta.readRep(repository, metaStore, idStep, databases, metaStore);
} catch (KettleException e) {
log.error("Repository read failed for step " + idStep, e);
// retry after reconnect
} Prevention
- Ensure stable repository DB connectivity
- Back up R_STEP_ATTRIBUTE data
- Monitor repository DB health
When it happens
Trigger: Calling readRep while loading a transformation stored in a repository when rep.getStepAttributeString/Boolean throws — e.g. repository connection dropped or id_step references a missing/locked row.
Common situations: Repository DB restarted mid-load, network outage to the repository database, loading a transformation whose step rows were deleted or corrupted in R_STEP_ATTRIBUTE.
Understand the failure class
Background: Database query failed: Internal Server Error 500s wrapping SQL, Prisma, and connection failures — what to check first — this error's family across 16 libraries.
Related errors
- AccessInputMeta.Exception.ErrorSavingToRepository
- ColumnExistsMeta.Exception.UnableToSaveStepInfo
- ColumnExistsMeta.Exception.UnexpectedErrorReadingStepInfo
- CreditCardValidatorMeta.Exception.UnableToSaveStepInfo
- CubeInputMeta.Exception.UnexpectedErrorWhileReadingStepInfo
AI-assisted analysis of pentaho/pentaho-kettle@f3058517a1 (2026-09-13).
Data as JSON: /api/errors/a88c1ea6a4bab0b9.
Report an issue: GitHub.
Appendix: source
Thrown at plugins/core/impl/src/main/java/org/pentaho/di/trans/steps/clonerow/CloneRowMeta.java:204
addcloneflag = false;
addclonenum = false;
clonenumfield = null;
}
public void readRep( Repository rep, IMetaStore metaStore, ObjectId id_step, List<DatabaseMeta> databases )
throws KettleException {
try {
nrclones = rep.getStepAttributeString( id_step, "nrclones" );
addcloneflag = rep.getStepAttributeBoolean( id_step, "addcloneflag" );
cloneflagfield = rep.getStepAttributeString( id_step, "cloneflagfield" );
nrcloneinfield = rep.getStepAttributeBoolean( id_step, "nrcloneinfield" );
nrclonefield = rep.getStepAttributeString( id_step, "nrclonefield" );
addclonenum = rep.getStepAttributeBoolean( id_step, "addclonenum" );
clonenumfield = rep.getStepAttributeString( id_step, "clonenumfield" );
} catch ( Exception e ) {
throw new KettleException( BaseMessages.getString(
PKG, "CloneRowMeta.Exception.UnexpectedErrorReadingStepInfo" ), e );
}
}
public void saveRep( Repository rep, IMetaStore metaStore, ObjectId id_transformation, ObjectId id_step )
throws KettleException {
try {
rep.saveStepAttribute( id_transformation, id_step, "nrclones", nrclones );
rep.saveStepAttribute( id_transformation, id_step, "addcloneflag", addcloneflag );
rep.saveStepAttribute( id_transformation, id_step, "cloneflagfield", cloneflagfield );
rep.saveStepAttribute( id_transformation, id_step, "nrcloneinfield", nrcloneinfield );
rep.saveStepAttribute( id_transformation, id_step, "nrclonefield", nrclonefield );
rep.saveStepAttribute( id_transformation, id_step, "addclonenum", addclonenum );
rep.saveStepAttribute( id_transformation, id_step, "clonenumfield", clonenumfield );
} catch ( Exception e ) {
throw new KettleException( BaseMessages.getString(View on GitHub (pinned to f3058517a1)