{"record":{"id":"e2cc97faed24cb92","repo":"pentaho/pentaho-kettle","slug":"unexpected-error-reading-step-information-from-the-e2cc97","errorCode":null,"errorMessage":"Unexpected error reading step information from the repository","messagePattern":"Unexpected error reading step information from the repository","errorType":"exception","errorClass":"KettleException","httpStatus":null,"severity":"error","filePath":"plugins/core/impl/src/main/java/org/pentaho/di/trans/steps/blockuntilstepsfinish/BlockUntilStepsFinishMeta.java","lineNumber":176,"sourceCode":"      stepName[i] = \"step\" + i;\n      stepCopyNr[i] = \"CopyNr\" + i;\n    }\n  }\n\n  public void readRep( Repository rep, IMetaStore metaStore, ObjectId id_step, List<DatabaseMeta> databases )\n    throws KettleException {\n    try {\n\n      int nrsteps = rep.countNrStepAttributes( id_step, \"step_name\" );\n\n      allocate( nrsteps );\n\n      for ( int i = 0; i < nrsteps; i++ ) {\n        stepName[i] = rep.getStepAttributeString( id_step, i, \"step_name\" );\n        stepCopyNr[i] = rep.getStepAttributeString( id_step, i, \"step_CopyNr\" );\n      }\n    } catch ( Exception e ) {\n      throw new KettleException( \"Unexpected error reading step information from the repository\", e );\n    }\n  }\n\n  public void saveRep( Repository rep, IMetaStore metaStore, ObjectId id_transformation, ObjectId id_step )\n    throws KettleException {\n    try {\n      for ( int i = 0; i < stepName.length; i++ ) {\n        rep.saveStepAttribute( id_transformation, id_step, i, \"step_name\", stepName[i] );\n        rep.saveStepAttribute( id_transformation, id_step, i, \"step_CopyNr\", stepCopyNr[i] );\n\n      }\n    } catch ( Exception e ) {\n      throw new KettleException( \"Unable to save step information to the repository for id_step=\" + id_step, e );\n    }\n  }\n\n  public void check( List<CheckResultInterface> remarks, TransMeta transMeta, StepMeta stepMeta,\n    RowMetaInterface prev, String[] input, String[] output, RowMetaInterface info, VariableSpace space,","sourceCodeStart":158,"sourceCodeEnd":194,"githubUrl":"https://github.com/pentaho/pentaho-kettle/blob/f3058517a153da500bf4551f46d79b91bf8ec552/plugins/core/impl/src/main/java/org/pentaho/di/trans/steps/blockuntilstepsfinish/BlockUntilStepsFinishMeta.java#L158-L194","documentation":"BlockUntilStepsFinishMeta.readRep loads the step's configured step names and copy numbers from the repository when a transformation is opened from a repository. Any exception while reading the per-row step attributes is wrapped in this KettleException.","triggerScenarios":"readRep throws while looping nrsteps calling rep.getStepAttributeString(id_step,i,\"step_name\") / (\"step_CopyNr\") — repository connection failure, missing id_step, or attribute rows referencing a nonexistent row index.","commonSituations":"Repository database unavailable or schema mismatch after a Pentaho upgrade; step metadata in the repository saved by an incompatible plugin version; partial/corrupt repository records for the transformation.","solutions":["Verify the repository (database or file) is reachable and the connection settings are correct.","Check the Kettle repository schema version matches your Pentaho version (run the upgrade scripts if needed).","Re-open and re-save the transformation to rebuild the step attributes, or recreate the step.","Inspect the root cause (the wrapped exception 'e') for the underlying SQL/repository error."],"exampleFix":"null","handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":"try {\n  TransMeta tm = new TransMeta(repository, directory, \"name\", null, null, null, false);\n} catch (KettleException e) {\n  if (e.getMessage().contains(\"Unexpected error reading step information from the repository\")) {\n    // check repository connectivity/schema, then retry\n  } else { throw e; }\n}","preventionTips":["Verify repository connectivity before loading transformations","Keep repository schema upgraded to the Pentaho version","Check log root cause (wrapped exception) for SQL errors","Re-save steps after plugin upgrades"],"tags":["kettle","repository","metadata","deserialization"],"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"}