Details
-
New Feature
-
Status: Open
-
Major
-
Resolution: Unresolved
-
1.11.0
-
None
Description
It would be nice to add a stripped-down implementation of built-in NTP client without any reliance on the kernel NTP discipline. The built-in client should maintain wall clock synchronized with NTP servers, and calling WalltimeWithError() should return wall clock timestamp with the estimation of error/offset from true time. Having built-in NTP client would provide more control over acceptable clock error and jitter acceptable for HybridTime timestamp generation.
From the operability perspective, it would make it easier to run Kudu in containerized environments and overall make it easier for users to configure NTP even if they don't have superuser privileges at a node.
The very first implementation should be good enough to work with properly configured and well behaving NTP servers, not necessarily being full-featured and 100% RFC-compliant NTP client. Later on, we can add more features and constraints to protect against misbehaving and rogue NTP servers.
Attachments
Issue Links
1.
|
built-in NTP client: implement 'iburst' | Open | Unassigned | |
2.
|
built-in NTP client: implement handling of KoD packets | Open | Unassigned | |
3.
|
built-in NTP client: implement stricter source selection algorithm | Open | Unassigned | |
4.
|
built-in NTP client: measure and apply local clock skew | Open | Unassigned | |
5.
|
built-in NTP client: support crypto authn for NTP packets | Open | Unassigned | |
6.
|
built-in NTP client: sometimes minichronyd fails to start with address already in use | Open | Unassigned | |
7.
|
built-in NTP client: create a mock NTP server | Open | Unassigned |