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
- 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.
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
- 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.
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
- The number of hops read
- The number of notes read
- TransSaveProgressDialog.Exception.ErrorSavingTransformation
- Unable to load transformation from path [" + absPath + "]
- Unable to load transformation with id [" + idTransformation…
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)