pentaho/pentaho-kettle · error · InvocationTargetException

TransLoadProgressDialog.Exception.ErrorLoadingTransformation

TransLoadProgressDialog.Exception.ErrorLoadingTransformation

Error message

TransLoadProgressDialog.Exception.ErrorLoadingTransformation

What it means

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.

Solutions

  1. Check the underlying KettleException (shown/logged after the dialog) for the root cause.
  2. Verify the repository connection and reconnect if the session dropped.
  3. Confirm the transformation still exists at the chosen repository path and you have read access.
  4. Browse the repository tree and reselect the transformation in case it was moved.

Example fix

// before
transMeta = rep.loadTransformation( transName, directory, monitor, true, null );
// after: guard connection first
if ( rep == null || !rep.isConnected() ) {
  throw new KettleException( "Repository is not connected" );
}
transMeta = rep.loadTransformation( transName, directory, monitor, true, null );
Defensive patterns

Strategy: try-catch

Validate before calling

if ( rep == null || !rep.isConnected() ) {
  throw new KettleException( "Repository is not connected" );
}

Try / catch

try {
  transMeta = rep.loadTransformation( transName, directory, monitor, true, null );
} catch ( KettleException e ) {
  log.logError( "Error loading transformation", e );
  // check e for not-found vs connection vs permission causes
}

Prevention

When it happens

Trigger: 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.

Common situations: 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.

Related errors


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

Appendix: source

Thrown at ui/src/main/java/org/pentaho/di/ui/trans/dialog/TransLoadProgressDialog.java:115

            transInfo =
              rep.loadTransformation(
                transname, repdir, new ProgressMonitorAdapter( monitor ), true, versionLabel );
          }
          // Call extension point(s) now that the file has been opened
          ExtensionPointHandler.callExtensionPoint( spoon.getLog(), KettleExtensionPoint.TransAfterOpen.id, transInfo );
          if ( transInfo.hasMissingPlugins() ) {
            StepMeta stepMeta = transInfo.getStep( 0 );
            Display.getDefault().syncExec( () -> {
              MissingTransDialog missingTransDialog =
                new MissingTransDialog( shell, transInfo.getMissingTrans(), stepMeta.getStepMetaInterface(), transInfo,
                  stepMeta.getName() );
              if ( missingTransDialog.open() == null ) {
                transInfo = null;
              }
            } );
          }
        } catch ( KettleException e ) {
          throw new InvocationTargetException( e, BaseMessages.getString(
            PKG, "TransLoadProgressDialog.Exception.ErrorLoadingTransformation" ) );
        }
      }
    };

    try {
      ProgressMonitorDialog pmd = new ProgressMonitorDialog( shell );
      pmd.run( true, false, op );
    } catch ( InvocationTargetException e ) {
      KettleRepositoryLostException krle = KettleRepositoryLostException.lookupStackStrace( e );
      if ( krle != null ) {
        throw krle;
      }
      new ErrorDialog( shell,
        BaseMessages.getString( PKG, "TransLoadProgressDialog.ErrorLoadingTransformation.DialogTitle" ),
        BaseMessages.getString( PKG, "TransLoadProgressDialog.ErrorLoadingTransformation.DialogMessage" ), e );
      transInfo = null;
    } catch ( InterruptedException e ) {

View on GitHub (pinned to f3058517a1)