Uploaded image for project: 'Kudu'
  1. Kudu
  2. KUDU-2935 Implement built-in NTP client
  3. KUDU-2939

built-in NTP client: implement stricter source selection algorithm

    XMLWordPrintableJSON

Details

    • Sub-task
    • Status: Open
    • Major
    • Resolution: Unresolved
    • None
    • None
    • ntp-client

    Description

      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.

      Attachments

        Activity

          People

            Unassigned Unassigned
            aserbin Alexey Serbin
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: