On 11/05/07, Timo Sirainen <tss@iki.fi> wrote:
On Wed, 2007-05-02 at 10:52 +0200, Amon Ott wrote:
Now I wonder if Dovecot could return errors to the users instead of dying until time is fine again, e.g. "System time has moved backwards, please come back in n seconds". If the time skip is just a few seconds, it can of course delay and then go on as it does now.
With this change, no admin would be needed to carefully restart Dovecot at the right time. I have not looked into Dovecot code myself yet, but could try a patch if necessary.
I think this is just way too much trouble for handling a situation that really shouldn't be happening in the first place.. The code already allows the clock to move backwards by 5 seconds without dying, so how horrible are the clocks in those computers? :)
It's anyway easy to increase that time by modifying the sources. src/lib/ioloop.c IOLOOP_MAX_TIME_BACKWARDS_SLEEP
Just to add that I've also been bitten by this upon updating from rc18 to 1.0.0. My current kludge is to restart Dovecot in a cron till I try recompiling/fixing it.
I'm running under a Virtuozzo VPS and there is no way to run ntp. The underlying server is ntp sync'd anyway and that gets passed up to the VPSs. So this shouldn't really be happening. It usually kills itself after about 40-50 minutes of running (although the time varies) so Dovecot is 'seeing' over 5 secs of slippage in an hour, which is unlikely. FWIW, I run a couple of servers with Virtuozzo and no other software has registered a problem.
cheers jalal