pentaho/pentaho-kettle · error · KettleException

Unable to load job entry of type 'trans' from the…

Error message

Unable to load job entry of type 'trans' from the repository for id_jobentry=

What it means

Thrown by JobEntryTrans.loadRep when reading a Transformation job entry's attributes from the repository fails with a KettleDatabaseException. It means repository attribute reads for this id_jobentry (transformation name, parameters, pass_all_parameters flag, etc.) failed. The database error is preserved as the cause.

Solutions

  1. Verify repository connectivity and retry loading the job
  2. Confirm R_JOBENTRY_ATTRIBUTE rows exist for the given id_jobentry
  3. Run repository schema repair/upgrade tools to match the runtime version
  4. Check the wrapped KettleDatabaseException cause for the underlying SQL error
Defensive patterns

Strategy: try-catch

Validate before calling

if ( rep == null || !rep.isConnected() ) { throw new IllegalStateException( "Repository unavailable" ); }

Try / catch

try { entry.loadRep( rep, metaStore, id_jobentry, databases, slaveServers ); } catch ( KettleException e ) { log.error( "Failed loading trans entry " + id_jobentry, e.getCause() ); throw e; }

Prevention

When it happens

Trigger: Calling loadRep when the repository connection fails mid-read, the job entry's attribute rows are missing, or the database raises an error while fetching parameters or the 'pass_all_parameters' boolean.

Common situations: Repository schema drift after Pentaho upgrades; entries referencing deleted transformation rows; transient DB outages during job load; permission loss 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


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

Appendix: source

Thrown at engine/src/main/java/org/pentaho/di/job/entries/trans/JobEntryTrans.java:527

      for ( int a = 0; a < argnr; a++ ) {
        arguments[ a ] = rep.getJobEntryAttributeString( id_jobentry, a, "argument" );
      }

      // How many arguments?
      int parameternr = rep.countNrJobEntryAttributes( id_jobentry, "parameter_name" );
      allocateParams( parameternr );

      // Read all parameters ...
      for ( int a = 0; a < parameternr; a++ ) {
        parameters[ a ] = rep.getJobEntryAttributeString( id_jobentry, a, "parameter_name" );
        parameterFieldNames[ a ] = rep.getJobEntryAttributeString( id_jobentry, a, "parameter_stream_name" );
        parameterValues[ a ] = rep.getJobEntryAttributeString( id_jobentry, a, "parameter_value" );
      }

      passingAllParameters = rep.getJobEntryAttributeBoolean( id_jobentry, "pass_all_parameters", true );

    } catch ( KettleDatabaseException dbe ) {
      throw new KettleException( "Unable to load job entry of type 'trans' from the repository for id_jobentry="
        + id_jobentry, dbe );
    }
  }

  // Save the attributes of this job entry
  //
  @Override
  public void saveRep( Repository rep, IMetaStore metaStore, ObjectId id_job ) throws KettleException {
    try {
      rep.saveJobEntryAttribute( id_job, getObjectId(), "specification_method", specificationMethod == null
        ? null : specificationMethod.getCode() );
      rep.saveJobEntryAttribute( id_job, getObjectId(), "trans_object_id", transObjectId == null
        ? null : transObjectId.toString() );
      rep.saveJobEntryAttribute( id_job, getObjectId(), "name", getTransname() );
      rep.saveJobEntryAttribute( id_job, getObjectId(), "dir_path", getDirectory() != null ? getDirectory() : "" );
      rep.saveJobEntryAttribute( id_job, getObjectId(), "file_name", filename );
      rep.saveJobEntryAttribute( id_job, getObjectId(), "arg_from_previous", argFromPrevious );
      rep.saveJobEntryAttribute( id_job, getObjectId(), "params_from_previous", paramsFromPrevious );

View on GitHub (pinned to f3058517a1)