Daniel Watts wrote:
Hi Guys,
This has bitten us twice now. We're running Gentoo and emerge (ie compile) a new version of Dovecot thinking we can finish that then restart Dovecot in our own time.
It seems that Dovecot immediately starts to use the newly compiled Dovecot binary and we get version mismatch errors preventing access.
Would be good if Dovecot behaved in such a way that it kept on using the old version (held in memory) until it was restarted where it then loaded the new version.
I think if you read the section on pre-init scripts you can see that the way dovecot works is something like to keep long term auth processes, but to fork a new server process for each user. So I guess each login will instantly see the new binary...
Perhaps you could build a binary package, then in some slightly quiet time you could install the package and slip a "/etc/init.d/dovecot restart" on the end? I *think* that the way the restart works is to keep existing clients alive until they quit (it's an option in the conf file though?)
I'm out of my depth to be honest, but you didn't get an answer, so perhaps that helps a little..?
Ed