pentaho/pentaho-kettle · error · KettleException
XsdValidatorMeta.Exception.UnexpectedErrorInReadingStepInfo
Error message
XsdValidatorMeta.Exception.UnexpectedErrorInReadingStepInfo
What it means
Thrown by XsdValidatorMeta.readRep when loading the step's settings from the repository fails. Any exception raised while reading step/job-entry attributes is wrapped in a KettleException with this message, with the original error as the cause. It means the step metadata could not be read from the database repository.
Solutions
- Check the cause exception and the repository database connectivity.
- Verify the step's rows exist in R_STEP_ATTRIBUTE for the given id_step.
- Reconnect to the repository and reload the transformation.
- Export the transformation to XML from a working client and use file-based loading instead.
Defensive patterns
Strategy: try-catch
Try / catch
try { transMeta = repository.loadTransformation(name, dir, monitor, true, null) } catch (KettleException e) { log.error("Repository read failed: " + e.getCause(), e); } Prevention
- Monitor repository DB connectivity before loading transformations
- Back up R_STEP_ATTRIBUTE data / export transformations to XML regularly
- Use matching client and repository schema versions
When it happens
Trigger: readRep(rep, id_step, ...) is invoked during transformation loading from a repository and a rep.getStepAttributeString/getJobEntryAttributeString call throws (repository connectivity loss, DB error, id_step invalid).
Common situations: Repository database connection dropped mid-load; r_step_attribute rows missing or corrupted; stale transformation referencing a deleted step id; repository schema version mismatch.
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.ErrorReadingRepository
- AggregateRowsMeta.Exception.UnexpectedErrorWhileReadingStepInfo
- Unexpected error reading step information from the…
- Unexpected error reading step information from the…
- AddSequenceMeta.Exception.UnableToReadStepInfo
AI-assisted analysis of pentaho/pentaho-kettle@f3058517a1 (2026-09-13).
Data as JSON: /api/errors/8e0d86748c677872.
Report an issue: GitHub.
Appendix: source
Thrown at plugins/xml/core/src/main/java/org/pentaho/di/trans/steps/xsdvalidator/XsdValidatorMeta.java:308
xsdFilename = rep.getStepAttributeString( id_step, "xdsfilename" );
xmlStream = rep.getStepAttributeString( id_step, "xmlstream" );
resultFieldname = rep.getStepAttributeString( id_step, "resultfieldname" );
xmlSourceFile = rep.getStepAttributeBoolean( id_step, "xmlsourcefile" );
addValidationMessage = rep.getStepAttributeBoolean( id_step, "addvalidationmsg" );
validationMessageField = rep.getStepAttributeString( id_step, "validationmsgfield" );
ifXmlValid = rep.getStepAttributeString( id_step, "ifxmlvalid" );
ifXmlInvalid = rep.getStepAttributeString( id_step, "ifxmlunvalid" );
outputStringField = rep.getStepAttributeBoolean( id_step, "outputstringfield" );
xsdDefinedField = rep.getStepAttributeString( id_step, "xsddefinedfield" );
xsdSource = rep.getStepAttributeString( id_step, "xsdsource" );
allowExternalEntities =
Boolean.parseBoolean( rep.getJobEntryAttributeString( id_step, "allowExternalEntities" ) );
} catch ( Exception e ) {
throw new KettleException( BaseMessages.getString( PKG,
"XsdValidatorMeta.Exception.UnexpectedErrorInReadingStepInfo" ), e );
}
}
public void saveRep( Repository rep, IMetaStore metaStore, ObjectId id_transformation, ObjectId id_step )
throws KettleException {
try {
rep.saveStepAttribute( id_transformation, id_step, "xdsfilename", xsdFilename );
rep.saveStepAttribute( id_transformation, id_step, "xmlstream", xmlStream );
rep.saveStepAttribute( id_transformation, id_step, "resultfieldname", resultFieldname );
rep.saveStepAttribute( id_transformation, id_step, "xmlsourcefile", xmlSourceFile );
rep.saveStepAttribute( id_transformation, id_step, "addvalidationmsg", addValidationMessage );
rep.saveStepAttribute( id_transformation, id_step, "validationmsgfield", validationMessageField );
rep.saveStepAttribute( id_transformation, id_step, "ifxmlvalid", ifXmlValid );
rep.saveStepAttribute( id_transformation, id_step, "ifxmlunvalid", ifXmlInvalid );
rep.saveStepAttribute( id_transformation, id_step, "outputstringfield", outputStringField );
rep.saveStepAttribute( id_transformation, id_step, "xsddefinedfield", xsdDefinedField );
rep.saveStepAttribute( id_transformation, id_step, "xsdsource", xsdSource );View on GitHub (pinned to f3058517a1)