{"record":{"id":"63127b3c8b8a0a72","repo":"pentaho/pentaho-kettle","slug":"syslogmessagemeta-exception-unabletosavestepinfo","errorCode":null,"errorMessage":"SyslogMessageMeta.Exception.UnableToSaveStepInfo","messagePattern":"SyslogMessageMeta\\.Exception\\.UnableToSaveStepInfo","errorType":"exception","errorClass":"KettleException","httpStatus":null,"severity":"error","filePath":"engine/src/main/java/org/pentaho/di/trans/steps/syslog/SyslogMessageMeta.java","lineNumber":273,"sourceCode":"    } catch ( Exception e ) {\n      throw new KettleException( BaseMessages.getString(\n        PKG, \"SyslogMessageMeta.Exception.UnexpectedErrorReadingStepInfo\" ), e );\n    }\n  }\n\n  public void saveRep( Repository rep, IMetaStore metaStore, ObjectId id_transformation, ObjectId id_step ) throws KettleException {\n    try {\n      rep.saveStepAttribute( id_transformation, id_step, \"messagefieldname\", messagefieldname );\n      rep.saveJobEntryAttribute( id_transformation, id_step, \"port\", port );\n      rep.saveJobEntryAttribute( id_transformation, id_step, \"servername\", serverName );\n      rep.saveJobEntryAttribute( id_transformation, id_step, \"facility\", facility );\n      rep.saveJobEntryAttribute( id_transformation, id_step, \"priority\", priority );\n      rep.saveJobEntryAttribute( id_transformation, id_step, \"datePattern\", datePattern );\n      rep.saveJobEntryAttribute( id_transformation, id_step, \"addTimestamp\", addTimestamp );\n      rep.saveJobEntryAttribute( id_transformation, id_step, \"addHostName\", addHostName );\n\n    } catch ( Exception e ) {\n      throw new KettleException( BaseMessages.getString( PKG, \"SyslogMessageMeta.Exception.UnableToSaveStepInfo\" )\n        + id_step, e );\n    }\n  }\n\n  public void check( List<CheckResultInterface> remarks, TransMeta transMeta, StepMeta stepMeta,\n    RowMetaInterface prev, String[] input, String[] output, RowMetaInterface info, VariableSpace space,\n    Repository repository, IMetaStore metaStore ) {\n    CheckResult cr;\n    String error_message = \"\";\n\n    // source filename\n    if ( Utils.isEmpty( messagefieldname ) ) {\n      error_message = BaseMessages.getString( PKG, \"SyslogMessageMeta.CheckResult.MessageFieldMissing\" );\n      cr = new CheckResult( CheckResult.TYPE_RESULT_ERROR, error_message, stepMeta );\n      remarks.add( cr );\n    } else {\n      error_message = BaseMessages.getString( PKG, \"SyslogMessageMeta.CheckResult.MessageFieldOK\" );\n      cr = new CheckResult( CheckResult.TYPE_RESULT_OK, error_message, stepMeta );","sourceCodeStart":255,"sourceCodeEnd":291,"githubUrl":"https://github.com/pentaho/pentaho-kettle/blob/f3058517a153da500bf4551f46d79b91bf8ec552/engine/src/main/java/org/pentaho/di/trans/steps/syslog/SyslogMessageMeta.java#L255-L291","documentation":"Outer catch-all in SyslogMessageMeta.saveRep: saving the step's attributes to the repository failed (repository I/O or serialization error). The original exception is attached as the cause for diagnosis.","triggerScenarios":"saveRep failing due to repository write errors, constraint violations, lock contention, or a closed/invalid repository connection during transformation save.","commonSituations":"Repository database read-only or out of space; concurrent edits by two users; repository schema outdated relative to the Kettle client version; session timeout.","solutions":["Check the repository DB is writable and has space, and inspect e.getCause() for the SQL error","Reconnect to the repository and retry saving","Upgrade/repair the repository schema (e.g. run repository upgrade scripts) to match your Kettle version","Save to file (.ktr) as a fallback while fixing repository access"],"exampleFix":"// before\ntransMeta.save(rep, transMeta.getName(), null, true); // fails silently on cause\n// after\ntry { transMeta.save(rep, transMeta.getName(), null, true); } catch (KettleException e) { log.error(\"Save failed for step \" + e.getCause(), e); }","handlingStrategy":"try-catch","validationCode":"if (rep == null || !rep.isConnected() || rep.isReadOnly()) { throw new KettleException(\"Repository not writable before saveRep\"); }","typeGuard":null,"tryCatchPattern":"try { meta.saveRep(rep, metaStore, id_trans, id_step); } catch (KettleException e) { logError(\"Repository save failed for step \" + id_step + \": \" + (e.getCause()!=null?e.getCause().getMessage():e.getMessage()), e); }","preventionTips":["Ensure the repository DB is writable and has free space","Avoid concurrent edits of the same transformation","Run repository upgrade scripts after Pentaho version changes"],"tags":["kettle","repository","persistence","write"],"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"}