pentaho/pentaho-kettle · error · InvocationTargetException

AnalyseImpactProgressDialog.RuntimeError.ErrorCheckingTransformation.Exception

AnalyseImpactProgressDialog.RuntimeError.ErrorCheckingTransformation.Exception

Error message

AnalyseImpactProgressDialog.RuntimeError.ErrorCheckingTransformation.Exception

What it means

CheckTransProgressDialog runs transMeta.checkSteps(...) on a background thread with a progress monitor. Any exception thrown during step verification is wrapped in an InvocationTargetException whose message is AnalyseImpactProgressDialog.RuntimeError.ErrorCheckingTransition.Exception-keyed text (the key reuses the AnalyseImpact package string, with e.toString() substituted).

Solutions

  1. Inspect the wrapped cause (e.toString() appears in the message) to identify the failing step.
  2. Open each step dialog and resolve validation errors shown in red.
  3. Confirm all database connections used by the transformation exist and connect.
  4. Update or remove the misbehaving step plugin.

Example fix

// before
// TableInput step with no connection selected -> checkSteps throws
// after
// assign a DatabaseMeta to the step before verification:
tableInput.setDatabaseMeta( dbMeta );
Defensive patterns

Strategy: validation

Validate before calling

// fill all required step settings before verifying
for (StepMeta step : transMeta.getSteps()) {
  if (!step.getStepMetaInterface().supportsErrorHandling()) { /* normal */ }
  // open step dialogs and confirm required fields are non-empty
}

Try / catch

try {
  new CheckTransProgressDialog(shell, transMeta, remarks, onlySelected, space, repository, metaStore).open();
} catch (Exception e) {
  log.error("Step verification failed: ", e);
}

Prevention

When it happens

Trigger: Clicking 'Verify' on a transformation where a step's checkSteps() implementation throws: missing required settings, unavailable database connection, or a buggy plugin step.

Common situations: Steps with unfilled required fields; database connections that fail to resolve during verification; custom step plugins with faulty verify implementations.

Understand the failure class

Background: Schema validation failed / invalid input schema: payload rejected because its shape doesn't match the expected schema — this error's family across 28 libraries.

Related errors


AI-assisted analysis of pentaho/pentaho-kettle@f3058517a1 (2026-09-13). Data as JSON: /api/errors/9a68c2816bef099b. Report an issue: GitHub.

Appendix: source

Thrown at ui/src/main/java/org/pentaho/di/ui/spoon/dialog/CheckTransProgressDialog.java:86

    this.shell = shell;
    this.transMeta = transMeta;
    this.onlySelected = onlySelected;
    this.remarks = remarks;
    this.space = space;
    this.repository = repository;
    this.metaStore = metaStore;
  }

  public void open() {
    final ProgressMonitorDialog pmd = new ProgressMonitorDialog( shell );

    IRunnableWithProgress op = new IRunnableWithProgress() {
      public void run( IProgressMonitor monitor ) throws InvocationTargetException, InterruptedException {
        try {
          transMeta.checkSteps(
            remarks, onlySelected, new ProgressMonitorAdapter( monitor ), space, repository, metaStore );
        } catch ( Exception e ) {
          throw new InvocationTargetException( e, BaseMessages.getString(
            PKG, "AnalyseImpactProgressDialog.RuntimeError.ErrorCheckingTransformation.Exception", e.toString() ) );
        }
      }
    };

    try {
      // Run something in the background to cancel active database queries, force this if needed!
      Runnable run = new Runnable() {
        public void run() {
          IProgressMonitor monitor = pmd.getProgressMonitor();
          while ( pmd.getShell() == null || ( !pmd.getShell().isDisposed() && !monitor.isCanceled() ) ) {
            try {
              Thread.sleep( 250 );
            } catch ( InterruptedException e ) {
              // Ignore sleep interruption exception
            }
          }

View on GitHub (pinned to f3058517a1)