{"record":{"id":"0f7bb564299405a9","repo":"pentaho/pentaho-kettle","slug":"runconfigurationrunextensionpoint-confignotfound-error","errorCode":"RunConfigurationRunExtensionPoint.ConfigNotFound.Error","errorMessage":"RunConfigurationRunExtensionPoint.ConfigNotFound.Error","messagePattern":"RunConfigurationRunExtensionPoint\\.ConfigNotFound\\.Error","errorType":"exception","errorClass":"KettleException","httpStatus":null,"severity":"error","filePath":"plugins/engine-configuration/impl/src/main/java/org/pentaho/di/engine/configuration/impl/extension/RunConfigurationRunExtensionPoint.java","lineNumber":79,"sourceCode":"    if ( runConfiguration == null ) {\n      RunConfigurationService embeddedRunConfigurationManager =\n        EmbeddedRunConfigurationManager.build( embeddedMetaStore );\n      runConfiguration = embeddedRunConfigurationManager.load( executionConfiguration.getRunConfiguration() );\n    }\n\n    if ( runConfiguration != null ) {\n      RunConfigurationExecutor runConfigurationExecutor =\n        runConfigurationManager.getExecutor( runConfiguration.getType() );\n\n      if ( runConfigurationExecutor != null ) {\n        runConfigurationExecutor.execute( runConfiguration, executionConfiguration, meta, variableSpace, repository );\n      }\n    } else {\n      String name = \"\";\n      if ( variableSpace instanceof TransMeta ) {\n        name = ( (TransMeta) variableSpace ).getFilename();\n      }\n      throw new KettleException( BaseMessages\n        .getString( PKG, \"RunConfigurationRunExtensionPoint.ConfigNotFound.Error\", name,\n          executionConfiguration.getRunConfiguration(), \"{0}\" ) );\n    }\n  }\n\n  @VisibleForTesting\n  void setRunConfigurationManagerProvider ( Function<Bowl, RunConfigurationService> provider ) {\n    this.rcmProvider = provider;\n  }\n\n  private RunConfigurationService getRunConfigurationManager( Bowl bowl ) throws KettleException {\n    if ( rcmProvider != null ) {\n      return rcmProvider.apply( bowl );\n    }\n\n    // ensure the factory is initialized so that the managers are registered to the bowl\n    RunConfigurationProviderFactoryManagerImpl.getInstance();\n    Bowl sourceBowl = bowl != null ? bowl : DefaultBowl.getInstance();","sourceCodeStart":61,"sourceCodeEnd":97,"githubUrl":"https://github.com/pentaho/pentaho-kettle/blob/f3058517a153da500bf4551f46d79b91bf8ec552/plugins/engine-configuration/impl/src/main/java/org/pentaho/di/engine/configuration/impl/extension/RunConfigurationRunExtensionPoint.java#L61-L97","documentation":"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.","triggerScenarios":"Executing a transformation or job whose ExecutionConfiguration.getRunConfiguration() names a run configuration that is not registered — the manager lookup returns nothing matching the name.","commonSituations":"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.","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"],"exampleFix":null,"handlingStrategy":"validation","validationCode":"RunConfigurationService svc = bowl.getManager( RunConfigurationService.class );\nboolean exists = java.util.Arrays.stream( svc.getNames() )\n  .anyMatch( n -> n.equalsIgnoreCase( execConfig.getRunConfiguration() ) );\nif ( !exists ) {\n  // create or select a valid run configuration before executing\n}","typeGuard":null,"tryCatchPattern":"try {\n  extensionPoint.callExtensionPoint( log, object );\n} catch ( KettleException e ) {\n  if ( e.getMessage().contains( \"ConfigNotFound\" ) ) {\n    // re-check run configuration name against the active project's manager\n  }\n}","preventionTips":["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"],"tags":["pdi","run-configuration","configuration-missing","extension-point"],"backgroundTag":"record-not-found","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"}