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
- Verify the repository connection (test connection in Spoon) and retry opening the transformation.
- Check the wrapped cause for the underlying SQL/connection error and fix DB connectivity or credentials.
- Verify the step attribute rows exist in the repository tables (R_STEP_ATTRIBUTE for the id_step).
- Run any available repository upgrade/repair; align PDI and repository schema versions.
- 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
- Test repository connectivity before batch operations
- Keep an exported .ktr backup of repository-stored transformations
- Upgrade repository schema in step with PDI versions
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
- VALUEMAPPER0006
- GetSequenceMeta.Exception.UnableToReadStepInfo
- GetSequenceMeta.Exception.UnableToSaveStepInfo
- JobCopyFiles.Error.Exception.UnableLoadRep
- JobEntryCopyMoveResultFilenames.CanNotLoadFromRep
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)