pentaho/pentaho-kettle · error · InvocationTargetException
UpgradeRepositoryDialog.Error.CreateUpdate
Error message
UpgradeRepositoryDialog.Error.CreateUpdate
What it means
In UpgradeRepositoryProgressDialog's run(), a KettleException while generating/creating the repository schema (upgrade SQL statements) is wrapped in an InvocationTargetException with 'UpgradeRepositoryDialog.Error.CreateUpdate' and the exception message. It means the repository upgrade DDL generation or execution failed.
Solutions
- Read the logged stack tracker and e.getMessage() in the dialog for the root database error
- Connect as a DB user with CREATE/ALTER privileges on the repository schema
- Back up the repository schema and re-run the upgrade after fixing the connection
- Manually inspect/apply generated statements to repair a partially upgraded schema
Defensive patterns
Strategy: try-catch
Validate before calling
// ensure DDL privileges before upgrade
try (Connection c = ds.getConnection()) { c.createStatement().execute("SELECT 1"); } // plus verify CREATE TABLE privilege with DBA Try / catch
try { runUpgradeProgressDialog(...); } catch (InvocationTargetException ite) { Throwable root = ite; while (root.getCause() != null) root = root.getCause(); log.error("Upgrade failed: " + root.getMessage(), root); showError("Repository upgrade failed, see log"); } Prevention
- Back up the repository database before upgrading
- Run the upgrade with a DB account that has CREATE/ALTER privileges
- Complete interrupted upgrades before retrying to avoid partial schema state
- Check the log for the full stack tracker (Const.getStackTracker) written at upgrade time
When it happens
Trigger: Running the repository upgrade wizard when rep.createRepositorySchema(...) throws — database connection failure during upgrade, insufficient DB privileges to create/alter tables, schema already partially upgraded, or unsupported database version.
Common situations: Upgrading an old Kettle repository against a database where the user lacks DDL rights; interrupted previous upgrade leaving inconsistent schema; DB driver/network failure mid-upgrade.
Related errors
- AccessInputMeta.Exception.ErrorReadingRepository
- AddSequenceMeta.Exception.UnableToReadStepInfo
- AggregateRowsMeta.Exception.UnexpectedErrorWhileReadingStepInfo
- AnalyticQueryMeta.Exception.UnexpectedErrorInReadingStepInfo…
- AppendMeta.Exception.UnableToSaveStepInfo
AI-assisted analysis of pentaho/pentaho-kettle@f3058517a1 (2026-09-13).
Data as JSON: /api/errors/3931857270b831c1.
Report an issue: GitHub.
Appendix: source
Thrown at ui/src/main/java/org/pentaho/di/ui/repository/dialog/UpgradeRepositoryProgressDialog.java:98
box.setMessage( BaseMessages.getString( PKG, "UpgradeRepositoryDialog.DryRunQuestion.Message" ) );
box.setText( BaseMessages.getString( PKG, "UpgradeRepositoryDialog.DryRunQuestion.Title" ) );
int answer = box.open();
try {
if ( answer == SWT.YES ) {
// First do a dry-run
//
dryRun = true;
rep.createRepositorySchema( new ProgressMonitorAdapter( monitor ), upgrade, generatedStatements, true );
} else {
rep
.createRepositorySchema(
new ProgressMonitorAdapter( monitor ), upgrade, generatedStatements, false );
}
} catch ( KettleException e ) {
log.logError( toString(), Const.getStackTracker( e ) );
throw new InvocationTargetException( e, BaseMessages.getString(
PKG, "UpgradeRepositoryDialog.Error.CreateUpdate", e.getMessage() ) );
}
}
};
try {
ProgressMonitorDialog pmd = new ProgressMonitorDialog( shell );
pmd.run( false, false, op );
} catch ( InvocationTargetException e ) {
log.logError( UpgradeRepositoryProgressDialog.class.toString(), "Error creating/updating repository: "
+ e.toString() );
log.logError( toString(), Const.getStackTracker( e ) );
showErrorDialog( e );
retval = false;
} catch ( InterruptedException e ) {
log.logError( UpgradeRepositoryProgressDialog.class.toString(), "Error creating/updating repository: "
+ e.toString() );View on GitHub (pinned to f3058517a1)