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)

Reply via email to