{"record":{"id":"f8502edc5ec93848","repo":"pentaho/pentaho-kettle","slug":"unable-to-load-job-entry-for-type-file-exists-from-the-f8502e","errorCode":null,"errorMessage":"Unable to load job entry for type file exists from the repository for id_jobentry=","messagePattern":"Unable to load job entry for type file exists from the repository for id_jobentry=","errorType":"exception","errorClass":"KettleException","httpStatus":null,"severity":"error","filePath":"plugins/palo/core/src/main/java/org/pentaho/di/job/entries/palo/JobEntryCubeCreate/PaloCubeCreate.java","lineNumber":130,"sourceCode":"      throw new KettleXMLException( \"Unable to load file exists job entry 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      this.databaseMeta =\n          rep.loadDatabaseMetaFromJobEntryAttribute( id_jobentry, \"connection\", \"id_database\", databases );\n      this.setCubeName( rep.getStepAttributeString( id_jobentry, \"cubeName\" ) );\n\n      int nrFields = rep.countNrStepAttributes( id_jobentry, \"dimensionname\" );\n\n      for ( int i = 0; i < nrFields; i++ ) {\n        String dimensionName = rep.getStepAttributeString( id_jobentry, i, \"dimensionname\" );\n        this.dimensionNames.add( dimensionName );\n      }\n    } catch ( KettleException dbe ) {\n      throw new KettleException( \"Unable to load job entry for type file exists 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.saveDatabaseMetaJobEntryAttribute( id_job, getObjectId(), \"connection\", \"id_database\", databaseMeta );\n      rep.saveJobEntryAttribute( id_job, getObjectId(), \"cubeName\", this.getCubeName() );\n\n      for ( int i = 0; i < this.dimensionNames.size(); i++ ) {\n        rep.saveJobEntryAttribute( id_job, getObjectId(), i, \"dimensionname\", this.dimensionNames.get( i ) );\n      }\n    } catch ( KettleDatabaseException dbe ) {\n      throw new KettleException(\n          \"unable to save jobentry of type 'file exists' to the repository for id_job=\" + id_job, dbe );\n    }\n  }\n","sourceCodeStart":112,"sourceCodeEnd":148,"githubUrl":"https://github.com/pentaho/pentaho-kettle/blob/f3058517a153da500bf4551f46d79b91bf8ec552/plugins/palo/core/src/main/java/org/pentaho/di/job/entries/palo/JobEntryCubeCreate/PaloCubeCreate.java#L112-L148","documentation":"Thrown by PaloCubeCreate.loadRep() when loading this job entry's settings from the repository fails with a KettleDatabaseException (or other KettleException), wrapped as 'Unable to load job entry for type file exists from the repository for id_jobentry=<id>'. Like its loadXML counterpart, 'file exists' is a stale copy-paste from another entry type; the real subject is the Palo Create cube entry.","triggerScenarios":"loadRep called with an id_jobentry whose attributes (connection, cubeName, dimensionname entries) cannot be read: repository tables corrupted/missing, connection dropped mid-load, or repository permissions issues.","commonSituations":"Repository database connectivity problems; repository schema out of sync after a PDI upgrade; deleted job entry rows referenced elsewhere; restoring a partial repository backup.","solutions":["Check repository database connectivity and the repository log for the underlying KettleDatabaseException cause","Verify the r_jobentry_attribute rows for the given id_jobentry exist and are intact","Run repository repair/upgrade tools if the schema is out of date after an upgrade","Recreate the job entry and save it to the repository again"],"exampleFix":"// diagnosis: inspect cause\n// before: loadRep fails with wrapped dbe\n// after: fix repository (e.g. restore r_jobentry_attribute rows for id_jobentry) then reload","handlingStrategy":"try-catch","validationCode":"// Verify the entry exists and has attributes before loadRep:\nif ( rep.getJobEntryAttributeString( id_jobentry, \"cubeName\" ) == null ) {\n  log.warn( \"id_jobentry \" + id_jobentry + \" has no cubeName attribute; repository data may be missing\" );\n}","typeGuard":null,"tryCatchPattern":"try { entry.loadRep( rep, metaStore, id, databases, slaves ); } catch ( KettleException e ) { log.error( \"Repository load failed for id_jobentry=\" + id, e ); throw e; }","preventionTips":["Back up the repository database regularly","Run repository upgrade scripts after PDI upgrades","Watch repository connectivity and reconnection settings"],"tags":["kettle","pdi","repository","palo","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"}