pentaho/pentaho-kettle · error · KettleException
Unable to load Value from repository with id_value=
Error message
Unable to load Value from repository with id_value=
What it means
loadValueMetaAndData() reads a value (with its metadata) from the repository by id_value. Any KettleException encountered during that read is wrapped as KettleException('Unable to load Value from repository with id_value=<id>', cause). It indicates the value row could not be read or its metadata could not be reconstructed.
Solutions
- Inspect the wrapped cause for the actual SQL/parse error
- Verify the R_VALUE row for that id_value exists and matches the repository schema version
- Run repository upgrade/repair (repository connection 'Upgrade' option) if schema mismatch is suspected
Example fix
// before
RowMetaAndData v = repo.valueDelegate.loadValueMetaAndData(idValue);
// after
RowMetaAndData v;
try {
v = repo.valueDelegate.loadValueMetaAndData(idValue);
} catch (KettleException e) {
throw new KettleException("Value " + idValue + " missing/corrupt in repository: " + e.getCause().getMessage(), e);
} Defensive patterns
Strategy: try-catch
Validate before calling
RowMetaAndData row = repository.connectionDelegate.getOneRow("R_VALUE", "ID_VALUE", id_value);
if (row == null) throw new KettleException("No R_VALUE row for id_value=" + id_value); Try / catch
try { value = delegate.loadValueMetaAndData(id); } catch (KettleException e) { throw new KettleException("Corrupt/missing value id=" + id + ": " + e.getCause(), e); } Prevention
- Never delete repository rows directly with SQL — use repository APIs to keep referential integrity
- Keep the repository schema in sync with the Pentaho version
- Validate referenced ids before loading
When it happens
Trigger: Calling valueDelegate.loadValueMetaAndData(id_value) with an id that has no row in R_VALUE, or when ValueMetaFactory/createValueMeta or the underlying JDBC read throws.
Common situations: Corrupt or partially deleted repository rows (orphaned id_value references); transformation/repository schema mismatch after upgrade; pointing at the wrong repository database.
Understand the failure class
Background: Record Not Found Errors: "not found", RecordNotFound, and "was not found" — what they mean and how to fix them — this error's family across 28 libraries.
Related errors
- AbortMeta.Exception.UnableToSaveStepInfoToRepository
- Edi2Xml.Exception.UnableToSaveStepInfoToRepository
- ERROR_0002_Cannot_Load_Job_From_Repository
- ERROR_0002
- ERROR_0003_Cannot_Save_Job_Entry
AI-assisted analysis of pentaho/pentaho-kettle@f3058517a1 (2026-09-13).
Data as JSON: /api/errors/6cee4cd4bf0ce7f3.
Report an issue: GitHub.
Appendix: source
Thrown at engine/src/main/java/org/pentaho/di/repository/kdr/delegates/KettleDatabaseRepositoryValueDelegate.java:85
valueMeta.setConversionMask( ValueMetaAndData.VALUE_REPOSITORY_INTEGER_CONVERSION_MASK );
break;
default:
break;
}
String string = r.getString( "VALUE_STR", null );
valueMetaAndData.setValueData( stringValueMeta.convertDataUsingConversionMetaData( string ) );
// OK, now comes the dirty part...
// We want the defaults back on there...
//
valueMeta = ValueMetaFactory.createValueMeta( name, valueMeta.getType() );
}
}
return valueMetaAndData;
} catch ( KettleException dbe ) {
throw new KettleException( "Unable to load Value from repository with id_value=" + id_value, dbe );
}
}
}
View on GitHub (pinned to f3058517a1)