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

  1. Check the underlying cause exception printed by Kettle (the wrapped 'e') — it names the real repository failure.
  2. Verify the Kettle repository connection is alive (test connection in Spoon) and re-open it.
  3. Re-save the RSS Input step metadata (open and OK the step dialog) to rewrite its step attributes.
  4. 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

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


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)