{"record":{"id":"d7a9a47369e0e84a","repo":"pentaho/pentaho-kettle","slug":"unable-to-load-job-entry-of-type-mysql-bulk-load-from-the","errorCode":null,"errorMessage":"Unable to load job entry of type 'Mysql bulk load' from the repository for id_jobentry=","messagePattern":"Unable to load job entry of type 'Mysql bulk load' from the repository for id_jobentry=","errorType":"exception","errorClass":"KettleException","httpStatus":null,"severity":"error","filePath":"engine/src/main/java/org/pentaho/di/job/entries/mysqlbulkload/JobEntryMysqlBulkLoad.java","lineNumber":182,"sourceCode":"    try {\n      schemaname = rep.getJobEntryAttributeString( id_jobentry, \"schemaname\" );\n      tablename = rep.getJobEntryAttributeString( id_jobentry, \"tablename\" );\n      filename = rep.getJobEntryAttributeString( id_jobentry, \"filename\" );\n      separator = rep.getJobEntryAttributeString( id_jobentry, \"separator\" );\n      enclosed = rep.getJobEntryAttributeString( id_jobentry, \"enclosed\" );\n      escaped = rep.getJobEntryAttributeString( id_jobentry, \"escaped\" );\n      linestarted = rep.getJobEntryAttributeString( id_jobentry, \"linestarted\" );\n      lineterminated = rep.getJobEntryAttributeString( id_jobentry, \"lineterminated\" );\n      replacedata = rep.getJobEntryAttributeBoolean( id_jobentry, \"replacedata\" );\n      ignorelines = rep.getJobEntryAttributeString( id_jobentry, \"ignorelines\" );\n      listattribut = rep.getJobEntryAttributeString( id_jobentry, \"listattribut\" );\n      localinfile = rep.getJobEntryAttributeBoolean( id_jobentry, \"localinfile\" );\n      prorityvalue = (int) rep.getJobEntryAttributeInteger( id_jobentry, \"prorityvalue\" );\n      addfiletoresult = rep.getJobEntryAttributeBoolean( id_jobentry, \"addfiletoresult\" );\n\n      connection = rep.loadDatabaseMetaFromJobEntryAttribute( id_jobentry, \"connection\", \"id_database\", databases );\n    } catch ( KettleDatabaseException dbe ) {\n      throw new KettleException(\n        \"Unable to load job entry of type 'Mysql bulk load' from the repository for id_jobentry=\" + id_jobentry,\n        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(), \"schemaname\", schemaname );\n      rep.saveJobEntryAttribute( id_job, getObjectId(), \"tablename\", tablename );\n      rep.saveJobEntryAttribute( id_job, getObjectId(), \"filename\", filename );\n      rep.saveJobEntryAttribute( id_job, getObjectId(), \"separator\", separator );\n      rep.saveJobEntryAttribute( id_job, getObjectId(), \"enclosed\", enclosed );\n      rep.saveJobEntryAttribute( id_job, getObjectId(), \"escaped\", escaped );\n      rep.saveJobEntryAttribute( id_job, getObjectId(), \"linestarted\", linestarted );\n      rep.saveJobEntryAttribute( id_job, getObjectId(), \"lineterminated\", lineterminated );\n      rep.saveJobEntryAttribute( id_job, getObjectId(), \"replacedata\", replacedata );\n      rep.saveJobEntryAttribute( id_job, getObjectId(), \"ignorelines\", ignorelines );\n      rep.saveJobEntryAttribute( id_job, getObjectId(), \"listattribut\", listattribut );","sourceCodeStart":164,"sourceCodeEnd":200,"githubUrl":"https://github.com/pentaho/pentaho-kettle/blob/f3058517a153da500bf4551f46d79b91bf8ec552/engine/src/main/java/org/pentaho/di/job/entries/mysqlbulkload/JobEntryMysqlBulkLoad.java#L164-L200","documentation":"KettleException thrown by JobEntryMysqlBulkLoad.loadRep() when loading this entry's attributes from the repository fails with a KettleDatabaseException, including resolving the stored connection metadata. The saved definition of the 'Mysql bulk load' entry cannot be read from the repository.","triggerScenarios":"Loading from a repository when getJobEntryAttributeBoolean/Integer reads or loadDatabaseMetaFromJobEntryAttribute(id_jobentry, \"connection\", \"id_database\", databases) throws — missing attribute rows, dangling id_database reference, or repository failure.","commonSituations":"Connection deleted from repository while jobs still reference it; corrupted attribute rows from a failed save; repository access/permission issues.","solutions":["Inspect the wrapped KettleDatabaseException cause to identify and fix the failing repository query.","Recreate the referenced database connection so id_database resolves.","Run repository schema repair/upgrade to restore missing rows.","Recreate the job entry in the repository if rows are corrupted."],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":"// before load: confirm the connection reference resolves\nif ( rep.loadDatabaseMetaFromJobEntryAttribute( id_jobentry, \"connection\", \"id_database\", databases ) == null ) {\n  logWarning( \"connection for job entry \" + id_jobentry + \" not resolvable\" );\n}","typeGuard":null,"tryCatchPattern":"try { jobEntry.loadRep( rep, metaStore, idJobentry, databases, slaveServers ); } catch ( KettleException e ) { logError( \"Repository load failed: \" + e.getCause(), e ); }","preventionTips":["Do not delete connections referenced by existing jobs","Repair/upgrade the repository schema regularly","Ensure repository users have read access to attribute tables","Check the wrapped KettleDatabaseException cause for the real failure"],"tags":["kettle","repository","database","job-entry","mysql"],"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"}