{"record":{"id":"e6c71dfa12c831d5","repo":"pentaho/pentaho-kettle","slug":"unable-to-load-job-entry-of-type-telnet-exists-from-the","errorCode":null,"errorMessage":"Unable to load job entry of type 'Telnet' exists from the repository for id_jobentry=","messagePattern":"Unable to load job entry of type 'Telnet' exists from the repository for id_jobentry=","errorType":"exception","errorClass":"KettleException","httpStatus":null,"severity":"error","filePath":"engine/src/main/java/org/pentaho/di/job/entries/telnet/JobEntryTelnet.java","lineNumber":110,"sourceCode":"    Repository rep, IMetaStore metaStore ) throws KettleXMLException {\n    try {\n      super.loadXML( entrynode, databases, slaveServers );\n      hostname = XMLHandler.getTagValue( entrynode, \"hostname\" );\n      port = XMLHandler.getTagValue( entrynode, \"port\" );\n      timeout = XMLHandler.getTagValue( entrynode, \"timeout\" );\n    } catch ( KettleXMLException xe ) {\n      throw new KettleXMLException( \"Unable to load job entry of type 'Telnet' from XML node\", xe );\n    }\n  }\n\n  public void loadRep( Repository rep, IMetaStore metaStore, ObjectId id_jobentry, List<DatabaseMeta> databases,\n    List<SlaveServer> slaveServers ) throws KettleException {\n    try {\n      hostname = rep.getJobEntryAttributeString( id_jobentry, \"hostname\" );\n      port = rep.getJobEntryAttributeString( id_jobentry, \"port\" );\n      timeout = rep.getJobEntryAttributeString( id_jobentry, \"timeout\" );\n    } catch ( KettleException dbe ) {\n      throw new KettleException(\n        \"Unable to load job entry of type 'Telnet' exists from the repository for id_jobentry=\" + id_jobentry,\n        dbe );\n    }\n  }\n\n  public void saveRep( Repository rep, IMetaStore metaStore, ObjectId id_job ) throws KettleException {\n    try {\n      rep.saveJobEntryAttribute( id_job, getObjectId(), \"hostname\", hostname );\n      rep.saveJobEntryAttribute( id_job, getObjectId(), \"port\", port );\n      rep.saveJobEntryAttribute( id_job, getObjectId(), \"timeout\", timeout );\n    } catch ( KettleDatabaseException dbe ) {\n      throw new KettleException( \"Unable to save job entry of type 'Telnet' to the repository for id_job=\"\n        + id_job, dbe );\n    }\n  }\n\n  public String getPort() {\n    return port;","sourceCodeStart":92,"sourceCodeEnd":128,"githubUrl":"https://github.com/pentaho/pentaho-kettle/blob/f3058517a153da500bf4551f46d79b91bf8ec552/engine/src/main/java/org/pentaho/di/job/entries/telnet/JobEntryTelnet.java#L92-L128","documentation":"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.","triggerScenarios":"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.","commonSituations":"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.","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"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":"if ( rep == null || !rep.isConnected() ) { throw new IllegalStateException( \"Repository unavailable\" ); }","typeGuard":null,"tryCatchPattern":"try { entry.loadRep( rep, metaStore, id_jobentry, databases, slaveServers ); } catch ( KettleException e ) { log.error( \"Failed loading Telnet entry \" + id_jobentry, e.getCause() ); }","preventionTips":["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"],"tags":["kettle","repository","database"],"backgroundTag":"database-query-failed","analyzedSha":"f3058517a153da500bf4551f46d79b91bf8ec552","analyzedAt":"2026-09-13T14:04:16.340Z","contentChangedAt":"2026-09-13T14:04:16.340Z","schemaVersion":2},"datasetVersion":"2026-09-20T23:17:15.980Z"}