pentaho/pentaho-kettle · error · KettleException
Unable to load job entry from the repository for…
Error message
Unable to load job entry from the repository for id_jobentry={} What it means
HL7MLLPInput.loadRep() loads the entry's attributes (server, port, message_variable, type_variable, version_variable) from the Pentaho repository. A KettleException from rep.getJobEntryAttributeString(...) is caught and rethrown as 'Unable to load job entry from the repository for id_jobentry=<id>' with the original error chained.
Solutions
- Inspect the chained cause for the underlying repository error
- Confirm the repository database is reachable and credentials work
- Check r_jobentry_attribute rows for the reported id_jobentry and re-save the entry if missing
- Re-create the job entry if its repository rows are orphaned
Defensive patterns
Strategy: try-catch
Try / catch
try { entry.loadRep(rep, metaStore, idJobentry, dbs, slaves); } catch (KettleException e) { log.error("Repo load failed for id_jobentry=" + idJobentry, e.getCause()); } Prevention
- Verify repository connectivity before opening jobs
- Keep repositories in sync when migrating between environments
- Re-save entries whose attributes fail to load
When it happens
Trigger: Calling loadRep when reading attributes for idJobentry throws — missing r_jobentry_attribute rows, repository DB unreachable, or repository API failure.
Common situations: Repository corruption or partial saves; jobs migrated between repositories without attribute rows; repository connectivity/authentication problems; orphaned entries after failed deletes.
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 for type file exists from the…
- 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/5d4e73d697c5e25f.
Report an issue: GitHub.
Appendix: source
Thrown at plugins/hl7/core/src/main/java/org/pentaho/di/job/entries/hl7mllpin/HL7MLLPInput.java:124
messageVariableName = XMLHandler.getTagValue( entrynode, "message_variable" );
messageTypeVariableName = XMLHandler.getTagValue( entrynode, "type_variable" );
versionVariableName = XMLHandler.getTagValue( entrynode, "version_variable" );
} catch ( KettleXMLException xe ) {
throw new KettleXMLException( "Unable to load job entry from XML node", xe );
}
}
@Override
public void loadRep( Repository rep, IMetaStore metaStore, ObjectId idJobentry, List<DatabaseMeta> databases,
List<SlaveServer> slaveServers ) throws KettleException {
try {
server = rep.getJobEntryAttributeString( idJobentry, "server" );
port = rep.getJobEntryAttributeString( idJobentry, "port" );
messageVariableName = rep.getJobEntryAttributeString( idJobentry, "message_variable" );
messageTypeVariableName = rep.getJobEntryAttributeString( idJobentry, "type_variable" );
versionVariableName = rep.getJobEntryAttributeString( idJobentry, "version_variable" );
} catch ( KettleException dbe ) {
throw new KettleException( "Unable to load job entry from the repository for id_jobentry=" + idJobentry, dbe );
}
}
public void saveRep( Repository rep, IMetaStore metaStore, ObjectId id_job ) throws KettleException {
try {
rep.saveJobEntryAttribute( id_job, getObjectId(), "server", server );
rep.saveJobEntryAttribute( id_job, getObjectId(), "port", port );
rep.saveJobEntryAttribute( id_job, getObjectId(), "message_variable", messageVariableName );
rep.saveJobEntryAttribute( id_job, getObjectId(), "type_variable", messageTypeVariableName );
rep.saveJobEntryAttribute( id_job, getObjectId(), "version_variable", versionVariableName );
} catch ( KettleDatabaseException dbe ) {
throw new KettleException( "Unable to save job entry of type 'ftp' to the repository for id_job=" + id_job, dbe );
}
}
public Result execute( Result previousResult, int nr ) {
Result result = previousResult;
View on GitHub (pinned to f3058517a1)