I was wondering if it’s possible to somehow configure a separate spool for those messages? Currently their meta&data are spooled together with emails, and since every email gets at least 2 disposition events (Reception & Delivery or Bounce), this adds quite a lot of writes.
On another note, it looks like all the log disposition messages have the exact same content in data and in meta.log_record? If so, logging I/O load could be halved by not writing data files for them and just using meta.
I think if you’re willing to write some Lua, you might be able to set a filter event in https://docs.kumomta.com/reference/kumo/configure_local_logs/ that checks for the log record reception protocol and returns false if it finds it. also consider if you want some form of log-delivery logs (something on delivery failure say). also: i’m not a kumo expert or even using it in prod, check things for yourself, can’t do much followup. good luck!
I am writing quite a bit of lua fwiw, we currently use deferred_spool = true with configure_log_hook, but that has some drawbacks regarding durability.
Idea was roughly something like
name = 'logs',
path = '/path/to/log/spool',
}```
So that it would be possible to spread IO across multiple devices, like it's currently possible to do with configure_local_logs.
Getting it now–you might want much different perf/durability tradeoffs for the queue of mail you’re sending vs. the queue of disposition events to deliver.
You could use a filter event and a second logging location. In the main logging location filter OUT any logs created by Lua and int the other only filer IN the ones generated by Lua.