{"record":{"id":"0fee1599e10a0edf","repo":"pentaho/pentaho-kettle","slug":"rssinputmeta-exception-errorsavingtorepository","errorCode":null,"errorMessage":"RssInputMeta.Exception.ErrorSavingToRepository","messagePattern":"RssInputMeta\\.Exception\\.ErrorSavingToRepository","errorType":"exception","errorClass":"KettleException","httpStatus":null,"severity":"error","filePath":"plugins/rss/impl/src/main/java/org/pentaho/di/trans/steps/rssinput/RssInputMeta.java","lineNumber":460,"sourceCode":"\n      for ( int i = 0; i < inputFields.length; i++ ) {\n        RssInputField field = inputFields[i];\n\n        rep.saveStepAttribute( id_transformation, id_step, i, \"field_name\", field.getName() );\n        rep.saveStepAttribute( id_transformation, id_step, i, \"field_column\", field.getColumnCode() );\n        rep.saveStepAttribute( id_transformation, id_step, i, \"field_type\", field.getTypeDesc() );\n        rep.saveStepAttribute( id_transformation, id_step, i, \"field_format\", field.getFormat() );\n        rep.saveStepAttribute( id_transformation, id_step, i, \"field_currency\", field.getCurrencySymbol() );\n        rep.saveStepAttribute( id_transformation, id_step, i, \"field_decimal\", field.getDecimalSymbol() );\n        rep.saveStepAttribute( id_transformation, id_step, i, \"field_group\", field.getGroupSymbol() );\n        rep.saveStepAttribute( id_transformation, id_step, i, \"field_length\", field.getLength() );\n        rep.saveStepAttribute( id_transformation, id_step, i, \"field_precision\", field.getPrecision() );\n        rep.saveStepAttribute( id_transformation, id_step, i, \"field_trim_type\", field.getTrimTypeCode() );\n        rep.saveStepAttribute( id_transformation, id_step, i, \"field_repeat\", field.isRepeated() );\n\n      }\n    } catch ( Exception e ) {\n      throw new KettleException( BaseMessages.getString( PKG, \"RssInputMeta.Exception.ErrorSavingToRepository\", \"\"\n        + id_step ), e );\n    }\n  }\n\n  public StepDataInterface getStepData() {\n    return new RssInputData();\n  }\n\n  public boolean supportsErrorHandling() {\n    return true;\n  }\n\n  public void check( List<CheckResultInterface> remarks, TransMeta transMeta, StepMeta stepMeta,\n    RowMetaInterface prev, String[] input, String[] output, RowMetaInterface info, VariableSpace space,\n    Repository repository, IMetaStore metaStore ) {\n    CheckResult cr;\n\n    if ( urlInField ) {","sourceCodeStart":442,"sourceCodeEnd":478,"githubUrl":"https://github.com/pentaho/pentaho-kettle/blob/f3058517a153da500bf4551f46d79b91bf8ec552/plugins/rss/impl/src/main/java/org/pentaho/di/trans/steps/rssinput/RssInputMeta.java#L442-L478","documentation":"RssInputMeta.saveRep wraps all rep.saveStepAttribute calls (step-level flags and per-field attributes) and rethrows any Exception as a KettleException with this message, including the id_step being saved. It means RSS Input step settings could not be persisted to the repository. The original cause is attached.","triggerScenarios":"Clicking OK/save on a transformation containing an RSS Input step when rep.saveStepAttribute throws — repository connection lost, read-only repository, DB constraint violation, or transaction failure while writing field_precision/field_trim_type/field_repeat rows.","commonSituations":"Repository DB disk full or permission denied on step_attributes table; saving to a repository opened read-only; network drop between Spoon and repository database mid-save; duplicate/oversized attribute rows.","solutions":["Inspect the wrapped cause exception to identify the actual repository write failure.","Verify the repository connection is writable (not read-only) and the user has INSERT/UPDATE rights on step attributes.","Test the repository connection in Spoon, reconnect, and retry the save.","Check DB-side errors (disk space, constraints) on the repository database."],"exampleFix":"// before\ntransMeta.save(rep, metaStore, \"rss trans\"); // may throw with this message\n// after\ntry {\n  transMeta.save(rep, metaStore, \"rss trans\");\n} catch (KettleException e) {\n  logError(\"Could not save RSS Input step to repository: \" + e.getCause(), e);\n}","handlingStrategy":"try-catch","validationCode":"if (rep != null && !rep.isReadOnly()) { /* proceed with save */ }","typeGuard":null,"tryCatchPattern":"try {\n  transMeta.save(rep, metaStore, name);\n} catch (KettleException e) {\n  logError(\"saveRep failed: \" + (e.getCause() != null ? e.getCause().getMessage() : e.getMessage()), e);\n}","preventionTips":["Confirm write permissions on the repository before saving","Monitor DB disk space and connectivity during saves","Retry save after reconnecting if the connection dropped"],"tags":["kettle","repository","metadata-save","rss-input"],"backgroundTag":"database-write-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"}