pentaho/pentaho-kettle · error · KettleException
RssInputMeta.Exception.ErrorReadingRepository
RssInputMeta.Exception.ErrorReadingRepository
Error message
RssInputMeta.Exception.ErrorReadingRepository
What it means
RssInputMeta.readRep wraps all repository reads for RSS Input step settings in a try/catch and rethrows any Exception as a KettleException with this localized message. It means step metadata could not be loaded from the Kettle repository (database or file repository). The original cause is attached as the wrapped exception.
Solutions
- Check the underlying cause exception printed by Kettle (the wrapped 'e') — it names the real repository failure.
- Verify the Kettle repository connection is alive (test connection in Spoon) and re-open it.
- Re-save the RSS Input step metadata (open and OK the step dialog) to rewrite its step attributes.
- If the repository is a DB, check table integrity for step_attributes rows for this id_step.
Example fix
// before
RssInputMeta meta = (RssInputMeta) stepMeta.getStepMetaInterface();
meta.readRep(rep, metaStore, idStep, databases); // throws KettleException
// after
try {
meta.readRep(rep, metaStore, idStep, databases);
} catch (KettleException e) {
logError("Failed to load RSS Input step from repository: " + e.getCause(), e);
throw e;
} Defensive patterns
Strategy: try-catch
Validate before calling
if (rep != null && rep.isConnected()) { /* proceed with readRep */ } Try / catch
try {
meta.readRep(rep, metaStore, idStep, databases);
} catch (KettleException e) {
logError("readRep failed: " + (e.getCause() != null ? e.getCause().getMessage() : e.getMessage()), e);
// reconnect to repository and retry once
} Prevention
- Test the repository connection before loading transformations
- Keep repository database reachable and schema up to date
- Inspect the wrapped cause chain for the real failure
When it happens
Trigger: Calling readRep (directly or via transformation deserialization) when rep.getStepAttributeBoolean/getStepAttributeString calls throw — e.g. repository connection dropped mid-read, missing table rows, or a repository schema issue while reading 'field_trim_type'/'field_repeat' attributes for the step's field rows.
Common situations: Repository database unreachable or connection timed out during transformation load; repository schema version mismatch; corrupted step attributes; concurrent modification of the transformation while loading.
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
- AppendMeta.Exception.UnexpectedErrorReadingStepInfo
- CombinationLookupMeta.Exception.UnexpectedErrorWhileReadingS…
- DynamicSQLRowMeta.Exception.UnexpectedErrorReadingStepInfo
- error reading step with id_step= from the repository
- ExecProcessMeta.Exception.UnexpectedErrorReadingStepInfo
AI-assisted analysis of pentaho/pentaho-kettle@f3058517a1 (2026-09-13).
Data as JSON: /api/errors/0a239d1dd358ae0c.
Report an issue: GitHub.
Appendix: source
Thrown at plugins/rss/impl/src/main/java/org/pentaho/di/trans/steps/rssinput/RssInputMeta.java:424
field.setName( rep.getStepAttributeString( id_step, i, "field_name" ) );
field
.setColumn( RssInputField.getColumnByCode( rep.getStepAttributeString( id_step, i, "field_column" ) ) );
field.setType( ValueMetaFactory.getIdForValueMeta( rep.getStepAttributeString( id_step, i, "field_type" ) ) );
field.setFormat( rep.getStepAttributeString( id_step, i, "field_format" ) );
field.setCurrencySymbol( rep.getStepAttributeString( id_step, i, "field_currency" ) );
field.setDecimalSymbol( rep.getStepAttributeString( id_step, i, "field_decimal" ) );
field.setGroupSymbol( rep.getStepAttributeString( id_step, i, "field_group" ) );
field.setLength( (int) rep.getStepAttributeInteger( id_step, i, "field_length" ) );
field.setPrecision( (int) rep.getStepAttributeInteger( id_step, i, "field_precision" ) );
field.setTrimType( RssInputField.getTrimTypeByCode( rep.getStepAttributeString(
id_step, i, "field_trim_type" ) ) );
field.setRepeated( rep.getStepAttributeBoolean( id_step, i, "field_repeat" ) );
inputFields[i] = field;
}
} catch ( Exception e ) {
throw new KettleException( BaseMessages.getString( PKG, "RssInputMeta.Exception.ErrorReadingRepository" ), e );
}
}
public void saveRep( Repository rep, IMetaStore metaStore, ObjectId id_transformation, ObjectId id_step ) throws KettleException {
try {
rep.saveStepAttribute( id_transformation, id_step, "url_in_field", urlInField );
rep.saveStepAttribute( id_transformation, id_step, "url_field_name", urlFieldname );
rep.saveStepAttribute( id_transformation, id_step, "rownum", includeRowNumber );
rep.saveStepAttribute( id_transformation, id_step, "rownum_field", rowNumberField );
rep.saveStepAttribute( id_transformation, id_step, "include_url", includeUrl );
rep.saveStepAttribute( id_transformation, id_step, "url_Field", urlField );
rep.saveStepAttribute( id_transformation, id_step, "read_from", readfrom );
rep.saveStepAttribute( id_transformation, id_step, "limit", rowLimit );
for ( int i = 0; i < url.length; i++ ) {
rep.saveStepAttribute( id_transformation, id_step, i, "url_name", url[i] );
}
View on GitHub (pinned to f3058517a1)