[systemd-devel] [PATCH 8/8] timesyncd: wait before reconnecting to first server

Kay Sievers kay at vrfy.org
Tue Sep 2 05:32:37 PDT 2014


On Tue, Sep 2, 2014 at 1:15 PM, Miroslav Lichvar <mlichvar at redhat.com> wrote:
> On Fri, Aug 29, 2014 at 06:45:24PM +0200, Kay Sievers wrote:
>> On Wed, Aug 27, 2014 at 4:47 PM, Miroslav Lichvar <mlichvar at redhat.com> wrote:
>> > When all servers are exhausted, wait for one poll interval before trying
>> > to connect again to the first server in the list. Also, keep increasing
>> > the polling interval to make sure a client not getting any valid replies
>> > will not send requests to any server more frequently than is allowed by
>> > the maximum polling interval.
>>
>> What is the reason to keep track if we asked all servers, and not just
>> decrease the frequency of switching them?
>
> Delaying every reconnection by the current polling interval would work
> nicely and there could even be an assert for the actual interval
> between sending requests for extra safety, but my understanding is
> that on start you want to find a good server quickly, or not?
>
> If the first three servers in the list reply as unsynchronized, it
> would take 3*32 seconds to switch to the fourth server. With this
> patch, the reselection happens immediately after receiving the reply.
>
> Is that acceptable? I can rewrite the patch if you want.

Makes sense. I applied your original patch. If you think another
strategy is better, please put changes on top of the current git
version.

>> There is also some code in src/timesync/timesyncd-manager.c +209:
>>   /* re-arm timer with increasing timeout,
>>   in case the packets never arrive back */
>>
>> which used to work but maybe broke with other changes.
>
> In the current code that doesn't work as the 10s reconnect timeout is
> always reached first.

I see, I've removed it now.

Thanks,
Kay


More information about the systemd-devel mailing list