pentaho/pentaho-kettle · error · KettleException
Unable to load job entry for type file exists from the…
Error message
Unable to load job entry for type file exists from the repository for id_jobentry=<id_jobentry>
What it means
loadRep loads the File Exists job entry attributes (source/target directory, wildcard) from a Kettle repository. If any repository read throws a KettleException, it is wrapped with this message including the id_jobentry. It signals the repository could not deliver the stored job entry attributes.
Solutions
- Verify the repository database connection and credentials
- Check the repository table (R_JOBENTRY_ATTRIBUTE) contains rows for the given id_jobentry
- Confirm DB user has SELECT rights on the repository schema
- Inspect the wrapped cause (dbe) for the underlying SQL error
Defensive patterns
Strategy: try-catch
Validate before calling
// check repository reachability before loading
if (!rep.connect(...)) throw new IllegalStateException("Repository unavailable"); Try / catch
try { jobEntry.loadRep(rep, idJobentry, databases, slaveServers); } catch (KettleException e) { logger.error("loadRep failed for id_jobentry=" + idJobentry, e); } Prevention
- Monitor repository DB health before batch operations
- Back up repository before migrations
- Grant service accounts proper SELECT rights on repository tables
When it happens
Trigger: Calling loadRep with an id_jobentry whose attributes are missing/inaccessible, or when the repository connection fails during rep.getJobEntryAttributeString calls.
Common situations: Repository database unavailable or dropped tables; stale id_jobentry after repository migration; insufficient DB user permissions on repository tables.
Understand the failure class
Background: Database query failed: Internal Server Error 500s wrapping SQL, Prisma, and connection failures — what to check first — this error's family across 16 libraries.
Related errors
- Unable to load job entry from the repository for…
- Unable to load job entry from the repository for…
- Unable to load job entry of type 'Msgbox Info' from the…
- Unable to load job entry of type 'special' from the…
- Unable to load job entry of type 'sql' from the repository…
AI-assisted analysis of pentaho/pentaho-kettle@f3058517a1 (2026-09-13).
Data as JSON: /api/errors/445c5c4d593326f0.
Report an issue: GitHub.
Appendix: source
Thrown at plugins/dummy/core/src/main/java/org/pentaho/di/pdi/jobentry/dummy/JobEntryDummy.java:122
super.loadXML( entrynode, databases, slaveServers );
sourceDirectory = XMLHandler.getTagValue( entrynode, SOURCEDIRECTORY );
targetDirectory = XMLHandler.getTagValue( entrynode, TARGETDIRECTORY );
wildcard = XMLHandler.getTagValue( entrynode, WILDCARD );
} catch ( KettleXMLException xe ) {
throw new KettleXMLException( "Unable to load file exists job entry from XML node",
xe );
}
}
@Override
public void loadRep( Repository rep, ObjectId id_jobentry, List<DatabaseMeta> databases, List<SlaveServer> slaveServers ) throws KettleException {
try {
super.loadRep( rep, id_jobentry, databases, slaveServers );
sourceDirectory = rep.getJobEntryAttributeString( id_jobentry, SOURCEDIRECTORY );
targetDirectory = rep.getJobEntryAttributeString( id_jobentry, TARGETDIRECTORY );
wildcard = rep.getJobEntryAttributeString( id_jobentry, WILDCARD );
} catch ( KettleException dbe ) {
throw new KettleException(
"Unable to load job entry for type file exists from the repository for id_jobentry="
+ id_jobentry, dbe );
}
}
@Override
public void saveRep( Repository rep, ObjectId id_job ) throws KettleException {
try {
super.saveRep( rep, id_job );
rep.saveJobEntryAttribute( id_job, getObjectId(), SOURCEDIRECTORY, sourceDirectory );
rep.saveJobEntryAttribute( id_job, getObjectId(), TARGETDIRECTORY, targetDirectory );
rep.saveJobEntryAttribute( id_job, getObjectId(), WILDCARD, wildcard );
} catch ( KettleDatabaseException dbe ) {
throw new KettleException(
"unable to save jobentry of type 'file exists' to the repository for id_job="
+ id_job, dbe );
}View on GitHub (pinned to f3058517a1)