Dan Burkert has uploaded this change for review. ( 
http://gerrit.cloudera.org:8080/8312


Change subject: KUDU-2191 (4/n): WIP: Hive Metastore catalog manager integration
......................................................................

KUDU-2191 (4/n): WIP: Hive Metastore catalog manager integration

This commit adds a basic integration with the Hive Metastore, which can
be enabled with a new flag: 'hive-metastore-addresses'. When the flag is
provided, the Master will push DDL changes in its catalog to the Hive
Metastore. In particular:

- Create table, delete table, and alter table operations in the Kudu
  master will synchronously update the corresponding entry in the HMS.

- New table and column names are required to be valid according to the
  Hive identifier rules, which are much stricter than Kudu's native
  identifier rules.

WIP: This patch doesn't yet have sufficient error handling logic, nor
test coverage of errors.  Here are the test cases I intend to add to
master_hms-itest before this is committed:

- Rename a Kudu table to a new name which already has an entry in the HMS
  (should fail).
- Rename a Kudu table when the original name doesn't have an entry in
  the HMS (should create an entry with the new name).
- Rename a Kudu table when the HMS is unreachable (should fail).
- Create a Kudu table with a name which already exists in the HMS
  (should fail).
- Create a Kudu table when the HMS is unreachable (should fail).
- Drop a Kudu table when the corresponding entry in the HMS does not
  exist (should succeed).
- Drop a Kudu table when the HMS is unreachable (should fail?).

Additionally, this patch as written overwrites the entire HMS table
entry during table rename operations. This is bad because it will wipe
out any stats that query engines like Impala have attached to the table.

Change-Id: I1b8f360408b05d6ac4f7359a8ac0dd889b196baf
---
M src/kudu/integration-tests/CMakeLists.txt
A src/kudu/integration-tests/master_hms-itest.cc
M src/kudu/master/CMakeLists.txt
M src/kudu/master/catalog_manager.cc
M src/kudu/master/catalog_manager.h
A src/kudu/master/hms_catalog.cc
A src/kudu/master/hms_catalog.h
M src/kudu/master/master.proto
M src/kudu/mini-cluster/external_mini_cluster.cc
M src/kudu/util/net/net_util.cc
M src/kudu/util/net/net_util.h
11 files changed, 664 insertions(+), 0 deletions(-)



  git pull ssh://gerrit.cloudera.org:29418/kudu refs/changes/12/8312/1
--
To view, visit http://gerrit.cloudera.org:8080/8312
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: kudu
Gerrit-Branch: master
Gerrit-MessageType: newchange
Gerrit-Change-Id: I1b8f360408b05d6ac4f7359a8ac0dd889b196baf
Gerrit-Change-Number: 8312
Gerrit-PatchSet: 1
Gerrit-Owner: Dan Burkert <danburk...@apache.org>

Reply via email to