{"record":{"id":"d13dfb0c105e4149","repo":"pentaho/pentaho-kettle","slug":"jobentryevaltablecontent-unableloadrep","errorCode":null,"errorMessage":"JobEntryEvalTableContent.UnableLoadRep","messagePattern":"JobEntryEvalTableContent\\.UnableLoadRep","errorType":"exception","errorClass":"KettleException","httpStatus":null,"severity":"error","filePath":"engine/src/main/java/org/pentaho/di/job/entries/evaluatetablecontent/JobEntryEvalTableContent.java","lineNumber":233,"sourceCode":"  public void loadRep( Repository rep, IMetaStore metaStore, ObjectId id_jobentry, List<DatabaseMeta> databases,\n    List<SlaveServer> slaveServers ) throws KettleException {\n    try {\n      connection = rep.loadDatabaseMetaFromJobEntryAttribute( id_jobentry, \"connection\", \"id_database\", databases );\n\n      schemaname = rep.getJobEntryAttributeString( id_jobentry, \"schemaname\" );\n      tablename = rep.getJobEntryAttributeString( id_jobentry, \"tablename\" );\n      successCondition =\n        getSuccessConditionByCode( Const.NVL(\n          rep.getJobEntryAttributeString( id_jobentry, \"success_condition\" ), \"\" ) );\n      limit = rep.getJobEntryAttributeString( id_jobentry, \"limit\" );\n      useCustomSQL = rep.getJobEntryAttributeBoolean( id_jobentry, \"is_custom_sql\" );\n      useVars = rep.getJobEntryAttributeBoolean( id_jobentry, \"is_usevars\" );\n      addRowsResult = rep.getJobEntryAttributeBoolean( id_jobentry, \"add_rows_result\" );\n      clearResultList = rep.getJobEntryAttributeBoolean( id_jobentry, \"clear_result_rows\" );\n\n      customSQL = rep.getJobEntryAttributeString( id_jobentry, \"custom_sql\" );\n    } catch ( KettleDatabaseException dbe ) {\n      throw new KettleException( BaseMessages.getString( PKG, \"JobEntryEvalTableContent.UnableLoadRep\", \"\"\n        + id_jobentry ), dbe );\n    }\n  }\n\n  private static int getSuccessConditionByCode( String tt ) {\n    if ( tt == null ) {\n      return 0;\n    }\n\n    for ( int i = 0; i < successConditionsCode.length; i++ ) {\n      if ( successConditionsCode[i].equalsIgnoreCase( tt ) ) {\n        return i;\n      }\n    }\n    return 0;\n  }\n\n  public void saveRep( Repository rep, IMetaStore metaStore, ObjectId id_job ) throws KettleException {","sourceCodeStart":215,"sourceCodeEnd":251,"githubUrl":"https://github.com/pentaho/pentaho-kettle/blob/f3058517a153da500bf4551f46d79b91bf8ec552/engine/src/main/java/org/pentaho/di/job/entries/evaluatetablecontent/JobEntryEvalTableContent.java#L215-L251","documentation":"JobEntryEvalTableContent.loadRep() reads this entry's boolean/string attributes (is_usevars, add_rows_result, clear_result_rows, custom_sql) from the repository; a KettleDatabaseException is rethrown as a KettleException with localized message 'JobEntryEvalTableContent.UnableLoadRep' plus the entry id. The entry's stored settings could not be loaded from the repository database.","triggerScenarios":"Loading a job from a repository where rep.getJobEntryAttributeBoolean/String(id_jobentry, ...) throws KettleDatabaseException.","commonSituations":"Repository DB unreachable or credentials wrong; missing attribute rows after partial save/migration; schema mismatch between client and repository.","solutions":["Check the chained KettleDatabaseException for the JDBC error.","Confirm rows exist in r_jobentry_attribute for the reported id; re-save the entry to recreate them.","Test the repository connection and run schema upgrade if versions differ.","Reload the job once the database is reachable."],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":"if (!rep.connect()) {\n  throw new IllegalStateException(\"Repository not reachable: \" + rep.getName());\n}","typeGuard":null,"tryCatchPattern":"try {\n  JobMeta meta = rep.loadJob(jobName, jobDir, null, null);\n} catch (KettleException e) {\n  if (e.getCause() instanceof KettleDatabaseException) {\n    logError(\"Repo load of EvalTableContent failed: \" + e.getMessage(), e);\n  }\n  throw e;\n}","preventionTips":["Test repository connectivity and credentials before loading jobs.","Keep repository schema migrated to the client version.","Detect and rebuild missing r_jobentry_attribute rows after partial saves.","Use retries for transient DB failures."],"tags":["database","repository","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"}