pentaho/pentaho-kettle · error · KettleException
RunConfigurationRunExtensionPoint.ConfigNotFound.Error
RunConfigurationRunExtensionPoint.ConfigNotFound.Error
Error message
RunConfigurationRunExtensionPoint.ConfigNotFound.Error
What it means
RunConfigurationRunExtensionPoint.callExtensionPoint() throws this KettleException when the execution configuration does not reference a run configuration that exists in the available run configuration manager(s). PDI cannot find the named run configuration, so the transformation/job execution cannot proceed under that configuration.
Solutions
- Create a run configuration with the exact name referenced by the transformation/job properties
- Copy the missing run configuration from the previous project to the current one (Run Configuration dialog > copy)
- Reopen the transformation and select a different, existing run configuration in its properties
- Check which project (bowl) is active and ensure the run configuration is stored in its scope
Defensive patterns
Strategy: validation
Validate before calling
RunConfigurationService svc = bowl.getManager( RunConfigurationService.class );
boolean exists = java.util.Arrays.stream( svc.getNames() )
.anyMatch( n -> n.equalsIgnoreCase( execConfig.getRunConfiguration() ) );
if ( !exists ) {
// create or select a valid run configuration before executing
} Try / catch
try {
extensionPoint.callExtensionPoint( log, object );
} catch ( KettleException e ) {
if ( e.getMessage().contains( "ConfigNotFound" ) ) {
// re-check run configuration name against the active project's manager
}
} Prevention
- After switching projects, verify run configurations exist in the new project scope
- Avoid renaming/deleting run configurations referenced by transformations
- Copy run configurations when migrating transformations between environments
When it happens
Trigger: Executing a transformation or job whose ExecutionConfiguration.getRunConfiguration() names a run configuration that is not registered — the manager lookup returns nothing matching the name.
Common situations: After switching projects (bowls) where the run configuration lives in another project's local scope, after renaming/deleting a run configuration, or migrating transformations between environments without copying the run configurations.
Understand the failure class
Background: Record Not Found Errors: "not found", RecordNotFound, and "was not found" — what they mean and how to fix them — this error's family across 28 libraries.
Related errors
- DefaultRunConfigurationExecutor.RemoteNotFound.Error
- Unable to access run configuration manager
- AccessInputMeta.Exception.ErrorSavingToRepository
- AccessInputMeta.Exception.FileDoesNotExist
- AccessOutputMeta.Exception.ErrorGettingFields
AI-assisted analysis of pentaho/pentaho-kettle@f3058517a1 (2026-09-13).
Data as JSON: /api/errors/0f7bb564299405a9.
Report an issue: GitHub.
Appendix: source
Thrown at plugins/engine-configuration/impl/src/main/java/org/pentaho/di/engine/configuration/impl/extension/RunConfigurationRunExtensionPoint.java:79
if ( runConfiguration == null ) {
RunConfigurationService embeddedRunConfigurationManager =
EmbeddedRunConfigurationManager.build( embeddedMetaStore );
runConfiguration = embeddedRunConfigurationManager.load( executionConfiguration.getRunConfiguration() );
}
if ( runConfiguration != null ) {
RunConfigurationExecutor runConfigurationExecutor =
runConfigurationManager.getExecutor( runConfiguration.getType() );
if ( runConfigurationExecutor != null ) {
runConfigurationExecutor.execute( runConfiguration, executionConfiguration, meta, variableSpace, repository );
}
} else {
String name = "";
if ( variableSpace instanceof TransMeta ) {
name = ( (TransMeta) variableSpace ).getFilename();
}
throw new KettleException( BaseMessages
.getString( PKG, "RunConfigurationRunExtensionPoint.ConfigNotFound.Error", name,
executionConfiguration.getRunConfiguration(), "{0}" ) );
}
}
@VisibleForTesting
void setRunConfigurationManagerProvider ( Function<Bowl, RunConfigurationService> provider ) {
this.rcmProvider = provider;
}
private RunConfigurationService getRunConfigurationManager( Bowl bowl ) throws KettleException {
if ( rcmProvider != null ) {
return rcmProvider.apply( bowl );
}
// ensure the factory is initialized so that the managers are registered to the bowl
RunConfigurationProviderFactoryManagerImpl.getInstance();
Bowl sourceBowl = bowl != null ? bowl : DefaultBowl.getInstance();View on GitHub (pinned to f3058517a1)