Hello Tidy Bot, Kudu Jenkins, Adar Dembo, Grant Henke, Volodymyr Verovkin,
I'd like you to reexamine a change. Please visit
http://gerrit.cloudera.org:8080/15161
to look at the new patch set (#7).
Change subject: [clock] introduce time source auto selection
......................................................................
[clock] introduce time source auto selection
This patch introduces a new pseudo time source named 'auto'. When
the --time_source flag is set to 'auto', Kudu masters and tablet
servers automatically select the most appropriate time source for
the hybrid clock (see below for the rationale behind the choice).
* for AWS and GCE cloud environments, the 'builtin' time source is
auto-selected (i.e. the hybrid clock uses the built-in NTP client)
** if --builtin_ntp_client_enable_auto_config flag is set to 'true'
(that's the default), the dedicated NTP server provided by the
environment is used as the reference server for the built-in
NTP client (see AWS/GCE documentation on configuring NTP
for more details)
** if --builtin_ntp_client_enable_auto_config flag is set to
'false', the built-in NTP client is configured to use the set
of NTP servers provided by the --builtin_ntp_servers flag
* for Azure cloud environments, not-yet-supported cloud environments,
and non-cloud VMs/machines, the 'system' time source
is auto-selected (i.e. the hybrid uses NTP-synchronized local clock)
* macOS VMs/machines:
** for High Sierra 10.13 and newer the 'system' time source
is auto-selected
** for releases prior to High Sierra, the 'system_unsync' time
source is auto-selected
As for the rationale behind auto-selecting this or another time source:
* when it's guaranteed to have known set of highly available NTP
servers, using the built-in NTP client in Kudu is the best choice
because it allows to spend zero effort on providing Kudu with
NTP-synchronized time source
* when NTP servers are not known beforehand or their high availability
is not guaranteed, relying on the local NTP-synchronized clock seems
to be the only rational choice, and it's also backward-compatible
Change-Id: If9f2bc94f4a1ad32fe365d4f6f0707913fb476a4
---
M src/kudu/clock/builtin_ntp.cc
M src/kudu/clock/builtin_ntp.h
M src/kudu/clock/hybrid_clock-test.cc
M src/kudu/clock/hybrid_clock.cc
M src/kudu/clock/hybrid_clock.h
5 files changed, 252 insertions(+), 83 deletions(-)
git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/61/15161/7
--
To view, visit http://gerrit.cloudera.org:8080/15161
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings
Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: If9f2bc94f4a1ad32fe365d4f6f0707913fb476a4
Gerrit-Change-Number: 15161
Gerrit-PatchSet: 7
Gerrit-Owner: Alexey Serbin <[email protected]>
Gerrit-Reviewer: Adar Dembo <[email protected]>
Gerrit-Reviewer: Alexey Serbin <[email protected]>
Gerrit-Reviewer: Grant Henke <[email protected]>
Gerrit-Reviewer: Kudu Jenkins (120)
Gerrit-Reviewer: Tidy Bot (241)
Gerrit-Reviewer: Volodymyr Verovkin <[email protected]>