{"record":{"id":"033000cb4b45042b","repo":"pentaho/pentaho-kettle","slug":"pgpencryptstreammeta-exception","errorCode":null,"errorMessage":"PGPEncryptStreamMeta.Exception.UnexpectedErrorReadingStepInfo","messagePattern":"PGPEncryptStreamMeta\\.Exception\\.UnexpectedErrorReadingStepInfo","errorType":"exception","errorClass":"KettleException","httpStatus":null,"severity":"error","filePath":"engine/src/main/java/org/pentaho/di/trans/steps/pgpencryptstream/PGPEncryptStreamMeta.java","lineNumber":245,"sourceCode":"      streamfield = XMLHandler.getTagValue( stepnode, \"streamfield\" );\n      resultfieldname = XMLHandler.getTagValue( stepnode, \"resultfieldname\" );\n    } catch ( Exception e ) {\n      throw new KettleXMLException( BaseMessages.getString(\n        PKG, \"PGPEncryptStreamMeta.Exception.UnableToReadStepInfo\" ), e );\n    }\n  }\n\n  @Override\n  public void readRep( Repository rep, IMetaStore metaStore, ObjectId id_step, List<DatabaseMeta> databases ) throws KettleException {\n    try {\n      gpglocation = rep.getStepAttributeString( id_step, \"gpglocation\" );\n      keyname = rep.getStepAttributeString( id_step, \"keyname\" );\n      keynameInField = rep.getStepAttributeBoolean( id_step, \"keynameInField\" );\n      keynameFieldName = rep.getStepAttributeString( id_step, \"keynameFieldName\" );\n      streamfield = rep.getStepAttributeString( id_step, \"streamfield\" );\n      resultfieldname = rep.getStepAttributeString( id_step, \"resultfieldname\" );\n    } catch ( Exception e ) {\n      throw new KettleException( BaseMessages.getString(\n        PKG, \"PGPEncryptStreamMeta.Exception.UnexpectedErrorReadingStepInfo\" ), e );\n    }\n  }\n\n  @Override\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, \"gpglocation\", gpglocation );\n      rep.saveStepAttribute( id_transformation, id_step, \"keyname\", keyname );\n      rep.saveStepAttribute( id_transformation, id_step, \"keynameInField\", keynameInField );\n      rep.saveStepAttribute( id_transformation, id_step, \"keynameFieldName\", keynameFieldName );\n      rep.saveStepAttribute( id_transformation, id_step, \"streamfield\", streamfield );\n      rep.saveStepAttribute( id_transformation, id_step, \"resultfieldname\", resultfieldname );\n    } catch ( Exception e ) {\n      throw new KettleException( BaseMessages.getString(\n        PKG, \"PGPEncryptStreamMeta.Exception.UnableToSaveStepInfo\" )\n        + id_step, e );\n    }","sourceCodeStart":227,"sourceCodeEnd":263,"githubUrl":"https://github.com/pentaho/pentaho-kettle/blob/f3058517a153da500bf4551f46d79b91bf8ec552/engine/src/main/java/org/pentaho/di/trans/steps/pgpencryptstream/PGPEncryptStreamMeta.java#L227-L263","documentation":"KettleException thrown by PGPEncryptStreamMeta.readRep when reading the step's attributes from the repository fails. Each rep.getStepAttributeString/Boolean call reads persisted settings for the step; any repository-level exception is wrapped with this message. It means the step metadata could not be loaded from the database repository.","triggerScenarios":"readRep is invoked when loading a transformation stored in a repository and the repository call throws (connection dropped, missing r_step_attribute rows, repository schema mismatch).","commonSituations":"Repository database down or network dropped mid-load; shared repository upgraded from older Pentaho version; corrupted r_step_attribute entries for the step.","solutions":["Verify the repository database connection is healthy and retry loading the transformation.","Check r_step_attribute rows for the step id and repair or re-create the step.","Confirm repository schema matches the Pentaho version (run the repository upgrade scripts)."],"exampleFix":"// before: loading transformation against stale repository connection\nTransMeta tm = new TransMeta(rep, \"PGP transform\"); // throws\n// after: reconnect repository first\nrep.connect(\"admin\", \"password\");\nTransMeta tm = new TransMeta(rep, \"PGP transform\");","handlingStrategy":"try-catch","validationCode":"// Verify repository is reachable before loading\nif (!rep.isConnected()) rep.connect(user, pass);\nrep.findStepAttributeNames sanity: check the transformation exists via rep.getTransformationID(name)","typeGuard":null,"tryCatchPattern":"try { meta.readRep(rep, metaStore, idStep, databases); } catch (KettleException e) { log.error(\"Repository read failed for step: \" + e.getCause(), e); throw e; }","preventionTips":["Monitor repository DB health before batch loads","Run repository schema upgrade scripts after PDI upgrades","Back up r_step_attribute before manual repository edits"],"tags":["kettle","repository","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"}