{"record":{"id":"b710eaab0bad76d3","repo":"pentaho/pentaho-kettle","slug":"regexevalmeta-exception-unexpectederrorinreadingstepinfo","errorCode":null,"errorMessage":"RegexEvalMeta.Exception.UnexpectedErrorInReadingStepInfo","messagePattern":"RegexEvalMeta\\.Exception\\.UnexpectedErrorInReadingStepInfo","errorType":"exception","errorClass":"KettleException","httpStatus":null,"severity":"error","filePath":"engine/src/main/java/org/pentaho/di/trans/steps/regexeval/RegexEvalMeta.java","lineNumber":562,"sourceCode":"      allocate( nrfields );\n\n      for ( int i = 0; i < nrfields; i++ ) {\n        fieldName[i] = rep.getStepAttributeString( id_step, i, \"field_name\" );\n        fieldType[i] = ValueMetaFactory.getIdForValueMeta( rep.getStepAttributeString( id_step, i, \"field_type\" ) );\n\n        fieldFormat[i] = rep.getStepAttributeString( id_step, i, \"field_format\" );\n        fieldGroup[i] = rep.getStepAttributeString( id_step, i, \"field_group\" );\n        fieldDecimal[i] = rep.getStepAttributeString( id_step, i, \"field_decimal\" );\n        fieldLength[i] = (int) rep.getStepAttributeInteger( id_step, i, \"field_length\" );\n        fieldPrecision[i] = (int) rep.getStepAttributeInteger( id_step, i, \"field_precision\" );\n        fieldNullIf[i] = rep.getStepAttributeString( id_step, i, \"field_nullif\" );\n        fieldIfNull[i] = rep.getStepAttributeString( id_step, i, \"field_ifnull\" );\n        fieldCurrency[i] = rep.getStepAttributeString( id_step, i, \"field_currency\" );\n        fieldTrimType[i] =\n          ValueMetaString.getTrimTypeByCode( rep.getStepAttributeString( id_step, i, \"field_trimtype\" ) );\n      }\n    } catch ( Exception e ) {\n      throw new KettleException( BaseMessages.getString(\n        PKG, \"RegexEvalMeta.Exception.UnexpectedErrorInReadingStepInfo\" ), e );\n    }\n  }\n\n  public void saveRep( Repository rep, IMetaStore metaStore, ObjectId id_transformation, ObjectId id_step ) throws KettleException {\n    try {\n      rep.saveStepAttribute( id_transformation, id_step, \"script\", script );\n      for ( int i = 0; i < fieldName.length; i++ ) {\n        if ( fieldName[i] != null && fieldName[i].length() != 0 ) {\n          rep.saveStepAttribute( id_transformation, id_step, i, \"field_name\", fieldName[i] );\n          rep\n            .saveStepAttribute( id_transformation, id_step, i, \"field_type\",\n              ValueMetaFactory.getValueMetaName( fieldType[i] ) );\n          rep.saveStepAttribute( id_transformation, id_step, i, \"field_format\", fieldFormat[i] );\n          rep.saveStepAttribute( id_transformation, id_step, i, \"field_group\", fieldGroup[i] );\n          rep.saveStepAttribute( id_transformation, id_step, i, \"field_decimal\", fieldDecimal[i] );\n          rep.saveStepAttribute( id_transformation, id_step, i, \"field_length\", fieldLength[i] );\n          rep.saveStepAttribute( id_transformation, id_step, i, \"field_precision\", fieldPrecision[i] );","sourceCodeStart":544,"sourceCodeEnd":580,"githubUrl":"https://github.com/pentaho/pentaho-kettle/blob/f3058517a153da500bf4551f46d79b91bf8ec552/engine/src/main/java/org/pentaho/di/trans/steps/regexeval/RegexEvalMeta.java#L544-L580","documentation":"RegexEvalMeta's repository constructor (loadStepFromRepository path) reads per-field step attributes from the repository; any exception there is wrapped in a KettleException 'RegexEvalMeta.Exception.UnexpectedErrorInReadingStepInfo'. It means the step's stored attributes could not be read from the repository.","triggerScenarios":"Loading a transformation whose RegexEval step metadata is read from a repository (readRep path): repository connection failures, missing id_step attributes, or invalid stored trim_type values cause the catch to fire.","commonSituations":"Repository database temporarily unavailable; transformation rows partially deleted; repository schema mismatch after an upgrade.","solutions":["Verify the repository (database) connection is working and retry loading the transformation.","Check the KETTLE_STEP_ATTRIBUTES table rows for the RegexEval step id_step are intact.","Re-save the transformation from Spoon to rewrite the step attributes.","Inspect the chained cause for the actual repository/SQL error."],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":["repository","metadata","persistence"],"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"}