{"record":{"id":"b25221d4e9eabe5d","repo":"pentaho/pentaho-kettle","slug":"jobentryconnectedtorepository-meta-unabletoloadfromrep","errorCode":null,"errorMessage":"JobEntryConnectedToRepository.Meta.UnableToLoadFromRep","messagePattern":"JobEntryConnectedToRepository\\.Meta\\.UnableToLoadFromRep","errorType":"exception","errorClass":"KettleException","httpStatus":null,"severity":"error","filePath":"plugins/connected-to-repository/impl/src/main/java/org/pentaho/di/job/entries/connectedtorepository/JobEntryConnectedToRepository.java","lineNumber":139,"sourceCode":"      isspecificuser = \"Y\".equalsIgnoreCase( XMLHandler.getTagValue( entrynode, \"isspecificuser\" ) );\n      username = XMLHandler.getTagValue( entrynode, \"username\" );\n\n    } catch ( Exception e ) {\n      throw new KettleXMLException( BaseMessages.getString(\n        PKG, \"JobEntryConnectedToRepository.Meta.UnableToLoadFromXML\" ), e );\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      isspecificrep = rep.getJobEntryAttributeBoolean( id_jobentry, \"isspecificrep\" );\n      repname = rep.getJobEntryAttributeString( id_jobentry, \"repname\" );\n      isspecificuser = rep.getJobEntryAttributeBoolean( id_jobentry, \"isspecificuser\" );\n      username = rep.getJobEntryAttributeString( id_jobentry, \"username\" );\n\n    } catch ( KettleDatabaseException dbe ) {\n      throw new KettleException( BaseMessages.getString(\n        PKG, \"JobEntryConnectedToRepository.Meta.UnableToLoadFromRep\" )\n        + id_jobentry, dbe );\n\n    }\n  }\n\n  // Save the attributes of this job entry\n  //\n  public void saveRep( Repository rep, IMetaStore metaStore, ObjectId id_job ) throws KettleException {\n    try {\n      rep.saveJobEntryAttribute( id_job, getObjectId(), \"isspecificrep\", isspecificrep );\n      rep.saveJobEntryAttribute( id_job, getObjectId(), \"repname\", repname );\n      rep.saveJobEntryAttribute( id_job, getObjectId(), \"isspecificuser\", isspecificuser );\n      rep.saveJobEntryAttribute( id_job, getObjectId(), \"username\", username );\n    } catch ( KettleDatabaseException dbe ) {\n      throw new KettleException( BaseMessages.getString(\n        PKG, \"JobEntryConnectedToRepository.Meta.UnableToSaveToRep\" )\n        + id_job, dbe );","sourceCodeStart":121,"sourceCodeEnd":157,"githubUrl":"https://github.com/pentaho/pentaho-kettle/blob/f3058517a153da500bf4551f46d79b91bf8ec552/plugins/connected-to-repository/impl/src/main/java/org/pentaho/di/job/entries/connectedtorepository/JobEntryConnectedToRepository.java#L121-L157","documentation":"JobEntryConnectedToRepository.loadRep wraps KettleDatabaseException thrown while reading the job entry's attributes (isspecificrep, repname, isspecificuser, username) from a repository into a KettleException keyed 'JobEntryConnectedToRepository.Meta.UnableToLoadFromRep' plus the job entry id. It means repository loading of this job entry failed at the database level.","triggerScenarios":"loadRep called during job load from a repository when r_jobentry_attribute rows are unreadable — repository DB connection failure, missing table/columns, or a corrupt attribute row.","commonSituations":"Repository database down or migrated with schema drift; wrong repository credentials; loading a job saved in a newer Pentaho version into an older repository schema.","solutions":["Check repository database connectivity and credentials","Verify the repository schema is up to date (run repository upgrade/repair tools)","Inspect the wrapped KettleDatabaseException cause for the SQL error","Re-save the job entry to a working repository to recreate its attribute rows"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":"// before loading jobs, verify repository reachability\nif ( !rep.connect( \"user\", \"pass\" ) ) {\n  throw new ValidationException( \"Repository not reachable\" );\n}","typeGuard":null,"tryCatchPattern":"try {\n  jobMeta.loadFromRepository( rep, path, null );\n} catch ( KettleException e ) {\n  Throwable c = e.getCause();\n  if ( c instanceof KettleDatabaseException ) {\n    logError( \"Repository read failed: \" + c.getMessage(), c );\n  }\n}","preventionTips":["Check repository connectivity before opening repository jobs","Keep repository schema upgraded to match the client version","Back up r_jobentry_attribute data","Use a healthy shared repository connection"],"tags":["repository","database","job-entry","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"}