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]>

Reply via email to