Alexey Serbin created KUDU-2939:
-----------------------------------
Summary: built-in NTP client: implement stricter source selection
algorithm
Key: KUDU-2939
URL: https://issues.apache.org/jira/browse/KUDU-2939
Project: Kudu
Issue Type: Bug
Reporter: Alexey Serbin
In the initial implementation, the built-in NTP client has a simplified NTP
source selection/filterting algorithm: basically, it's about sanitisation of
incoming NTP packets and ignoring falsetickers. It's necessary to make the
source selection algorithm more robust.
At least, it's necessary to filter out NTP servers with higher than allowed
root distance and jitter.
Also, as a part evaluation of the quality of a source (i.e. NTP server) in the
source selection algorithm, it's necessary to introduce corresponding knobs
(via gflags) to set the thresholds for the following properties of a source:
* Maximum distance of a source (i.e. NTP server) from the root. The distance
also includes the accumulated dispersion. Servers which are no longer
synchronized might get their root distance grow high, and having this threshold
is a way to avoid synchronising with servers which have contacted their own
servers too long ago. By default, the maximum root distance should be set to 3
seconds (in the initial implementation, it's 16 seconds -- the maximum allowed
by the RFC itself).
* Maximum jitter (i.e. standard deviation) of time samples. This should prevent
synchronisation with sources that have a small root distance, but their time is
too variable. By default, this should be set to 1 second.
--
This message was sent by Atlassian Jira
(v8.3.2#803003)