pentaho/pentaho-kettle · error · KettleException
SelectValuesMeta.Exception.UnexpectedErrorReadingStepInfoFro…
Error message
SelectValuesMeta.Exception.UnexpectedErrorReadingStepInfoFromRepository
What it means
readRep() wraps any exception while loading SelectValues step attributes from a repository in a KettleException using the localized key 'SelectValuesMeta.Exception.UnexpectedErrorReadingStepInfoFromRepository'. It indicates repository access or attribute decoding failed while reconstructing this step's metadata.
Solutions
- Check the underlying cause: verify repository database connectivity and credentials
- Confirm the transformation/step exists in the repository and id_step is valid
- Check repository table integrity (r_step_attribute) and user permissions
- Re-open and re-save the transformation in Spoon to rewrite the step attributes
Defensive patterns
Strategy: try-catch
Validate before calling
// before load
if (!repoConnectivityOk(repository)) throw new IllegalStateException("Repository unavailable"); Try / catch
try { meta.readRep(rep, metaStore, stepId, databases, metaStore != null ? metaStore : null, variables); } catch (KettleException e) { logError("Repository read failed for step " + stepId + ": " + e.getCause(), e); } Prevention
- Test repository connectivity before batch-loading transformations
- Use repository accounts with read access to all required transformations
- Back up r_step_attribute data before repository migrations
- Load transformations via Spoon to get friendlier diagnostics
When it happens
Trigger: Calling readRep() during transformation load when the Repository.getStepAttributeString calls fail (connection lost, repository object missing, invalid id_step, repository schema problems).
Common situations: Loading a transformation from a Pentaho repository whose DB connection is broken; corrupted r_step_attribute rows; permission issues reading step attributes; id_step pointing at a deleted step.
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
- AppendMeta.Exception.UnexpectedErrorReadingStepInfo
- CombinationLookupMeta.Exception.UnexpectedErrorWhileReadingS…
- DynamicSQLRowMeta.Exception.UnexpectedErrorReadingStepInfo
- error reading step with id_step= from the repository
- ExecProcessMeta.Exception.UnexpectedErrorReadingStepInfo
AI-assisted analysis of pentaho/pentaho-kettle@f3058517a1 (2026-09-13).
Data as JSON: /api/errors/445debce1cbe8799.
Report an issue: GitHub.
Appendix: source
Thrown at engine/src/main/java/org/pentaho/di/trans/steps/selectvalues/SelectValuesMeta.java:572
meta[i].setPrecision( (int) rep.getStepAttributeInteger( id_step, i, getRepCode( "META_PRECISION" ) ) );
meta[i].setStorageType( ValueMetaBase.getStorageType( rep.getStepAttributeString( id_step, i, getRepCode(
"META_STORAGE_TYPE" ) ) ) );
meta[i].setConversionMask( rep.getStepAttributeString( id_step, i, getRepCode( "META_CONVERSION_MASK" ) ) );
meta[i].setDateFormatLenient( Boolean.parseBoolean( rep.getStepAttributeString( id_step, i, getRepCode(
"META_DATE_FORMAT_LENIENT" ) ) ) );
meta[i].setDateFormatLocale( rep.getStepAttributeString( id_step, i, getRepCode(
"META_DATE_FORMAT_LOCALE" ) ) );
meta[i].setDateFormatTimeZone( rep.getStepAttributeString( id_step, i, getRepCode(
"META_DATE_FORMAT_TIMEZONE" ) ) );
meta[i].setLenientStringToNumber( Boolean.parseBoolean( rep.getStepAttributeString( id_step, i, getRepCode(
"META_LENIENT_STRING_TO_NUMBER" ) ) ) );
meta[i].setDecimalSymbol( rep.getStepAttributeString( id_step, i, getRepCode( "META_DECIMAL" ) ) );
meta[i].setGroupingSymbol( rep.getStepAttributeString( id_step, i, getRepCode( "META_GROUPING" ) ) );
meta[i].setCurrencySymbol( rep.getStepAttributeString( id_step, i, getRepCode( "META_CURRENCY" ) ) );
meta[i].setEncoding( rep.getStepAttributeString( id_step, i, getRepCode( "META_ENCODING" ) ) );
}
} catch ( Exception e ) {
throw new KettleException( BaseMessages.getString( PKG,
"SelectValuesMeta.Exception.UnexpectedErrorReadingStepInfoFromRepository" ), e );
}
}
@Override
public void saveRep( Repository rep, IMetaStore metaStore, ObjectId id_transformation, ObjectId id_step )
throws KettleException {
try {
for ( int i = 0; i < selectFields.length; i++ ) {
rep.saveStepAttribute( id_transformation, id_step, i, getRepCode( "FIELD_NAME" ), selectFields[i].getName() );
rep.saveStepAttribute( id_transformation, id_step, i, getRepCode( "FIELD_RENAME" ), selectFields[i]
.getRename() );
rep.saveStepAttribute( id_transformation, id_step, i, getRepCode( "FIELD_LENGTH" ), selectFields[i]
.getLength() );
rep.saveStepAttribute( id_transformation, id_step, i, getRepCode( "FIELD_PRECISION" ), selectFields[i]
.getPrecision() );
}
rep.saveStepAttribute( id_transformation, id_step, getRepCode( "SELECT_UNSPECIFIED" ),View on GitHub (pinned to f3058517a1)