{"record":{"id":"8e0d86748c677872","repo":"pentaho/pentaho-kettle","slug":"xsdvalidatormeta-exception-unexpectederrorinreadingstepinfo","errorCode":null,"errorMessage":"XsdValidatorMeta.Exception.UnexpectedErrorInReadingStepInfo","messagePattern":"XsdValidatorMeta\\.Exception\\.UnexpectedErrorInReadingStepInfo","errorType":"exception","errorClass":"KettleException","httpStatus":null,"severity":"error","filePath":"plugins/xml/core/src/main/java/org/pentaho/di/trans/steps/xsdvalidator/XsdValidatorMeta.java","lineNumber":308,"sourceCode":"      xsdFilename = rep.getStepAttributeString( id_step, \"xdsfilename\" );\n      xmlStream = rep.getStepAttributeString( id_step, \"xmlstream\" );\n      resultFieldname = rep.getStepAttributeString( id_step, \"resultfieldname\" );\n\n      xmlSourceFile = rep.getStepAttributeBoolean( id_step, \"xmlsourcefile\" );\n      addValidationMessage = rep.getStepAttributeBoolean( id_step, \"addvalidationmsg\" );\n      validationMessageField = rep.getStepAttributeString( id_step, \"validationmsgfield\" );\n      ifXmlValid = rep.getStepAttributeString( id_step, \"ifxmlvalid\" );\n      ifXmlInvalid = rep.getStepAttributeString( id_step, \"ifxmlunvalid\" );\n\n      outputStringField = rep.getStepAttributeBoolean( id_step, \"outputstringfield\" );\n      xsdDefinedField = rep.getStepAttributeString( id_step, \"xsddefinedfield\" );\n      xsdSource = rep.getStepAttributeString( id_step, \"xsdsource\" );\n\n      allowExternalEntities =\n        Boolean.parseBoolean( rep.getJobEntryAttributeString( id_step, \"allowExternalEntities\" ) );\n\n    } catch ( Exception e ) {\n      throw new KettleException( BaseMessages.getString( PKG,\n          \"XsdValidatorMeta.Exception.UnexpectedErrorInReadingStepInfo\" ), e );\n    }\n  }\n\n  public void saveRep( Repository rep, IMetaStore metaStore, ObjectId id_transformation, ObjectId id_step )\n    throws KettleException {\n    try {\n      rep.saveStepAttribute( id_transformation, id_step, \"xdsfilename\", xsdFilename );\n      rep.saveStepAttribute( id_transformation, id_step, \"xmlstream\", xmlStream );\n      rep.saveStepAttribute( id_transformation, id_step, \"resultfieldname\", resultFieldname );\n      rep.saveStepAttribute( id_transformation, id_step, \"xmlsourcefile\", xmlSourceFile );\n      rep.saveStepAttribute( id_transformation, id_step, \"addvalidationmsg\", addValidationMessage );\n      rep.saveStepAttribute( id_transformation, id_step, \"validationmsgfield\", validationMessageField );\n      rep.saveStepAttribute( id_transformation, id_step, \"ifxmlvalid\", ifXmlValid );\n      rep.saveStepAttribute( id_transformation, id_step, \"ifxmlunvalid\", ifXmlInvalid );\n      rep.saveStepAttribute( id_transformation, id_step, \"outputstringfield\", outputStringField );\n      rep.saveStepAttribute( id_transformation, id_step, \"xsddefinedfield\", xsdDefinedField );\n      rep.saveStepAttribute( id_transformation, id_step, \"xsdsource\", xsdSource );","sourceCodeStart":290,"sourceCodeEnd":326,"githubUrl":"https://github.com/pentaho/pentaho-kettle/blob/f3058517a153da500bf4551f46d79b91bf8ec552/plugins/xml/core/src/main/java/org/pentaho/di/trans/steps/xsdvalidator/XsdValidatorMeta.java#L290-L326","documentation":"Thrown by XsdValidatorMeta.readRep when loading the step's settings from the repository fails. Any exception raised while reading step/job-entry attributes is wrapped in a KettleException with this message, with the original error as the cause. It means the step metadata could not be read from the database repository.","triggerScenarios":"readRep(rep, id_step, ...) is invoked during transformation loading from a repository and a rep.getStepAttributeString/getJobEntryAttributeString call throws (repository connectivity loss, DB error, id_step invalid).","commonSituations":"Repository database connection dropped mid-load; r_step_attribute rows missing or corrupted; stale transformation referencing a deleted step id; repository schema version mismatch.","solutions":["Check the cause exception and the repository database connectivity.","Verify the step's rows exist in R_STEP_ATTRIBUTE for the given id_step.","Reconnect to the repository and reload the transformation.","Export the transformation to XML from a working client and use file-based loading instead."],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":"try { transMeta = repository.loadTransformation(name, dir, monitor, true, null) } catch (KettleException e) { log.error(\"Repository read failed: \" + e.getCause(), e); }","preventionTips":["Monitor repository DB connectivity before loading transformations","Back up R_STEP_ATTRIBUTE data / export transformations to XML regularly","Use matching client and repository schema versions"],"tags":["repository","database","kettle","step-metadata"],"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"}