pentaho/pentaho-kettle · error · KettleStepException
IngresVectorWiseLoaderDialog.FailedToFindField.Message
IngresVectorWiseLoaderDialog.FailedToFindField.Message
Error message
IngresVectorWiseLoaderDialog.FailedToFindField.Message
What it means
In the dialog's SQL preview generation, for each info field it looks up the stream field (getFieldStream()[i]) in the previous step's row meta; when not found it throws KettleStepException with the localized message IngresVectorWiseLoaderDialog.FailedToFindField.Message naming the missing stream field.
Solutions
- Open the step dialog, go to the Fields tab, and remove or remap the field whose stream name no longer exists.
- Run 'Get Fields' again to refresh the mapping from the actual upstream row structure.
- Fix the upstream step so it actually produces the referenced field name.
Example fix
// before: stale mapping to a removed field fieldStream[i] = "old_field_name"; // after: match the renamed upstream field fieldStream[i] = "new_field_name";
Defensive patterns
Strategy: validation
Validate before calling
RowMetaInterface prev = transMeta.getPrevStepFields(stepMeta);
for (int i = 0; i < info.getFieldStream().length; i++) {
if (prev.searchValueMeta(info.getFieldStream()[i]) == null) {
throw new IllegalStateException("Stream field missing upstream: " + info.getFieldStream()[i]);
}
} Try / catch
try { sql = info.getSQLStatements(...); } catch (KettleStepException e) { /* remap or remove the missing stream field in the dialog */ } Prevention
- Re-run 'Get Fields' after changing upstream steps.
- Rename fields via a Select Values step rather than deleting them.
- Preview upstream output before editing mappings.
When it happens
Trigger: The dialog's 'SQL' button builds output row meta; a configured stream field name no longer exists in the input rows because an upstream step was renamed, removed, or the mapping is stale.
Common situations: Renaming a field in an upstream step; deleting a source field; loading an old transformation whose upstream metadata changed; typos in the stream_name mapping.
Understand the failure class
Background: Record Not Found Errors: "not found", RecordNotFound, and "was not found" — what they mean and how to fix them — this error's family across 28 libraries.
Related errors
- TableOutputDialog.FailedToFindField.Message
- JsonInput.Exception.CouldnotFindField
- ScriptValuesDialogMod.Exception.CouldNotGetFields
- AccessInput.Exception.CouldnotFindField
- AccessInput.Log.NoField
AI-assisted analysis of pentaho/pentaho-kettle@f3058517a1 (2026-09-13).
Data as JSON: /api/errors/82986ba1346d2f74.
Report an issue: GitHub.
Appendix: source
Thrown at plugins/ivw-bulk-loader/ui/src/main/java/org/pentaho/di/ui/trans/steps/ivwloader/IngresVectorwiseLoaderDialog.java:752
private void sql() {
try {
IngresVectorwiseLoaderMeta info = new IngresVectorwiseLoaderMeta();
getInfo( info );
RowMetaInterface prev = transMeta.getPrevStepFields( stepname );
StepMeta stepMeta = transMeta.findStep( stepname );
// Only use the fields that were specified.
//
RowMetaInterface prevNew = new RowMeta();
for ( int i = 0; i < info.getFieldDatabase().length; i++ ) {
ValueMetaInterface insValue = prev.searchValueMeta( info.getFieldStream()[i] );
if ( insValue != null ) {
ValueMetaInterface insertValue = insValue.clone();
insertValue.setName( info.getFieldDatabase()[i] );
prevNew.addValueMeta( insertValue );
} else {
throw new KettleStepException( BaseMessages.getString(
PKG, "IngresVectorWiseLoaderDialog.FailedToFindField.Message", info.getFieldStream()[i] ) );
}
}
prev = prevNew;
SQLStatement sql = info.getSQLStatements( transMeta, stepMeta, prev, repository, metaStore );
if ( !sql.hasError() ) {
if ( sql.hasSQL() ) {
SQLEditor sqledit =
new SQLEditor( transMeta, shell, SWT.NONE, info.getDatabaseMeta(), transMeta.getDbCache(), sql
.getSQL() );
sqledit.open();
} else {
MessageBox mb = new MessageBox( shell, SWT.OK | SWT.ICON_INFORMATION );
mb.setMessage( BaseMessages.getString( PKG, "IngresVectorWiseLoaderDialog.NoSQL.DialogMessage" ) );
mb.setText( BaseMessages.getString( PKG, "IngresVectorWiseLoaderDialog.NoSQL.DialogTitle" ) );
mb.open();
}View on GitHub (pinned to f3058517a1)