pentaho/pentaho-kettle · error · KettleException
JobExecutorDialog.Exception.UnableToFindRepositoryDirectory
JobExecutorDialog.Exception.UnableToFindRepositoryDirectory
Error message
JobExecutorDialog.Exception.UnableToFindRepositoryDirectory
What it means
Thrown by JobExecutorDialog.loadJob after the job path was successfully split into directory and name, but repository.findDirectory(realDirectory) returned null. The dialog cannot resolve the referenced directory inside the connected repository, so it refuses to load the job.
Solutions
- Connect to the repository that actually contains the referenced directory
- Browse the repository in the dialog and re-select the job so the path is regenerated
- Verify the directory path exists (e.g. in Spoon's repository tree)
- Update the JobExecutor step configuration to the new path if the job was moved
Example fix
// before String path = "/oldFolder/MyJob"; // after String path = "/newFolder/MyJob"; // after verifying folder exists in connected repo
Defensive patterns
Strategy: validation
Validate before calling
RepositoryDirectoryInterface dir = repository.findDirectory(realDirectory);
if (dir == null) throw new IllegalStateException("Directory not found in repository: " + realDirectory); Try / catch
try { loadJob(); } catch (KettleException e) { // prompt user to re-browse repository for the job } Prevention
- Confirm you are connected to the correct repository before opening the dialog
- Re-select jobs via browse after any repository move/rename
- Keep dev/prod repository paths consistent
When it happens
Trigger: Calling loadJob (via getData, getParametersFromJob, or ok) when the directory portion of the configured job path does not exist in the currently connected repository.
Common situations: The job was moved or renamed in the repository, the dialog is connected to a different repository/environment than the one where the job lives, or the path uses wrong casing on a case-sensitive repository.
Related errors
- MappingDialog.Exception.NotConnectedToRepository.Message
- MappingDialog.Exception.UnableToFindRepositoryDirectory
- Bounds of this rule are not numeric: lowerBound=
- Could not retrieve version history of object with path
- DELETE_JOB : repository is read-only
AI-assisted analysis of pentaho/pentaho-kettle@f3058517a1 (2026-09-13).
Data as JSON: /api/errors/cbe83f0eaa1339e3.
Report an issue: GitHub.
Appendix: source
Thrown at ui/src/main/java/org/pentaho/di/ui/trans/steps/jobexecutor/JobExecutorDialog.java:393
if ( Utils.isEmpty( filename ) ) {
return;
}
String transPath = transMeta.environmentSubstitute( filename );
String realJobname = transPath;
String realDirectory = "";
int index = transPath.lastIndexOf( "/" );
if ( index != -1 ) {
realJobname = transPath.substring( index + 1 );
realDirectory = transPath.substring( 0, index );
}
if ( Utils.isEmpty( realDirectory ) || Utils.isEmpty( realJobname ) ) {
throw new KettleException(
BaseMessages.getString( PKG, "JobExecutorDialog.Exception.NoValidMappingDetailsFound" ) );
}
RepositoryDirectoryInterface repdir = repository.findDirectory( realDirectory );
if ( repdir == null ) {
throw new KettleException( BaseMessages.getString(
PKG, "JobExecutorDialog.Exception.UnableToFindRepositoryDirectory" ) );
}
loadRepositoryJob( realJobname, repdir );
break;
default:
break;
}
}
/**
* Copy information from the meta-data input to the dialog fields.
*/
public void getData() {
specificationMethod = jobExecutorMeta.getSpecificationMethod();
switch ( specificationMethod ) {
case FILENAME:
wPath.setText( Const.NVL( jobExecutorMeta.getFileName(), "" ) );View on GitHub (pinned to f3058517a1)