pentaho/pentaho-kettle · error · KettleException

Unexpected error reading step information from the…

Error message

Unexpected error reading step information from the repository

What it means

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.

Solutions

  1. Verify the repository (database or file) is reachable and the connection settings are correct.
  2. Check the Kettle repository schema version matches your Pentaho version (run the upgrade scripts if needed).
  3. Re-open and re-save the transformation to rebuild the step attributes, or recreate the step.
  4. Inspect the root cause (the wrapped exception 'e') for the underlying SQL/repository error.

Example fix

null
Defensive patterns

Strategy: try-catch

Try / catch

try {
  TransMeta tm = new TransMeta(repository, directory, "name", null, null, null, false);
} catch (KettleException e) {
  if (e.getMessage().contains("Unexpected error reading step information from the repository")) {
    // check repository connectivity/schema, then retry
  } else { throw e; }
}

Prevention

When it happens

Trigger: 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.

Common situations: 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.

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/e2cc97faed24cb92. Report an issue: GitHub.

Appendix: source

Thrown at plugins/core/impl/src/main/java/org/pentaho/di/trans/steps/blockuntilstepsfinish/BlockUntilStepsFinishMeta.java:176

      stepName[i] = "step" + i;
      stepCopyNr[i] = "CopyNr" + i;
    }
  }

  public void readRep( Repository rep, IMetaStore metaStore, ObjectId id_step, List<DatabaseMeta> databases )
    throws KettleException {
    try {

      int nrsteps = rep.countNrStepAttributes( id_step, "step_name" );

      allocate( nrsteps );

      for ( int i = 0; i < nrsteps; i++ ) {
        stepName[i] = rep.getStepAttributeString( id_step, i, "step_name" );
        stepCopyNr[i] = rep.getStepAttributeString( id_step, i, "step_CopyNr" );
      }
    } catch ( Exception e ) {
      throw new KettleException( "Unexpected error reading step information from the repository", e );
    }
  }

  public void saveRep( Repository rep, IMetaStore metaStore, ObjectId id_transformation, ObjectId id_step )
    throws KettleException {
    try {
      for ( int i = 0; i < stepName.length; i++ ) {
        rep.saveStepAttribute( id_transformation, id_step, i, "step_name", stepName[i] );
        rep.saveStepAttribute( id_transformation, id_step, i, "step_CopyNr", stepCopyNr[i] );

      }
    } catch ( Exception e ) {
      throw new KettleException( "Unable to save step information to the repository for id_step=" + id_step, e );
    }
  }

  public void check( List<CheckResultInterface> remarks, TransMeta transMeta, StepMeta stepMeta,
    RowMetaInterface prev, String[] input, String[] output, RowMetaInterface info, VariableSpace space,

View on GitHub (pinned to f3058517a1)