{"record":{"id":"01a58fd3b8d9b484","repo":"pentaho/pentaho-kettle","slug":"pgpdecryptstream-error-datastreamfieldmissing","errorCode":null,"errorMessage":"PGPDecryptStream.Error.DataStreamFieldMissing","messagePattern":"PGPDecryptStream\\.Error\\.DataStreamFieldMissing","errorType":"exception","errorClass":"KettleException","httpStatus":null,"severity":"error","filePath":"engine/src/main/java/org/pentaho/di/trans/steps/pgpdecryptstream/PGPDecryptStream.java","lineNumber":76,"sourceCode":"    if ( r == null ) { // no more input to be expected...\n\n      setOutputDone();\n      return false;\n    }\n\n    try {\n      if ( first ) {\n        first = false;\n        // get the RowMeta\n        data.previousRowMeta = getInputRowMeta().clone();\n        data.NrPrevFields = data.previousRowMeta.size();\n        data.outputRowMeta = data.previousRowMeta;\n        meta.getFields( getTransMeta().getBowl(), data.outputRowMeta, getStepname(), null, null, this, repository,\n          metaStore );\n\n        // Check is stream data field is provided\n        if ( Utils.isEmpty( meta.getStreamField() ) ) {\n          throw new KettleException( BaseMessages.getString( PKG, \"PGPDecryptStream.Error.DataStreamFieldMissing\" ) );\n        }\n\n        if ( meta.isPassphraseFromField() ) {\n          // Passphrase from field\n          String fieldname = meta.getPassphraseFieldName();\n          if ( Utils.isEmpty( fieldname ) ) {\n            throw new KettleException( BaseMessages.getString(\n              PKG, \"PGPDecryptStream.Error.PassphraseFieldMissing\" ) );\n          }\n          data.indexOfPassphraseField = data.previousRowMeta.indexOfValue( fieldname );\n          if ( data.indexOfPassphraseField < 0 ) {\n            // The field is unreachable !\n            throw new KettleException( BaseMessages.getString(\n              PKG, \"PGPDecryptStream.Exception.CouldnotFindField\", fieldname ) );\n          }\n        } else {\n          // Check is passphrase is provided\n          data.passPhrase =","sourceCodeStart":58,"sourceCodeEnd":94,"githubUrl":"https://github.com/pentaho/pentaho-kettle/blob/f3058517a153da500bf4551f46d79b91bf8ec552/engine/src/main/java/org/pentaho/di/trans/steps/pgpdecryptstream/PGPDecryptStream.java#L58-L94","documentation":"Message key PGPDecryptStream.Error.DataStreamFieldMissing thrown in processRow: the stream data field setting is empty (Utils.isEmpty on meta.getStreamField()), so the step has no field carrying the encrypted data to decrypt.","triggerScenarios":"Thrown at engine/src/main/java/org/pentaho/di/trans/steps/pgpdecryptstream/PGPDecryptStream.java:76 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Configure the stream field in the step dialog so it names the field containing the encrypted data","Ensure the upstream step provides that field in the row stream"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"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"}