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

HL7MLLPAcknowledge.loadRep() reads the entry's attributes (server, port, variable) from the Pentaho repository. A KettleDatabaseException while fetching these attributes is caught and rethrown as a KettleException: 'Unable to load job entry from the repository for id_jobentry=<id>' with the database error as cause.

Solutions

  1. Check the chained KettleDatabaseException cause for the actual repository DB error
  2. Verify the repository database is reachable and credentials are valid
  3. Inspect r_jobentry_attribute for rows with the given id_jobentry; re-save the job entry if missing
  4. Re-create the job entry in the repository if its attributes 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

When it happens

Trigger: Calling loadRep when rep.getJobEntryAttributeString(idJobentry, ...) throws — typically because the r_jobentry_attribute rows for that id_jobentry are missing or the repository database is unreachable/errors out.

Common situations: Repository row corruption or partial save; connecting to a repository where the job exists but its attributes do not; repository database connectivity/authentication failures; orphaned job entries after failed migrations.

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


AI-assisted analysis of pentaho/pentaho-kettle@f3058517a1 (2026-09-13). Data as JSON: /api/errors/182f4d7501b145e0. Report an issue: GitHub.

Appendix: source

Thrown at plugins/hl7/core/src/main/java/org/pentaho/di/job/entries/hl7mllpack/HL7MLLPAcknowledge.java:113

      super.loadXML( entrynode, databases, slaveServers );

      server = XMLHandler.getTagValue( entrynode, "server" );
      port = XMLHandler.getTagValue( entrynode, "port" );
      variableName = XMLHandler.getTagValue( entrynode, "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" );
      variableName = rep.getJobEntryAttributeString( idJobentry, "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(), "variable", variableName );
    } 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;

    try {

View on GitHub (pinned to f3058517a1)