pentaho/pentaho-kettle · error · KettleException
Unable to load job entry of type 'Telnet' exists from the…
Error message
Unable to load job entry of type 'Telnet' exists from the repository for id_jobentry=
What it means
Thrown by JobEntryTelnet.loadRep when reading the Telnet job entry's attributes (hostname, port, timeout) from the repository fails with a KettleException. The message (despite its awkward wording) means the entry could not be loaded from the repository for the given id_jobentry. The database exception is preserved as the cause.
Solutions
- Check repository connectivity and re-run the load
- Verify rows exist in R_JOBENTRY_ATTRIBUTE for the given id_jobentry
- Re-migrate/repair the repository schema for the installed Pentaho version
- Inspect the wrapped KettleException 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 Telnet entry " + id_jobentry, e.getCause() ); } Prevention
- Verify id_jobentry exists before loadRep
- Run repository schema upgrades after version changes
- Use a DB account with SELECT on repository tables
- Monitor repository DB health
When it happens
Trigger: Calling loadRep with an id_jobentry whose attribute rows cannot be read: broken repository connection, missing R_JOBENTRY_ATTRIBUTE rows, or a database error during getJobEntryAttributeString calls.
Common situations: Repository schema out of sync after an upgrade; id_jobentry referencing a deleted entry; transient database outage during job load; insufficient SELECT permissions 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
- AccessInputMeta.Exception.ErrorReadingRepository
- AddSequenceMeta.Exception.UnableToReadStepInfo
- AggregateRowsMeta.Exception.UnexpectedErrorWhileReadingStepInfo
- AnalyticQueryMeta.Exception.UnexpectedErrorInReadingStepInfo…
- AppendMeta.Exception.UnableToSaveStepInfo
AI-assisted analysis of pentaho/pentaho-kettle@f3058517a1 (2026-09-13).
Data as JSON: /api/errors/e6c71dfa12c831d5.
Report an issue: GitHub.
Appendix: source
Thrown at engine/src/main/java/org/pentaho/di/job/entries/telnet/JobEntryTelnet.java:110
Repository rep, IMetaStore metaStore ) throws KettleXMLException {
try {
super.loadXML( entrynode, databases, slaveServers );
hostname = XMLHandler.getTagValue( entrynode, "hostname" );
port = XMLHandler.getTagValue( entrynode, "port" );
timeout = XMLHandler.getTagValue( entrynode, "timeout" );
} catch ( KettleXMLException xe ) {
throw new KettleXMLException( "Unable to load job entry of type 'Telnet' from XML node", xe );
}
}
public void loadRep( Repository rep, IMetaStore metaStore, ObjectId id_jobentry, List<DatabaseMeta> databases,
List<SlaveServer> slaveServers ) throws KettleException {
try {
hostname = rep.getJobEntryAttributeString( id_jobentry, "hostname" );
port = rep.getJobEntryAttributeString( id_jobentry, "port" );
timeout = rep.getJobEntryAttributeString( id_jobentry, "timeout" );
} catch ( KettleException dbe ) {
throw new KettleException(
"Unable to load job entry of type 'Telnet' exists 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(), "hostname", hostname );
rep.saveJobEntryAttribute( id_job, getObjectId(), "port", port );
rep.saveJobEntryAttribute( id_job, getObjectId(), "timeout", timeout );
} catch ( KettleDatabaseException dbe ) {
throw new KettleException( "Unable to save job entry of type 'Telnet' to the repository for id_job="
+ id_job, dbe );
}
}
public String getPort() {
return port;View on GitHub (pinned to f3058517a1)