pentaho/pentaho-kettle · error · KettleException
PGPDecryptStream.Error.DataStreamFieldMissing
Error message
PGPDecryptStream.Error.DataStreamFieldMissing
What it means
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.
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
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at engine/src/main/java/org/pentaho/di/trans/steps/pgpdecryptstream/PGPDecryptStream.java:76 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of pentaho/pentaho-kettle@f3058517a1 (2026-09-13).
Data as JSON: /api/errors/01a58fd3b8d9b484.
Report an issue: GitHub.
Appendix: source
Thrown at engine/src/main/java/org/pentaho/di/trans/steps/pgpdecryptstream/PGPDecryptStream.java:76
if ( r == null ) { // no more input to be expected...
setOutputDone();
return false;
}
try {
if ( first ) {
first = false;
// get the RowMeta
data.previousRowMeta = getInputRowMeta().clone();
data.NrPrevFields = data.previousRowMeta.size();
data.outputRowMeta = data.previousRowMeta;
meta.getFields( getTransMeta().getBowl(), data.outputRowMeta, getStepname(), null, null, this, repository,
metaStore );
// Check is stream data field is provided
if ( Utils.isEmpty( meta.getStreamField() ) ) {
throw new KettleException( BaseMessages.getString( PKG, "PGPDecryptStream.Error.DataStreamFieldMissing" ) );
}
if ( meta.isPassphraseFromField() ) {
// Passphrase from field
String fieldname = meta.getPassphraseFieldName();
if ( Utils.isEmpty( fieldname ) ) {
throw new KettleException( BaseMessages.getString(
PKG, "PGPDecryptStream.Error.PassphraseFieldMissing" ) );
}
data.indexOfPassphraseField = data.previousRowMeta.indexOfValue( fieldname );
if ( data.indexOfPassphraseField < 0 ) {
// The field is unreachable !
throw new KettleException( BaseMessages.getString(
PKG, "PGPDecryptStream.Exception.CouldnotFindField", fieldname ) );
}
} else {
// Check is passphrase is provided
data.passPhrase =View on GitHub (pinned to f3058517a1)