{"record":{"id":"4142ae7b74fb1a82","repo":"pentaho/pentaho-kettle","slug":"jobentryaddresultfilenames-unabletoloadfromrepo","errorCode":null,"errorMessage":"JobEntryAddResultFilenames.UnableToLoadFromRepo","messagePattern":"JobEntryAddResultFilenames\\.UnableToLoadFromRepo","errorType":"exception","errorClass":"KettleException","httpStatus":null,"severity":"error","filePath":"plugins/core/impl/src/main/java/org/pentaho/di/job/entries/addresultfilenames/JobEntryAddResultFilenames.java","lineNumber":171,"sourceCode":"    List<SlaveServer> slaveServers ) throws KettleException {\n    try {\n      argFromPrevious = rep.getJobEntryAttributeBoolean( id_jobentry, \"arg_from_previous\" );\n      includeSubfolders = rep.getJobEntryAttributeBoolean( id_jobentry, \"include_subfolders\" );\n\n      deleteallbefore = rep.getJobEntryAttributeBoolean( id_jobentry, \"delete_all_before\" );\n\n      // How many arguments?\n      int argnr = rep.countNrJobEntryAttributes( id_jobentry, \"name\" );\n      arguments = new String[argnr];\n      filemasks = 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        filemasks[a] = rep.getJobEntryAttributeString( id_jobentry, a, \"filemask\" );\n      }\n    } catch ( KettleException dbe ) {\n      throw new KettleException( BaseMessages.getString(\n        PKG, \"JobEntryAddResultFilenames.UnableToLoadFromRepo\", String.valueOf( 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(), \"arg_from_previous\", argFromPrevious );\n      rep.saveJobEntryAttribute( id_job, getObjectId(), \"include_subfolders\", includeSubfolders );\n      rep.saveJobEntryAttribute( id_job, getObjectId(), \"delete_all_before\", deleteallbefore );\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          rep.saveJobEntryAttribute( id_job, getObjectId(), i, \"filemask\", filemasks[i] );\n        }\n      }\n    } catch ( KettleDatabaseException dbe ) {","sourceCodeStart":153,"sourceCodeEnd":189,"githubUrl":"https://github.com/pentaho/pentaho-kettle/blob/f3058517a153da500bf4551f46d79b91bf8ec552/plugins/core/impl/src/main/java/org/pentaho/di/job/entries/addresultfilenames/JobEntryAddResultFilenames.java#L153-L189","documentation":"loadRep throws KettleException with this message when reading the AddResultFilenames entry's arguments/filemasks from the repository database fails. It wraps the underlying KettleException (usually a KettleDatabaseException) and includes the job entry ObjectId for diagnosis.","triggerScenarios":"rep.getJobEntryAttributeString(id_jobentry, a, \"name\"/\"filemask\") throwing because the repository connection is down, the job entry row was deleted, or a schema mismatch exists.","commonSituations":"Repository database unreachable, entries deleted by another user mid-load, upgraded repository schema missing R_JOBENTRY_ATTRIBUTE rows.","solutions":["Verify the repository database connection (test in the repository login dialog).","Check R_JOBENTRY_ATTRIBUTE rows exist for the given id_jobentry; re-save the job entry if missing.","Run the repository upgrade scripts if the Pentaho version changed."],"exampleFix":"// before\narguments[a] = rep.getJobEntryAttributeString( id_jobentry, a, \"name\" );\n// after (defensive)\nString name = rep.getJobEntryAttributeString( id_jobentry, a, \"name\" );\narguments[a] = name != null ? name : \"\";","handlingStrategy":"try-catch","validationCode":"// verify repository connectivity and entry existence before load\nif ( !rep.connect( username, password ) ) throw new IllegalStateException( \"repo unreachable\" );\nObjectId id = rep.getJobEntryObjectId( jobMeta, entryName );\nif ( id == null ) throw new IllegalStateException( \"job entry missing in repository\" );","typeGuard":null,"tryCatchPattern":"try { entry.loadRep( rep, metaStore, id_jobentry, databases, slaveServers ); } catch ( KettleException e ) { logError( \"repo load failed for \" + id_jobentry + \": \" + e.getMessage(), e ); }","preventionTips":["Test the repository connection before batch-loading jobs.","Keep repository schema upgraded to match PDI version.","Avoid deleting shared job entries while others load them."],"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"}