{"record":{"id":"f1904b869a3ddc0c","repo":"pentaho/pentaho-kettle","slug":"unable-to-save-job-entry-of-type-syslog-to-the-repository","errorCode":null,"errorMessage":"Unable to save job entry of type 'Syslog' to the repository for id_job=","messagePattern":"Unable to save job entry of type 'Syslog' to the repository for id_job=","errorType":"exception","errorClass":"KettleException","httpStatus":null,"severity":"error","filePath":"engine/src/main/java/org/pentaho/di/job/entries/syslog/JobEntrySyslog.java","lineNumber":144,"sourceCode":"\n    } catch ( KettleException dbe ) {\n      throw new KettleException( \"Unable to load job entry of type 'Syslog' from the repository for id_jobentry=\"\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(), \"port\", port );\n      rep.saveJobEntryAttribute( id_job, getObjectId(), \"servername\", serverName );\n      rep.saveJobEntryAttribute( id_job, getObjectId(), \"facility\", facility );\n      rep.saveJobEntryAttribute( id_job, getObjectId(), \"priority\", priority );\n      rep.saveJobEntryAttribute( id_job, getObjectId(), \"message\", message );\n      rep.saveJobEntryAttribute( id_job, getObjectId(), \"datePattern\", datePattern );\n      rep.saveJobEntryAttribute( id_job, getObjectId(), \"addTimestamp\", addTimestamp );\n      rep.saveJobEntryAttribute( id_job, getObjectId(), \"addHostname\", addHostname );\n    } catch ( KettleDatabaseException dbe ) {\n      throw new KettleException( \"Unable to save job entry of type 'Syslog' to the repository for id_job=\"\n        + id_job, dbe );\n    }\n  }\n\n  /**\n   * @return Returns the serverName.\n   */\n  public String getServerName() {\n    return serverName;\n  }\n\n  /**\n   * @param serverName\n   *          The serverName to set.\n   */\n  public void setServerName( String serverName ) {\n    this.serverName = serverName;\n  }","sourceCodeStart":126,"sourceCodeEnd":162,"githubUrl":"https://github.com/pentaho/pentaho-kettle/blob/f3058517a153da500bf4551f46d79b91bf8ec552/engine/src/main/java/org/pentaho/di/job/entries/syslog/JobEntrySyslog.java#L126-L162","documentation":"JobEntrySyslog.saveRep wraps any KettleDatabaseException thrown while persisting the Syslog job entry attributes into a KettleException with this message, keeping the original as cause. It means the write of this entry's attributes to the repository failed; nothing about the Syslog configuration itself was validated.","triggerScenarios":"Calling saveRep when the repository insert/update of any attribute (port, priority, message, datePattern, addTimestamp, addHostname) fails: repository connection lost, read-only repository, ObjectId invalid/null, or constraint violation in r_jobentry_attribute.","commonSituations":"Saving a job while the repository database session was dropped; repository user lacks write permissions; saving a new entry whose ObjectId was never assigned (entry not yet inserted); database disk full or table locked.","solutions":["Check the chained KettleDatabaseException cause for the exact SQL error","Verify the repository user has write privileges and the repository is not read-only","Ensure getObjectId() is valid — re-save the whole job from Spoon so IDs are assigned","Test repository connectivity and retry the save","Check database-side limits (disk space, lock timeouts, column size for message attribute)"],"exampleFix":"// before: saving detached entry with null ObjectId\nrep.saveJobEntryAttribute(id_job, jobEntry.getObjectId(), \"message\", msg); // throws\n// after: persist the job first so the entry gets an ObjectId\njob.saveRep(rep, metaStore); // assigns IDs, then attribute writes succeed","handlingStrategy":"try-catch","validationCode":"// Java: ensure entry is attached and IDs assigned before saving attributes\nif (jobEntry.getObjectId() == null) {\n  throw new KettleException(\"Entry not persisted yet; save the job first\");\n}","typeGuard":"if (id_job != null && getObjectId() != null && rep != null) { /* safe to saveRep */ }","tryCatchPattern":"try {\n  jobEntry.saveRep(rep, metaStore, id_job);\n} catch (KettleException e) {\n  logError(\"Repository save failed for Syslog entry: \" + e.getCause(), e);\n  // check DB connectivity/permissions, then retry once\n}","preventionTips":["Grant the repository user write privileges","Save the whole job from Spoon so ObjectIds are assigned","Monitor repository DB for disk space and lock contention","Avoid concurrent Spoon sessions writing the same job"],"tags":["pentaho-kettle","repository","database"],"backgroundTag":"database-write-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"}