{"record":{"id":"eb610f78757a01f7","repo":"pentaho/pentaho-kettle","slug":"unable-to-load-job-entry-of-type-unzip-from-the-repository","errorCode":null,"errorMessage":"Unable to load job entry of type 'unzip' from the repository for id_jobentry=","messagePattern":"Unable to load job entry of type 'unzip' from the repository for id_jobentry=","errorType":"exception","errorClass":"KettleException","httpStatus":null,"severity":"error","filePath":"engine/src/main/java/org/pentaho/di/job/entries/unzip/JobEntryUnZip.java","lineNumber":269,"sourceCode":"      isfromprevious = rep.getJobEntryAttributeBoolean( id_jobentry, \"isfromprevious\" );\n      adddate = rep.getJobEntryAttributeBoolean( id_jobentry, \"adddate\" );\n      addtime = rep.getJobEntryAttributeBoolean( id_jobentry, \"addtime\" );\n      addOriginalTimestamp = rep.getJobEntryAttributeBoolean( id_jobentry, \"addOriginalTimestamp\" );\n      SpecifyFormat = rep.getJobEntryAttributeBoolean( id_jobentry, \"SpecifyFormat\" );\n      date_time_format = rep.getJobEntryAttributeString( id_jobentry, \"date_time_format\" );\n      rootzip = rep.getJobEntryAttributeBoolean( id_jobentry, \"rootzip\" );\n      createfolder = rep.getJobEntryAttributeBoolean( id_jobentry, \"createfolder\" );\n      nr_limit = rep.getJobEntryAttributeString( id_jobentry, \"nr_limit\" );\n      wildcardSource = rep.getJobEntryAttributeString( id_jobentry, \"wildcardSource\" );\n      success_condition = rep.getJobEntryAttributeString( id_jobentry, \"success_condition\" );\n      if ( Utils.isEmpty( success_condition ) ) {\n        success_condition = SUCCESS_IF_NO_ERRORS;\n      }\n      iffileexist = getIfFileExistsInt( rep.getJobEntryAttributeString( id_jobentry, \"iffileexists\" ) );\n      createMoveToDirectory = rep.getJobEntryAttributeBoolean( id_jobentry, \"create_move_to_directory\" );\n      setOriginalModificationDate = rep.getJobEntryAttributeBoolean( id_jobentry, \"setOriginalModificationDate\" );\n    } catch ( KettleException dbe ) {\n      throw new KettleException( \"Unable to load job entry of type 'unzip' from the repository for id_jobentry=\"\n        + id_jobentry, 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(), \"zipfilename\", zipFilename );\n      rep.saveJobEntryAttribute( id_job, getObjectId(), \"afterunzip\", afterunzip );\n      rep.saveJobEntryAttribute( id_job, getObjectId(), \"wildcard\", wildcard );\n      rep.saveJobEntryAttribute( id_job, getObjectId(), \"wildcardexclude\", wildcardexclude );\n      rep.saveJobEntryAttribute( id_job, getObjectId(), \"targetdirectory\", sourcedirectory );\n      rep.saveJobEntryAttribute( id_job, getObjectId(), \"movetodirectory\", movetodirectory );\n      rep.saveJobEntryAttribute( id_job, getObjectId(), \"addfiletoresult\", addfiletoresult );\n      rep.saveJobEntryAttribute( id_job, getObjectId(), \"isfromprevious\", isfromprevious );\n      rep.saveJobEntryAttribute( id_job, getObjectId(), \"addtime\", addtime );\n      rep.saveJobEntryAttribute( id_job, getObjectId(), \"adddate\", adddate );\n      rep.saveJobEntryAttribute( id_job, getObjectId(), \"addOriginalTimestamp\", addOriginalTimestamp );\n      rep.saveJobEntryAttribute( id_job, getObjectId(), \"SpecifyFormat\", SpecifyFormat );","sourceCodeStart":251,"sourceCodeEnd":287,"githubUrl":"https://github.com/pentaho/pentaho-kettle/blob/f3058517a153da500bf4551f46d79b91bf8ec552/engine/src/main/java/org/pentaho/di/job/entries/unzip/JobEntryUnZip.java#L251-L287","documentation":"JobEntryUnZip.loadRep() wraps a KettleException from repository attribute reads into a KettleException with message \"Unable to load job entry of type 'unzip' from the repository for id_jobentry=\" plus the id. It means the stored attributes of the unzip job entry could not be loaded from the repository.","triggerScenarios":"Calling loadRep(rep, metaStore, id_jobentry, ...) when the repository read of attributes such as 'iffileexists', 'create_move_to_directory' or 'setOriginalModificationDate' throws — DB unavailable, missing rows, or schema mismatch.","commonSituations":"Repository database outage during job load; rows deleted or never written for that id_jobentry; upgrading Pentaho against an old repository schema.","solutions":["Verify repository DB connectivity and re-open the job.","Check R_JOBENTRY_ATTRIBUTE rows exist for the reported id_jobentry; re-save the entry from Spoon if missing.","Run repository upgrade scripts for your Pentaho version.","Load the job from a .kjb XML file instead to bypass the repository."],"exampleFix":"// before: loading job straight from a broken repository\nJobMeta job = new JobMeta(log, rep, id_job, metaStore);\n// after: fall back to XML load on failure\nJobMeta job;\ntry {\n  job = new JobMeta(log, rep, id_job, metaStore);\n} catch ( KettleException e ) {\n  job = new JobMeta(log, jobFileUrl, metaStore); // load from .kjb fallback\n}","handlingStrategy":"fallback","validationCode":"// Check repository session and persisted id before loadRep\nif ( !rep.isConnected() ) throw new KettleException(\"Repository not connected\");\nif ( jobEntry.getObjectId() == null ) throw new KettleException(\"Entry has no repository id\");","typeGuard":"boolean repositoryLoadPossible(Repository rep, ObjectId id_jobentry) {\n  return rep != null && rep.isConnected() && id_jobentry != null;\n}","tryCatchPattern":"try {\n  jobEntry.loadRep(rep, metaStore, id_jobentry, databases, slaveServers);\n} catch ( KettleException e ) {\n  logBasic(\"Repository load failed, falling back to XML: \" + e.getMessage());\n  jobEntry.loadXML(entrynode, databases, slaveServers, rep, metaStore); // fallback\n}","preventionTips":["Test repository connectivity when scheduling unattended job loads.","Keep R_JOBENTRY_ATTRIBUTE rows consistent (avoid manual SQL deletes).","Upgrade repository schema before loading jobs written by newer versions.","Maintain a .kjb export as a recovery copy of repository jobs."],"tags":["database","repository","kettle","persistence"],"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"}