{"record":{"id":"9a68c2816bef099b","repo":"pentaho/pentaho-kettle","slug":"analyseimpactprogressdialog-runtimeerror-9a68c2","errorCode":"AnalyseImpactProgressDialog.RuntimeError.ErrorCheckingTransformation.Exception","errorMessage":"AnalyseImpactProgressDialog.RuntimeError.ErrorCheckingTransformation.Exception","messagePattern":"AnalyseImpactProgressDialog\\.RuntimeError\\.ErrorCheckingTransformation\\.Exception","errorType":"exception","errorClass":"InvocationTargetException","httpStatus":null,"severity":"error","filePath":"ui/src/main/java/org/pentaho/di/ui/spoon/dialog/CheckTransProgressDialog.java","lineNumber":86,"sourceCode":"    this.shell = shell;\n    this.transMeta = transMeta;\n    this.onlySelected = onlySelected;\n    this.remarks = remarks;\n    this.space = space;\n    this.repository = repository;\n    this.metaStore = metaStore;\n  }\n\n  public void open() {\n    final ProgressMonitorDialog pmd = new ProgressMonitorDialog( shell );\n\n    IRunnableWithProgress op = new IRunnableWithProgress() {\n      public void run( IProgressMonitor monitor ) throws InvocationTargetException, InterruptedException {\n        try {\n          transMeta.checkSteps(\n            remarks, onlySelected, new ProgressMonitorAdapter( monitor ), space, repository, metaStore );\n        } catch ( Exception e ) {\n          throw new InvocationTargetException( e, BaseMessages.getString(\n            PKG, \"AnalyseImpactProgressDialog.RuntimeError.ErrorCheckingTransformation.Exception\", e.toString() ) );\n        }\n      }\n    };\n\n    try {\n      // Run something in the background to cancel active database queries, force this if needed!\n      Runnable run = new Runnable() {\n        public void run() {\n          IProgressMonitor monitor = pmd.getProgressMonitor();\n          while ( pmd.getShell() == null || ( !pmd.getShell().isDisposed() && !monitor.isCanceled() ) ) {\n            try {\n              Thread.sleep( 250 );\n            } catch ( InterruptedException e ) {\n              // Ignore sleep interruption exception\n            }\n          }\n","sourceCodeStart":68,"sourceCodeEnd":104,"githubUrl":"https://github.com/pentaho/pentaho-kettle/blob/f3058517a153da500bf4551f46d79b91bf8ec552/ui/src/main/java/org/pentaho/di/ui/spoon/dialog/CheckTransProgressDialog.java#L68-L104","documentation":"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).","triggerScenarios":"Clicking 'Verify' on a transformation where a step's checkSteps() implementation throws: missing required settings, unavailable database connection, or a buggy plugin step.","commonSituations":"Steps with unfilled required fields; database connections that fail to resolve during verification; custom step plugins with faulty verify implementations.","solutions":["Inspect the wrapped cause (e.toString() appears in the message) to identify the failing step.","Open each step dialog and resolve validation errors shown in red.","Confirm all database connections used by the transformation exist and connect.","Update or remove the misbehaving step plugin."],"exampleFix":"// before\n// TableInput step with no connection selected -> checkSteps throws\n// after\n// assign a DatabaseMeta to the step before verification:\ntableInput.setDatabaseMeta( dbMeta );","handlingStrategy":"validation","validationCode":"// fill all required step settings before verifying\nfor (StepMeta step : transMeta.getSteps()) {\n  if (!step.getStepMetaInterface().supportsErrorHandling()) { /* normal */ }\n  // open step dialogs and confirm required fields are non-empty\n}","typeGuard":null,"tryCatchPattern":"try {\n  new CheckTransProgressDialog(shell, transMeta, remarks, onlySelected, space, repository, metaStore).open();\n} catch (Exception e) {\n  log.error(\"Step verification failed: \", e);\n}","preventionTips":["Complete all required fields in step dialogs before verifying.","Test database connections before verification.","Update third-party step plugins with broken verify implementations."],"tags":["pdi","verification","progress-dialog","checksteps"],"backgroundTag":"schema-validation-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"}