{"record":{"id":"93b868a5946adbc7","repo":"pentaho/pentaho-kettle","slug":"unable-to-save-step-information-to-the-repository-for-idstep","errorCode":null,"errorMessage":"Unable to save step information to the repository for idStep=","messagePattern":"Unable to save step information to the repository for idStep=","errorType":"exception","errorClass":"KettleException","httpStatus":null,"severity":"error","filePath":"plugins/palo/core/src/main/java/org/pentaho/di/trans/steps/palo/cellinput/PaloCellInputMeta.java","lineNumber":211,"sourceCode":"  }\n\n  @Override\n  public void saveRep( Repository rep, IMetaStore metaStore, ObjectId idTransformation, ObjectId idStep )\n    throws KettleException {\n    try {\n      rep.saveDatabaseMetaStepAttribute( idTransformation, idStep, \"connection\", databaseMeta );\n      rep.saveStepAttribute( idTransformation, idStep, \"cube\", this.cube );\n      rep.saveStepAttribute( idTransformation, idStep, \"cubemeasurename\", this.cubeMeasure.getFieldName() );\n      rep.saveStepAttribute( idTransformation, idStep, \"cubemeasuretype\", this.cubeMeasure.getFieldType() );\n\n      for ( int i = 0; i < this.fields.size(); i++ ) {\n        rep.saveStepAttribute( idTransformation, idStep, i, \"dimensionname\", this.fields.get( i ).getDimensionName() );\n        rep.saveStepAttribute( idTransformation, idStep, i, \"fieldname\", this.fields.get( i ).getFieldName() );\n        rep.saveStepAttribute( idTransformation, idStep, i, \"fieldtype\", this.fields.get( i ).getFieldType() );\n      }\n\n    } catch ( Exception e ) {\n      throw new KettleException( \"Unable to save step information to the repository for idStep=\" + idStep, e );\n    }\n  }\n\n  @Override\n  public void check( final List<CheckResultInterface> remarks, final TransMeta transMeta, final StepMeta stepMeta,\n      final RowMetaInterface prev, final String[] input, final String[] output, final RowMetaInterface info,\n      VariableSpace space, Repository repository, IMetaStore metaStore ) {\n    CheckResult cr;\n\n    if ( databaseMeta != null ) {\n      cr = new CheckResult( CheckResultInterface.TYPE_RESULT_OK, \"Connection exists\", stepMeta );\n      remarks.add( cr );\n\n      final PaloHelper helper = new PaloHelper( databaseMeta, DefaultLogLevel.getLogLevel() );\n      try {\n        helper.connect();\n        cr = new CheckResult( CheckResultInterface.TYPE_RESULT_OK, \"Connection to database OK\", stepMeta );\n        remarks.add( cr );","sourceCodeStart":193,"sourceCodeEnd":229,"githubUrl":"https://github.com/pentaho/pentaho-kettle/blob/f3058517a153da500bf4551f46d79b91bf8ec552/plugins/palo/core/src/main/java/org/pentaho/di/trans/steps/palo/cellinput/PaloCellInputMeta.java#L193-L229","documentation":"Thrown by PaloCellInputMeta.saveRep when persisting the step's attributes (connection, cube, and per-field dimensionname/fieldname/fieldtype) to the Kettle repository fails. The failure cause is chained in the KettleException.","triggerScenarios":"saveRep called during transformation save when any rep.saveStepAttribute call throws — repository down, schema mismatch, invalid idTransformation/idStep, or field list containing unexpected values.","commonSituations":"Repository database outage or connection drop during save; insufficient repository write permissions; saving to an old repository schema that lacks the plugin's attribute conventions.","solutions":["Inspect the chained cause exception for the underlying repository error.","Verify repository connectivity and write permissions for the current Kettle user.","Retry the save after confirming the repository schema matches the plugin version.","Check that idStep/idTransformation ObjectIds are valid (step was added to the transformation before save)."],"exampleFix":"null","handlingStrategy":"try-catch","validationCode":"if (rep == null || idStep == null) { throw new IllegalStateException(\"repository/idStep must be set before saveRep\"); }","typeGuard":null,"tryCatchPattern":"try { transMeta.saveRep(rep, metaStore, idTrans, null); } catch (KettleException e) { log.error(\"save failed\", e.getCause()); /* retry after connectivity check */ }","preventionTips":["Confirm repository write permissions for the Kettle user","Check repository health before batch saves","Inspect chained cause for precise attribute-write failures"],"tags":["kettle","repository","persistence","save"],"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"}