pentaho/pentaho-kettle · error · KettleException

VALUEMAPPER0005

VALUEMAPPER0005

Error message

ValueMapperMeta.RuntimeError.UnableToReadRepository.VALUEMAPPER0005

What it means

ValueMapperMeta.readRep reads the step's field mappings from the repository; any Exception is rethrown as a KettleException with VALUEMAPPER0005 ('Unable to read from the repository'). It signals repository-level trouble (connection, missing rows, schema) while loading step attributes.

Solutions

  1. Verify the repository connection (test connection in Spoon) and retry opening the transformation.
  2. Check the wrapped cause for the underlying SQL/connection error and fix DB connectivity or credentials.
  3. Verify the step attribute rows exist in the repository tables (R_STEP_ATTRIBUTE for the id_step).
  4. Run any available repository upgrade/repair; align PDI and repository schema versions.
  5. As a workaround, export the transformation to a .ktr file and run from file instead of repository.
Defensive patterns

Strategy: try-catch

Validate before calling

// Check repository availability before loading:
if (!rep.connect()) throw new IllegalStateException("Repository unreachable");

Try / catch

try {
  transMeta.load(rep, metaStore, ...);
} catch (KettleException e) {
  logError("Repository read failed: " + e.getMessage(), e);
  // fall back to exported .ktr
}

Prevention

When it happens

Trigger: readRep iterates rep.getStepAttributeString(id_step, i, "source_value"/"target_value") and the repository call throws — repo unreachable, step row missing, or DB error.

Common situations: Repository database down or network blip; transformation referencing a step deleted from the repository; repository schema version mismatch after PDI upgrade; insufficient DB permissions.

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

Appendix: source

Thrown at engine/src/main/java/org/pentaho/di/trans/steps/valuemapper/ValueMapperMeta.java:238

  }

  @Override
  public void readRep( Repository rep, IMetaStore metaStore, ObjectId id_step, List<DatabaseMeta> databases ) throws KettleException {
    try {
      fieldToUse = rep.getStepAttributeString( id_step, "field_to_use" );
      targetField = rep.getStepAttributeString( id_step, "target_field" );
      nonMatchDefault = rep.getStepAttributeString( id_step, "non_match_default" );

      int nrfields = rep.countNrStepAttributes( id_step, "source_value" );

      allocate( nrfields );

      for ( int i = 0; i < nrfields; i++ ) {
        sourceValue[i] = rep.getStepAttributeString( id_step, i, "source_value" );
        targetValue[i] = rep.getStepAttributeString( id_step, i, "target_value" );
      }
    } catch ( Exception e ) {
      throw new KettleException( BaseMessages.getString(
        PKG, "ValueMapperMeta.RuntimeError.UnableToReadRepository.VALUEMAPPER0005" ), e );
    }
  }

  @Override
  public void saveRep( Repository rep, IMetaStore metaStore, ObjectId id_transformation, ObjectId id_step ) throws KettleException {
    try {
      rep.saveStepAttribute( id_transformation, id_step, "field_to_use", fieldToUse );
      rep.saveStepAttribute( id_transformation, id_step, "target_field", targetField );
      rep.saveStepAttribute( id_transformation, id_step, "non_match_default", nonMatchDefault );

      for ( int i = 0; i < sourceValue.length; i++ ) {
        rep.saveStepAttribute( id_transformation, id_step, i, "source_value", getNullOrEmpty( sourceValue[i] ) );
        rep.saveStepAttribute( id_transformation, id_step, i, "target_value", getNullOrEmpty( targetValue[i] ) );
      }
    } catch ( Exception e ) {
      throw new KettleException( BaseMessages.getString(
        PKG, "ValueMapperMeta.RuntimeError.UnableToSaveRepository.VALUEMAPPER0006", "" + id_step ), e );

View on GitHub (pinned to f3058517a1)