{"record":{"id":"f16be5093df7e081","repo":"pentaho/pentaho-kettle","slug":"jobentrycolumnsexist-meta-unableloadrep","errorCode":null,"errorMessage":"JobEntryColumnsExist.Meta.UnableLoadRep","messagePattern":"JobEntryColumnsExist\\.Meta\\.UnableLoadRep","errorType":"exception","errorClass":"KettleException","httpStatus":null,"severity":"error","filePath":"engine/src/main/java/org/pentaho/di/job/entries/columnsexist/JobEntryColumnsExist.java","lineNumber":154,"sourceCode":"  public void loadRep( Repository rep, IMetaStore metaStore, ObjectId id_jobentry, List<DatabaseMeta> databases,\n    List<SlaveServer> slaveServers ) throws KettleException {\n    try {\n      tablename = rep.getJobEntryAttributeString( id_jobentry, \"tablename\" );\n      schemaname = rep.getJobEntryAttributeString( id_jobentry, \"schemaname\" );\n\n      connection = rep.loadDatabaseMetaFromJobEntryAttribute( id_jobentry, \"connection\", \"id_database\", databases );\n\n      // How many arguments?\n      int argnr = rep.countNrJobEntryAttributes( id_jobentry, \"name\" );\n      arguments = new String[argnr];\n\n      // Read them all...\n      for ( int a = 0; a < argnr; a++ ) {\n        arguments[a] = rep.getJobEntryAttributeString( id_jobentry, a, \"name\" );\n      }\n\n    } catch ( KettleDatabaseException dbe ) {\n      throw new KettleException( BaseMessages.getString( PKG, \"JobEntryColumnsExist.Meta.UnableLoadRep\", \"\"\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(), \"tablename\", tablename );\n      rep.saveJobEntryAttribute( id_job, getObjectId(), \"schemaname\", schemaname );\n\n      rep.saveDatabaseMetaJobEntryAttribute( id_job, getObjectId(), \"connection\", \"id_database\", connection );\n\n      // save the arguments...\n      if ( arguments != null ) {\n        for ( int i = 0; i < arguments.length; i++ ) {\n          rep.saveJobEntryAttribute( id_job, getObjectId(), i, \"name\", arguments[i] );\n        }\n      }\n    } catch ( KettleDatabaseException dbe ) {","sourceCodeStart":136,"sourceCodeEnd":172,"githubUrl":"https://github.com/pentaho/pentaho-kettle/blob/f3058517a153da500bf4551f46d79b91bf8ec552/engine/src/main/java/org/pentaho/di/job/entries/columnsexist/JobEntryColumnsExist.java#L136-L172","documentation":"JobEntryColumnsExist.loadRep wraps any KettleDatabaseException from the repository while reading the entry's stored field names (row count plus per-row 'name' attributes) into this KettleException, identifying the entry by id_jobentry.","triggerScenarios":"Calling loadRep when rep.getJobEntryAttributeString / count reads fail against the repository database for this entry's id.","commonSituations":"Repository rows missing after restore/migration; DB connection or permission failure; schema mismatch after upgrade; corrupted r_jobentry_attribute data.","solutions":["Inspect the chained KettleDatabaseException for the SQL cause","Confirm r_jobentry_attribute rows exist for the given id_jobentry","Re-open and re-save the entry in Spoon to rebuild its attributes","Repair repository connectivity/permissions, then reload"],"exampleFix":"// before\nentry.loadRep(rep, metaStore, ObjectId.parseString(\"bad-id\"), databases, slaveServers);\n// after\nObjectId id = rep.getJobEntryId(jobMeta, \"columns-exist\");\nif (id != null) entry.loadRep(rep, metaStore, id, databases, slaveServers);","handlingStrategy":"try-catch","validationCode":"if (id_jobentry == null) throw new IllegalStateException(\"Entry has no repository id\");","typeGuard":null,"tryCatchPattern":"try {\n  entry.loadRep(rep, metaStore, id_jobentry, databases, slaveServers);\n} catch (KettleException e) {\n  log.error(\"Repo load failed for entry \" + id_jobentry + \": \" + e.getCause(), e);\n}","preventionTips":["Verify r_jobentry_attribute integrity after DB restores","Use one consistent repository for authoring and execution","Check DB connectivity before batch-loading job metadata"],"tags":["repository","database","job-entry","kettle"],"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"}