Hao Hao has submitted this change and it was merged. ( http://gerrit.cloudera.org:8080/13510 )
Change subject: hms: allow for tooling to run without Kudu plugin ...................................................................... hms: allow for tooling to run without Kudu plugin Currently, whenever an HMS client successfully connects to the HMS, it checks the various HMS service configurations (e.g. that it is using the Kudu-HMS plugin), returning an error if any are misconfigured. This is important to make it much more obvious when the Kudu Master's HMS synchronization is misconfigured. It is still useful for other HMS clients (e.g. that used by the HMS tooling) to operate on an HMS instance that is not configured with the Kudu-HMS plugin et al. This patch removes the requirement by plumbing the option to the HMS client as a member of ThriftOptions. This was the most straightforward way to plumb this option from the HmsCatalog to the HmsClient, given the templating layered in between them for HA. Besides, we can use this option in the future if we ever want to verify the configuration of Thrift-based clients for other services (e.g. Sentry). This patch additionally allows the -hive_metastore_sasl_enabled flag to be used without the -keytab_file flag if not running kudu-master. To get this behavior, I've moved the gflag validator into master_main.cc, which is not built by tooling. I manually tested that it works, i.e. that tooling will not validate and that a master will. To test, I added an HmsMode that starts the HMS without the Kudu-HMS plugin installed and used it in a couple of HMS tooling tests. I considered reusing the ENABLE_HIVE_METASTORE HmsMode, but opted not to since some tests are greatly simplified by ENABLE_HIVE_METASTORE having the Kudu-HMS plugin installed (e.g. restarting the HMS isn't required to enable the Kudu-HMS integration). Change-Id: I9b9968bf0f8a55859a14421beda05cab3496b6c0 Reviewed-on: http://gerrit.cloudera.org:8080/13510 Tested-by: Kudu Jenkins Reviewed-by: Alexey Serbin <[email protected]> --- M src/kudu/common/common.proto M src/kudu/hms/hms_catalog.cc M src/kudu/hms/hms_catalog.h M src/kudu/hms/hms_client-test.cc M src/kudu/hms/hms_client.cc M src/kudu/hms/hms_client.h M src/kudu/hms/mini_hms.cc M src/kudu/hms/mini_hms.h M src/kudu/master/catalog_manager.cc M src/kudu/master/master.cc M src/kudu/master/master_main.cc M src/kudu/mini-cluster/external_mini_cluster.cc M src/kudu/server/server_base.cc M src/kudu/thrift/client.h M src/kudu/tools/kudu-tool-test.cc 15 files changed, 121 insertions(+), 65 deletions(-) Approvals: Kudu Jenkins: Verified Alexey Serbin: Looks good to me, approved -- To view, visit http://gerrit.cloudera.org:8080/13510 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I9b9968bf0f8a55859a14421beda05cab3496b6c0 Gerrit-Change-Number: 13510 Gerrit-PatchSet: 7 Gerrit-Owner: Andrew Wong <[email protected]> Gerrit-Reviewer: Adar Dembo <[email protected]> Gerrit-Reviewer: Alexey Serbin <[email protected]> Gerrit-Reviewer: Andrew Wong <[email protected]> Gerrit-Reviewer: Grant Henke <[email protected]> Gerrit-Reviewer: Hao Hao <[email protected]> Gerrit-Reviewer: Kudu Jenkins (120)
