{"record":{"id":"19f7c9fa3a0e012f","repo":"pentaho/pentaho-kettle","slug":"transloadprogressdialog-exception-errorloadingtransformation","errorCode":"TransLoadProgressDialog.Exception.ErrorLoadingTransformation","errorMessage":"TransLoadProgressDialog.Exception.ErrorLoadingTransformation","messagePattern":"TransLoadProgressDialog\\.Exception\\.ErrorLoadingTransformation","errorType":"exception","errorClass":"InvocationTargetException","httpStatus":null,"severity":"error","filePath":"ui/src/main/java/org/pentaho/di/ui/trans/dialog/TransLoadProgressDialog.java","lineNumber":115,"sourceCode":"            transInfo =\n              rep.loadTransformation(\n                transname, repdir, new ProgressMonitorAdapter( monitor ), true, versionLabel );\n          }\n          // Call extension point(s) now that the file has been opened\n          ExtensionPointHandler.callExtensionPoint( spoon.getLog(), KettleExtensionPoint.TransAfterOpen.id, transInfo );\n          if ( transInfo.hasMissingPlugins() ) {\n            StepMeta stepMeta = transInfo.getStep( 0 );\n            Display.getDefault().syncExec( () -> {\n              MissingTransDialog missingTransDialog =\n                new MissingTransDialog( shell, transInfo.getMissingTrans(), stepMeta.getStepMetaInterface(), transInfo,\n                  stepMeta.getName() );\n              if ( missingTransDialog.open() == null ) {\n                transInfo = null;\n              }\n            } );\n          }\n        } catch ( KettleException e ) {\n          throw new InvocationTargetException( e, BaseMessages.getString(\n            PKG, \"TransLoadProgressDialog.Exception.ErrorLoadingTransformation\" ) );\n        }\n      }\n    };\n\n    try {\n      ProgressMonitorDialog pmd = new ProgressMonitorDialog( shell );\n      pmd.run( true, false, op );\n    } catch ( InvocationTargetException e ) {\n      KettleRepositoryLostException krle = KettleRepositoryLostException.lookupStackStrace( e );\n      if ( krle != null ) {\n        throw krle;\n      }\n      new ErrorDialog( shell,\n        BaseMessages.getString( PKG, \"TransLoadProgressDialog.ErrorLoadingTransformation.DialogTitle\" ),\n        BaseMessages.getString( PKG, \"TransLoadProgressDialog.ErrorLoadingTransformation.DialogMessage\" ), e );\n      transInfo = null;\n    } catch ( InterruptedException e ) {","sourceCodeStart":97,"sourceCodeEnd":133,"githubUrl":"https://github.com/pentaho/pentaho-kettle/blob/f3058517a153da500bf4551f46d79b91bf8ec552/ui/src/main/java/org/pentaho/di/ui/trans/dialog/TransLoadProgressDialog.java#L97-L133","documentation":"TransLoadProgressDialog.run wraps KettleException from loading a transformation from the repository in an InvocationTargetException with the localized message 'TransLoadProgressDialog.Exception.ErrorLoadingTransformation'. It is the progress-dialog surface for any repository failure while loading a transformation.","triggerScenarios":"Opening a transformation from a repository via the load progress dialog when the underlying repository load call throws KettleException — repository not connected, transformation name/path not found, or IO/database errors reading the stored XML.","commonSituations":"Repository session expired or DB repository unreachable; the transformation was deleted or moved by another user; corrupt stored transformation; insufficient read permissions on the repository directory.","solutions":["Check the underlying KettleException (shown/logged after the dialog) for the root cause.","Verify the repository connection and reconnect if the session dropped.","Confirm the transformation still exists at the chosen repository path and you have read access.","Browse the repository tree and reselect the transformation in case it was moved."],"exampleFix":"// before\ntransMeta = rep.loadTransformation( transName, directory, monitor, true, null );\n// after: guard connection first\nif ( rep == null || !rep.isConnected() ) {\n  throw new KettleException( \"Repository is not connected\" );\n}\ntransMeta = rep.loadTransformation( transName, directory, monitor, true, null );","handlingStrategy":"try-catch","validationCode":"if ( rep == null || !rep.isConnected() ) {\n  throw new KettleException( \"Repository is not connected\" );\n}","typeGuard":null,"tryCatchPattern":"try {\n  transMeta = rep.loadTransformation( transName, directory, monitor, true, null );\n} catch ( KettleException e ) {\n  log.logError( \"Error loading transformation\", e );\n  // check e for not-found vs connection vs permission causes\n}","preventionTips":["Verify repository connectivity before opening transformations.","Confirm the transformation path/name exists and you have read access.","Refresh the repository browser if other users may have moved objects."],"tags":["repository","load","pentaho-kettle","transformation"],"backgroundTag":"transformation-load-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"}