{"record":{"id":"445debce1cbe8799","repo":"pentaho/pentaho-kettle","slug":"selectvaluesmeta-exception","errorCode":null,"errorMessage":"SelectValuesMeta.Exception.UnexpectedErrorReadingStepInfoFromRepository","messagePattern":"SelectValuesMeta\\.Exception\\.UnexpectedErrorReadingStepInfoFromRepository","errorType":"exception","errorClass":"KettleException","httpStatus":null,"severity":"error","filePath":"engine/src/main/java/org/pentaho/di/trans/steps/selectvalues/SelectValuesMeta.java","lineNumber":572,"sourceCode":"        meta[i].setPrecision( (int) rep.getStepAttributeInteger( id_step, i, getRepCode( \"META_PRECISION\" ) ) );\n        meta[i].setStorageType( ValueMetaBase.getStorageType( rep.getStepAttributeString( id_step, i, getRepCode(\n            \"META_STORAGE_TYPE\" ) ) ) );\n        meta[i].setConversionMask( rep.getStepAttributeString( id_step, i, getRepCode( \"META_CONVERSION_MASK\" ) ) );\n        meta[i].setDateFormatLenient( Boolean.parseBoolean( rep.getStepAttributeString( id_step, i, getRepCode(\n            \"META_DATE_FORMAT_LENIENT\" ) ) ) );\n        meta[i].setDateFormatLocale( rep.getStepAttributeString( id_step, i, getRepCode(\n            \"META_DATE_FORMAT_LOCALE\" ) ) );\n        meta[i].setDateFormatTimeZone( rep.getStepAttributeString( id_step, i, getRepCode(\n            \"META_DATE_FORMAT_TIMEZONE\" ) ) );\n        meta[i].setLenientStringToNumber( Boolean.parseBoolean( rep.getStepAttributeString( id_step, i, getRepCode(\n            \"META_LENIENT_STRING_TO_NUMBER\" ) ) ) );\n        meta[i].setDecimalSymbol( rep.getStepAttributeString( id_step, i, getRepCode( \"META_DECIMAL\" ) ) );\n        meta[i].setGroupingSymbol( rep.getStepAttributeString( id_step, i, getRepCode( \"META_GROUPING\" ) ) );\n        meta[i].setCurrencySymbol( rep.getStepAttributeString( id_step, i, getRepCode( \"META_CURRENCY\" ) ) );\n        meta[i].setEncoding( rep.getStepAttributeString( id_step, i, getRepCode( \"META_ENCODING\" ) ) );\n      }\n    } catch ( Exception e ) {\n      throw new KettleException( BaseMessages.getString( PKG,\n          \"SelectValuesMeta.Exception.UnexpectedErrorReadingStepInfoFromRepository\" ), e );\n    }\n  }\n\n  @Override\n  public void saveRep( Repository rep, IMetaStore metaStore, ObjectId id_transformation, ObjectId id_step )\n    throws KettleException {\n    try {\n      for ( int i = 0; i < selectFields.length; i++ ) {\n        rep.saveStepAttribute( id_transformation, id_step, i, getRepCode( \"FIELD_NAME\" ), selectFields[i].getName() );\n        rep.saveStepAttribute( id_transformation, id_step, i, getRepCode( \"FIELD_RENAME\" ), selectFields[i]\n            .getRename() );\n        rep.saveStepAttribute( id_transformation, id_step, i, getRepCode( \"FIELD_LENGTH\" ), selectFields[i]\n            .getLength() );\n        rep.saveStepAttribute( id_transformation, id_step, i, getRepCode( \"FIELD_PRECISION\" ), selectFields[i]\n            .getPrecision() );\n      }\n      rep.saveStepAttribute( id_transformation, id_step, getRepCode( \"SELECT_UNSPECIFIED\" ),","sourceCodeStart":554,"sourceCodeEnd":590,"githubUrl":"https://github.com/pentaho/pentaho-kettle/blob/f3058517a153da500bf4551f46d79b91bf8ec552/engine/src/main/java/org/pentaho/di/trans/steps/selectvalues/SelectValuesMeta.java#L554-L590","documentation":"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.","triggerScenarios":"Calling readRep() during transformation load when the Repository.getStepAttributeString calls fail (connection lost, repository object missing, invalid id_step, repository schema problems).","commonSituations":"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.","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"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":"// before load\nif (!repoConnectivityOk(repository)) throw new IllegalStateException(\"Repository unavailable\");","typeGuard":null,"tryCatchPattern":"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); }","preventionTips":["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"],"tags":["kettle","repository","metadata-load"],"backgroundTag":"database-query-failed","analyzedSha":"f3058517a153da500bf4551f46d79b91bf8ec552","analyzedAt":"2026-09-13T14:04:16.340Z","contentChangedAt":"2026-09-13T14:04:16.340Z","schemaVersion":2},"datasetVersion":"2026-09-20T23:17:15.980Z"}