pentaho/pentaho-kettle · error · KettleException

GetSequenceMeta.Exception.UnableToReadStepInfo

Error message

GetSequenceMeta.Exception.UnableToReadStepInfo

What it means

GetSlaveSequenceMeta.readRep throws KettleException with 'UnableToReadStepInfo' (plus the step id) when reading the step's attributes from a repository fails. Any exception from rep.getStepAttributeString for valuename/slave/seqname/increment is wrapped with the id_step appended. This surfaces repository connectivity or schema problems during transformation load from a database repository.

Solutions

  1. Check the repository database connection and network availability.
  2. Verify the repository schema matches the PDI version (run repository upgrade if needed).
  3. Grant the repository user SELECT on r_step_attribute.
  4. Export the transformation from the repository to XML as a workaround and load from file.
Defensive patterns

Strategy: try-catch

Validate before calling

// Verify repository connectivity before loading
Repository rep = new KettleDatabaseRepository();
rep.connect( username, password );
if ( !rep.isConnected() ) throw new IllegalStateException( "Repository not connected" );

Try / catch

try {
  TransMeta tm = new TransMeta( rep, transName, directory );
} catch ( KettleException e ) {
  if ( e.getMessage().startsWith( "UnableToReadStepInfo" ) || e.getMessage().contains( "UnableToReadStepInfo" ) ) {
    // check DB connection / repository schema, then retry or load from XML fallback
  } else throw e;
}

Prevention

When it happens

Trigger: Loading a transformation from a repository; the underlying repository throws while executing getStepAttributeString, e.g. DB connection lost mid-load or r_step_attribute table missing/corrupt.

Common situations: Database repository unavailable or network dropped; repository schema not upgraded after a PDI version change; insufficient DB permissions to read r_step_attribute; corrupted repository rows.

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

Appendix: source

Thrown at engine/src/main/java/org/pentaho/di/trans/steps/getslavesequence/GetSlaveSequenceMeta.java:116

    StringBuilder retval = new StringBuilder( 300 );

    retval.append( "      " ).append( XMLHandler.addTagValue( "valuename", valuename ) );
    retval.append( "      " ).append( XMLHandler.addTagValue( "slave", slaveServerName ) );
    retval.append( "      " ).append( XMLHandler.addTagValue( "seqname", sequenceName ) );
    retval.append( "      " ).append( XMLHandler.addTagValue( "increment", increment ) );

    return retval.toString();
  }

  @Override
  public void readRep( Repository rep, IMetaStore metaStore, ObjectId id_step, List<DatabaseMeta> databases ) throws KettleException {
    try {
      valuename = rep.getStepAttributeString( id_step, "valuename" );
      slaveServerName = rep.getStepAttributeString( id_step, "slave" );
      sequenceName = rep.getStepAttributeString( id_step, "seqname" );
      increment = rep.getStepAttributeString( id_step, "increment" );
    } catch ( Exception e ) {
      throw new KettleException( BaseMessages.getString( PKG, "GetSequenceMeta.Exception.UnableToReadStepInfo" )
        + id_step, e );
    }
  }

  @Override
  public void saveRep( Repository rep, IMetaStore metaStore, ObjectId id_transformation, ObjectId id_step ) throws KettleException {
    try {
      rep.saveStepAttribute( id_transformation, id_step, "valuename", valuename );
      rep.saveStepAttribute( id_transformation, id_step, "slave", slaveServerName );
      rep.saveStepAttribute( id_transformation, id_step, "seqname", sequenceName );
      rep.saveStepAttribute( id_transformation, id_step, "increment", increment );
    } catch ( Exception e ) {
      throw new KettleException( BaseMessages.getString( PKG, "GetSequenceMeta.Exception.UnableToSaveStepInfo" )
        + id_step, e );
    }
  }

  @Override

View on GitHub (pinned to f3058517a1)