pentaho/pentaho-kettle · error · KettleException
Edi2Xml.Exception.UnableToSaveStepInfoToRepository
Edi2Xml.Exception.UnableToSaveStepInfoToRepository
Error message
Edi2Xml.Exception.UnableToSaveStepInfoToRepository
What it means
Edi2XmlMeta.saveRep writes the 'inputfield' and 'outputfield' attributes to the repository. Any exception is wrapped in a KettleException with 'Edi2Xml.Exception.UnableToSaveStepInfoToRepository' plus the id_step. It means saving this step's metadata to the repository failed.
Solutions
- Inspect the wrapped cause for the SQL/connection error
- Verify repository write permissions and disk space
- Check attribute values fit repository column sizes
- Retry the save after the repository is healthy
Defensive patterns
Strategy: try-catch
Try / catch
try { meta.saveRep(rep, metaStore, idTrans, idStep); } catch (KettleException e) { logger.error("saveRep failed for id_step=" + idStep, e); throw e; } Prevention
- Ensure repository has write capacity and healthy connections
- Keep attribute values within repository column limits
- Retry saves after transient DB failures
When it happens
Trigger: Calling saveRep when the repository connection fails or a DB error occurs during saveStepAttribute calls for id_transformation/id_step.
Common situations: Repository DB read-only or out of space; broken connection mid-save; oversized attribute values violating column limits.
Related errors
- error reading step with id_step=
- JobEntryZipFile.UnableLoadJobEntryRep
- JobEntryZipFile.UnableSaveJobEntryRep
- ScriptMeta.Exception.UnableToSaveStepInfo
- ScriptMeta.Exception.UnexpectedErrorInReadingStepInfo
AI-assisted analysis of pentaho/pentaho-kettle@f3058517a1 (2026-09-13).
Data as JSON: /api/errors/62092226a99a696e.
Report an issue: GitHub.
Appendix: source
Thrown at plugins/edi2xml/impl/src/main/java/org/pentaho/di/trans/steps/edi2xml/Edi2XmlMeta.java:118
@Override
public void readRep( Repository rep, IMetaStore metaStore, ObjectId id_step, List<DatabaseMeta> databases ) throws KettleException {
try {
inputField = rep.getStepAttributeString( id_step, "inputfield" );
outputField = rep.getStepAttributeString( id_step, "outputfield" );
} catch ( Exception e ) {
throw new KettleException( BaseMessages
.getString( PKG, "Edi2Xml.Exception.UnexpectedErrorInReadingStepInfo" ), e );
}
}
@Override
public void saveRep( Repository rep, IMetaStore metaStore, ObjectId id_transformation, ObjectId id_step ) throws KettleException {
try {
rep.saveStepAttribute( id_transformation, id_step, "inputfield", inputField );
rep.saveStepAttribute( id_transformation, id_step, "outputfield", outputField );
} catch ( Exception e ) {
throw new KettleException( BaseMessages
.getString( PKG, "Edi2Xml.Exception.UnableToSaveStepInfoToRepository" )
+ id_step, e );
}
}
@Override
public void getFields( Bowl bowl, RowMetaInterface r, String origin, RowMetaInterface[] info, StepMeta nextStep,
VariableSpace space, Repository repository, IMetaStore metaStore ) {
ValueMetaInterface extra = null;
if ( !Utils.isEmpty( getOutputField() ) ) {
extra = new ValueMetaString( space.environmentSubstitute( getOutputField() ) );
extra.setOrigin( origin );
r.addValueMeta( extra );
} else {
if ( !Utils.isEmpty( getInputField() ) ) {
extra = r.searchValueMeta( space.environmentSubstitute( getInputField() ) );View on GitHub (pinned to f3058517a1)