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=
What it means
Thrown by PaloCubeDelete.loadRep() when reading the entry's attributes from the repository raises a KettleException (wrapped as 'Unable to load job entry for type file exists from the repository for id_jobentry=<id>'). 'file exists' is a stale message; the failing entry is the Palo Delete cube entry.
Solutions
- Check the wrapped KettleException cause and repository health
- Verify the referenced database connection (id_database) still exists in the repository
- Recreate the job entry and resave its attributes
- Restore missing r_jobentry_attribute rows from backup
Example fix
// before: connection referenced by 'id_database' was deleted // after: recreate the connection in the repository so id_database resolves, then reload the job
Defensive patterns
Strategy: try-catch
Validate before calling
if ( rep.getJobEntryAttributeString( id_jobentry, "cubeName" ) == null ) {
log.warn( "id_jobentry " + id_jobentry + " missing cubeName; check r_jobentry_attribute rows" );
} Try / catch
try { entry.loadRep( rep, metaStore, id, databases, slaves ); } catch ( KettleException e ) { log.error( "Repository load failed for PaloCubeDelete id_jobentry=" + id, e ); throw e; } Prevention
- Never delete database connections referenced by job entries without remapping
- Back up repository tables before upgrades
- Check repository health after partial restores
When it happens
Trigger: loadRep called for an id_jobentry whose 'connection'/'id_database' or 'cubeName' attributes cannot be loaded via loadDatabaseMetaFromJobEntryAttribute or getStepAttributeString due to repository errors.
Common situations: Missing r_jobentry_attribute rows; broken id_database reference after connections were deleted; repository connectivity problems; schema mismatch after upgrade.
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 for type file exists from the…
- Unable to load file exists job entry from XML node
- Unable to load file exists job entry from XML node
- Unable to load job entry of type 'Msgbox Info' from the…
- Unable to save job entry of type 'Msgbox Info' to the…
AI-assisted analysis of pentaho/pentaho-kettle@f3058517a1 (2026-09-13).
Data as JSON: /api/errors/4431aae27fbea00c.
Report an issue: GitHub.
Appendix: source
Thrown at plugins/palo/core/src/main/java/org/pentaho/di/job/entries/palo/JobEntryCubeDelete/PaloCubeDelete.java:104
try {
super.loadXML( entrynode, databases, slaveServers );
this.setDatabaseMeta( DatabaseMeta.findDatabase( databases, XMLHandler.getTagValue( entrynode, "connection" ) ) );
this.setCubeName( XMLHandler.getTagValue( entrynode, "cubeName" ) );
} catch ( KettleXMLException xe ) {
throw new KettleXMLException( "Unable to load file exists job entry from XML node", xe );
}
}
public void loadRep( Repository rep, IMetaStore metaStore, ObjectId id_jobentry, List<DatabaseMeta> databases,
List<SlaveServer> slaveServers ) throws KettleException {
try {
this.databaseMeta =
rep.loadDatabaseMetaFromJobEntryAttribute( id_jobentry, "connection", "id_database", databases );
this.setCubeName( rep.getStepAttributeString( id_jobentry, "cubeName" ) );
} catch ( KettleException dbe ) {
throw new KettleException( "Unable to load job entry for type file exists from the repository for id_jobentry="
+ id_jobentry, dbe );
}
}
public void saveRep( Repository rep, IMetaStore metaStore, ObjectId id_job ) throws KettleException {
try {
rep.saveDatabaseMetaJobEntryAttribute( id_job, getObjectId(), "connection", "id_database", databaseMeta );
rep.saveStepAttribute( id_job, getObjectId(), "cubeName", this.getCubeName() );
} catch ( KettleDatabaseException dbe ) {
throw new KettleException(
"unable to save jobentry of type 'file exists' to the repository for id_job=" + id_job, dbe );
}
}
public Result execute( Result prevResult, int nr ) throws KettleException {
View on GitHub (pinned to f3058517a1)