{"record":{"id":"172261152758f1c3","repo":"pentaho/pentaho-kettle","slug":"unable-to-load-job-entry-of-type-get-pop-exists-from-the","errorCode":null,"errorMessage":"Unable to load job entry of type 'get pop' exists from the repository for idJobEntry=<idJobEntry>","messagePattern":"Unable to load job entry of type 'get pop' exists from the repository for idJobEntry=<idJobEntry>","errorType":"exception","errorClass":"KettleException","httpStatus":null,"severity":"error","filePath":"plugins/email-messages/impl/src/main/java/org/pentaho/di/job/entries/getpop/JobEntryGetPOP.java","lineNumber":504,"sourceCode":"      bodySearch = rep.getJobEntryAttributeString( idJobEntry, TAG_BODY_SEARCH );\n      notTermBodySearch = rep.getJobEntryAttributeBoolean( idJobEntry, TAG_NOT_TERM_BODY_SEARCH );\n      conditionReceivedDate = MailConnectionMeta.getConditionByCode( Const.NVL( rep.getJobEntryAttributeString(\n          idJobEntry, TAG_CONDITION_RECEIVED_DATE ), \"\" ) );\n      notTermReceivedDateSearch = rep.getJobEntryAttributeBoolean( idJobEntry, TAG_NOT_TERM_RECEIVED_DATE_SEARCH );\n      receivedDate1 = rep.getJobEntryAttributeString( idJobEntry, TAG_RECEIVED_DATE_1 );\n      receivedDate2 = rep.getJobEntryAttributeString( idJobEntry, TAG_RECEIVED_DATE_2 );\n      actiontype = MailConnectionMeta.getActionTypeByCode( Const.NVL( rep.getJobEntryAttributeString(\n          idJobEntry, TAG_ACTION_TYPE ), \"\" ) );\n      moveToIMAPFolder = rep.getJobEntryAttributeString( idJobEntry, TAG_MOVE_TO_IMAP_FOLDER );\n      createMoveToFolder = rep.getJobEntryAttributeBoolean( idJobEntry, TAG_CREATE_MOVE_TO_FOLDER );\n      createLocalFolder = rep.getJobEntryAttributeBoolean( idJobEntry, TAG_CREATE_LOCAL_FOLDER );\n      aftergetimap = MailConnectionMeta.getAfterGetIMAPByCode( Const.NVL( rep.getJobEntryAttributeString(\n          idJobEntry, TAG_AFTER_GET_IMAP ), \"\" ) );\n      includeSubfolders = rep.getJobEntryAttributeBoolean( idJobEntry, TAG_INCLUDE_SUBFOLDERS );\n      useProxy = rep.getJobEntryAttributeBoolean( idJobEntry, TAG_USE_PROXY );\n      proxyUserName = rep.getJobEntryAttributeString( idJobEntry, TAG_PROXY_USER_NAME );\n    } catch ( KettleException dbe ) {\n      throw new KettleException(\n        \"Unable to load job entry of type 'get pop' exists from the repository for idJobEntry=\" + idJobEntry,\n        dbe );\n    }\n  }\n\n  @Override\n  public void saveRep( Repository rep, IMetaStore metaStore, ObjectId id_job ) throws KettleException {\n    try {\n      rep.saveJobEntryAttribute( id_job, getObjectId(), TAG_SERVERNAME, serverName );\n      rep.saveJobEntryAttribute( id_job, getObjectId(), TAG_USERNAME, userName );\n      rep.saveJobEntryAttribute( id_job, getObjectId(), TAG_PASSWORD,\n        Encr.encryptPasswordIfNotUsingVariables( password ) );\n      rep.saveJobEntryAttribute( id_job, getObjectId(), TAG_USE_SSL, useSsl );\n      rep.saveJobEntryAttribute( id_job, getObjectId(), TAG_SSL_PORT, sslPort );\n      rep.saveJobEntryAttribute( id_job, getObjectId(), TAG_OUTPUT_DIRECTORY, outputDirectory );\n      rep.saveJobEntryAttribute( id_job, getObjectId(), TAG_FILENAME_PATTERN, filenamePattern );\n      rep.saveJobEntryAttribute( id_job, getObjectId(), TAG_RETRIEVE_MAILS, retrieveMails );\n      rep.saveJobEntryAttribute( id_job, getObjectId(), TAG_FIRST_MAILS, firstMails );","sourceCodeStart":486,"sourceCodeEnd":522,"githubUrl":"https://github.com/pentaho/pentaho-kettle/blob/f3058517a153da500bf4551f46d79b91bf8ec552/plugins/email-messages/impl/src/main/java/org/pentaho/di/job/entries/getpop/JobEntryGetPOP.java#L486-L522","documentation":"JobEntryGetPOP's repository-loading constructor wraps any KettleException from reading the job entry's attributes into 'Unable to load job entry of type 'get pop' exists from the repository for idJobEntry=<idJobEntry>'. It means the POP/IMAP job entry's stored settings could not be read from the repository database.","triggerScenarios":"JobEntryGetPOP (public) loadRep called with an idJobEntry: rep.getJobEntryAttributeString/Boolean throws (DB connection failure, missing rows, bad schema) while reading tags like AFTER_GET_IMAP or USE_PROXY.","commonSituations":"Repository database unavailable or migrated, r_jobentry_attribute rows missing/corrupt, loading a job from a repository written by an incompatible Pentaho version.","solutions":["Check repository database connectivity and that the job entry rows exist for the given idJobEntry","Re-save the job entry from Spoon to regenerate its repository attributes","Verify Pentaho and repository schema versions are compatible"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":"// before loading the job from repository:\nSELECT COUNT(*) FROM r_jobentry_attribute WHERE id_jobentry = ?;","typeGuard":null,"tryCatchPattern":"try { jobEntry.loadRep(rep, metaStore, idJobEntry, databases, metaStore); } catch (KettleException e) {\n  log.error(\"Load from repository failed (idJobEntry=\" + idJobEntry + \"): \" + e.getMessage(), e);\n  // re-save the entry or fall back to a .kjb export\n}","preventionTips":["Back up and verify the repository schema after Pentaho upgrades","Confirm DB connectivity before opening repository-based jobs","Re-save job entries if attribute rows look stale or missing"],"tags":["kettle","repository","database","job-entry"],"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"}