pentaho/pentaho-kettle · error · KettleException
Unable to load job entry of type 'Mysql bulk load' from the…
Error message
Unable to load job entry of type 'Mysql bulk load' from the repository for id_jobentry=
What it means
KettleException thrown by JobEntryMysqlBulkLoad.loadRep() when loading this entry's attributes from the repository fails with a KettleDatabaseException, including resolving the stored connection metadata. The saved definition of the 'Mysql bulk load' entry cannot be read from the repository.
Solutions
- Inspect the wrapped KettleDatabaseException cause to identify and fix the failing repository query.
- Recreate the referenced database connection so id_database resolves.
- Run repository schema repair/upgrade to restore missing rows.
- Recreate the job entry in the repository if rows are corrupted.
Defensive patterns
Strategy: try-catch
Validate before calling
// before load: confirm the connection reference resolves
if ( rep.loadDatabaseMetaFromJobEntryAttribute( id_jobentry, "connection", "id_database", databases ) == null ) {
logWarning( "connection for job entry " + id_jobentry + " not resolvable" );
} Try / catch
try { jobEntry.loadRep( rep, metaStore, idJobentry, databases, slaveServers ); } catch ( KettleException e ) { logError( "Repository load failed: " + e.getCause(), e ); } Prevention
- Do not delete connections referenced by existing jobs
- Repair/upgrade the repository schema regularly
- Ensure repository users have read access to attribute tables
- Check the wrapped KettleDatabaseException cause for the real failure
When it happens
Trigger: Loading from a repository when getJobEntryAttributeBoolean/Integer reads or loadDatabaseMetaFromJobEntryAttribute(id_jobentry, "connection", "id_database", databases) throws — missing attribute rows, dangling id_database reference, or repository failure.
Common situations: Connection deleted from repository while jobs still reference it; corrupted attribute rows from a failed save; repository access/permission issues.
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 of type 'Mysql Bulk Load' to the…
- Unable to load job entry of type 'table exists' from the…
- JobEntryCheckFilesLocked.UnableToLoadFromRepo
- JobEntryCheckFilesLocked.UnableToSaveToRepo
- JobEntryColumnsExist.Meta.UnableLoadRep
AI-assisted analysis of pentaho/pentaho-kettle@f3058517a1 (2026-09-13).
Data as JSON: /api/errors/d7a9a47369e0e84a.
Report an issue: GitHub.
Appendix: source
Thrown at engine/src/main/java/org/pentaho/di/job/entries/mysqlbulkload/JobEntryMysqlBulkLoad.java:182
try {
schemaname = rep.getJobEntryAttributeString( id_jobentry, "schemaname" );
tablename = rep.getJobEntryAttributeString( id_jobentry, "tablename" );
filename = rep.getJobEntryAttributeString( id_jobentry, "filename" );
separator = rep.getJobEntryAttributeString( id_jobentry, "separator" );
enclosed = rep.getJobEntryAttributeString( id_jobentry, "enclosed" );
escaped = rep.getJobEntryAttributeString( id_jobentry, "escaped" );
linestarted = rep.getJobEntryAttributeString( id_jobentry, "linestarted" );
lineterminated = rep.getJobEntryAttributeString( id_jobentry, "lineterminated" );
replacedata = rep.getJobEntryAttributeBoolean( id_jobentry, "replacedata" );
ignorelines = rep.getJobEntryAttributeString( id_jobentry, "ignorelines" );
listattribut = rep.getJobEntryAttributeString( id_jobentry, "listattribut" );
localinfile = rep.getJobEntryAttributeBoolean( id_jobentry, "localinfile" );
prorityvalue = (int) rep.getJobEntryAttributeInteger( id_jobentry, "prorityvalue" );
addfiletoresult = rep.getJobEntryAttributeBoolean( id_jobentry, "addfiletoresult" );
connection = rep.loadDatabaseMetaFromJobEntryAttribute( id_jobentry, "connection", "id_database", databases );
} catch ( KettleDatabaseException dbe ) {
throw new KettleException(
"Unable to load job entry of type 'Mysql bulk load' from the repository for id_jobentry=" + id_jobentry,
dbe );
}
}
public void saveRep( Repository rep, IMetaStore metaStore, ObjectId id_job ) throws KettleException {
try {
rep.saveJobEntryAttribute( id_job, getObjectId(), "schemaname", schemaname );
rep.saveJobEntryAttribute( id_job, getObjectId(), "tablename", tablename );
rep.saveJobEntryAttribute( id_job, getObjectId(), "filename", filename );
rep.saveJobEntryAttribute( id_job, getObjectId(), "separator", separator );
rep.saveJobEntryAttribute( id_job, getObjectId(), "enclosed", enclosed );
rep.saveJobEntryAttribute( id_job, getObjectId(), "escaped", escaped );
rep.saveJobEntryAttribute( id_job, getObjectId(), "linestarted", linestarted );
rep.saveJobEntryAttribute( id_job, getObjectId(), "lineterminated", lineterminated );
rep.saveJobEntryAttribute( id_job, getObjectId(), "replacedata", replacedata );
rep.saveJobEntryAttribute( id_job, getObjectId(), "ignorelines", ignorelines );
rep.saveJobEntryAttribute( id_job, getObjectId(), "listattribut", listattribut );View on GitHub (pinned to f3058517a1)