5 ms·
This sounds like a problem with Postfix or Dovecot. Postfix shouldn't ack or Dovecot shouldn't delete the email until it is safely stored. That being said ther
by kevincox 6y ago
This sounds like a problem with Postfix or Dovecot. Postfix shouldn't ack or Dovecot shouldn't delete the email until it is safely stored.
That being said there are many use cases where having high availability is critical and in the face of multiple writers SQLite isn't the best option for that.
- lisper 6y agoI don't think this is a multiple-writer problem. Postfix is only reading. I am running a milter that is writing, but I control the code for that so I have it set up to retry if it fails. So the error is being generated by postfix itself, and so it must be happening on a read (because that is all postfix does). I was hoping to find some kind of global switch that would make sqlite always wait for locks rather than throwing an error. But I've scoured the web for such a solution without success :-(
- samatman 6y agoThere is no such thing, to my knowledge. What can be done is registering a busy callback: https://www.sqlite.org/c3ref/busy_handler.html https://www.sqlite.org/c3ref/busy_handler.html I don't understand enough about your specific problem to know if this will actually help you, just sharing a tidbit I encountered working on a comparable issue.