{"record":{"id":"0a239d1dd358ae0c","repo":"pentaho/pentaho-kettle","slug":"rssinputmeta-exception-errorreadingrepository","errorCode":"RssInputMeta.Exception.ErrorReadingRepository","errorMessage":"RssInputMeta.Exception.ErrorReadingRepository","messagePattern":"RssInputMeta\\.Exception\\.ErrorReadingRepository","errorType":"exception","errorClass":"KettleException","httpStatus":null,"severity":"error","filePath":"plugins/rss/impl/src/main/java/org/pentaho/di/trans/steps/rssinput/RssInputMeta.java","lineNumber":424,"sourceCode":"\n        field.setName( rep.getStepAttributeString( id_step, i, \"field_name\" ) );\n        field\n          .setColumn( RssInputField.getColumnByCode( rep.getStepAttributeString( id_step, i, \"field_column\" ) ) );\n        field.setType( ValueMetaFactory.getIdForValueMeta( rep.getStepAttributeString( id_step, i, \"field_type\" ) ) );\n        field.setFormat( rep.getStepAttributeString( id_step, i, \"field_format\" ) );\n        field.setCurrencySymbol( rep.getStepAttributeString( id_step, i, \"field_currency\" ) );\n        field.setDecimalSymbol( rep.getStepAttributeString( id_step, i, \"field_decimal\" ) );\n        field.setGroupSymbol( rep.getStepAttributeString( id_step, i, \"field_group\" ) );\n        field.setLength( (int) rep.getStepAttributeInteger( id_step, i, \"field_length\" ) );\n        field.setPrecision( (int) rep.getStepAttributeInteger( id_step, i, \"field_precision\" ) );\n        field.setTrimType( RssInputField.getTrimTypeByCode( rep.getStepAttributeString(\n          id_step, i, \"field_trim_type\" ) ) );\n        field.setRepeated( rep.getStepAttributeBoolean( id_step, i, \"field_repeat\" ) );\n\n        inputFields[i] = field;\n      }\n    } catch ( Exception e ) {\n      throw new KettleException( BaseMessages.getString( PKG, \"RssInputMeta.Exception.ErrorReadingRepository\" ), e );\n    }\n  }\n\n  public void saveRep( Repository rep, IMetaStore metaStore, ObjectId id_transformation, ObjectId id_step ) throws KettleException {\n    try {\n      rep.saveStepAttribute( id_transformation, id_step, \"url_in_field\", urlInField );\n      rep.saveStepAttribute( id_transformation, id_step, \"url_field_name\", urlFieldname );\n      rep.saveStepAttribute( id_transformation, id_step, \"rownum\", includeRowNumber );\n      rep.saveStepAttribute( id_transformation, id_step, \"rownum_field\", rowNumberField );\n      rep.saveStepAttribute( id_transformation, id_step, \"include_url\", includeUrl );\n      rep.saveStepAttribute( id_transformation, id_step, \"url_Field\", urlField );\n      rep.saveStepAttribute( id_transformation, id_step, \"read_from\", readfrom );\n      rep.saveStepAttribute( id_transformation, id_step, \"limit\", rowLimit );\n\n      for ( int i = 0; i < url.length; i++ ) {\n        rep.saveStepAttribute( id_transformation, id_step, i, \"url_name\", url[i] );\n      }\n","sourceCodeStart":406,"sourceCodeEnd":442,"githubUrl":"https://github.com/pentaho/pentaho-kettle/blob/f3058517a153da500bf4551f46d79b91bf8ec552/plugins/rss/impl/src/main/java/org/pentaho/di/trans/steps/rssinput/RssInputMeta.java#L406-L442","documentation":"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.","triggerScenarios":"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.","commonSituations":"Repository database unreachable or connection timed out during transformation load; repository schema version mismatch; corrupted step attributes; concurrent modification of the transformation while loading.","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."],"exampleFix":"// before\nRssInputMeta meta = (RssInputMeta) stepMeta.getStepMetaInterface();\nmeta.readRep(rep, metaStore, idStep, databases); // throws KettleException\n// after\ntry {\n  meta.readRep(rep, metaStore, idStep, databases);\n} catch (KettleException e) {\n  logError(\"Failed to load RSS Input step from repository: \" + e.getCause(), e);\n  throw e;\n}","handlingStrategy":"try-catch","validationCode":"if (rep != null && rep.isConnected()) { /* proceed with readRep */ }","typeGuard":null,"tryCatchPattern":"try {\n  meta.readRep(rep, metaStore, idStep, databases);\n} catch (KettleException e) {\n  logError(\"readRep failed: \" + (e.getCause() != null ? e.getCause().getMessage() : e.getMessage()), e);\n  // reconnect to repository and retry once\n}","preventionTips":["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"],"tags":["kettle","repository","metadata-load","rss-input"],"backgroundTag":"database-query-failed","analyzedSha":"f3058517a153da500bf4551f46d79b91bf8ec552","analyzedAt":"2026-09-13T14:04:16.340Z","contentChangedAt":"2026-09-13T14:04:16.340Z","schemaVersion":2},"datasetVersion":"2026-09-20T23:17:15.980Z"}