-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/62453/
-----------------------------------------------------------
Review request for hive, Aihua Xu, Alan Gates, and Thejas Nair.
Bugs: HIVE-17371
https://issues.apache.org/jira/browse/HIVE-17371
Repository: hive-git
Description
-------
HIVE-17371 : Move tokenstores to metastore module
I think it makes more sense to move the tokenstore implementations to metastore
instead of having two copies of each in Hive and metastore. The TokenManager
and SecretManager classes can be kept as is to each consuming applications like
HS2 or Metastore itself so that future modifications can be done independently.
Here is the approach I followed.
1. Moved the HiveDelegationTokenManager and
TokenStoreDelegationTokenSecretManager from shims-common to service module
since Metastore anyways has its own copy of TokenManager and Metastore cannot
have a dependency on shims-common.
2. Moved the MemoryTokenStore, ZooKeeperTokenStore and DBTokenStore to
standalone-metastore module. In order for these tokenstores to be consumable
for multiple applications like HS2 and Metastore (and hopefully other
applications in the future) we need to operate of higher level abstraction of
AbstractDelegationTokenIdentifier and DelegationTokenInformation.
3. Each application can define its DelegationTokenIndentifier like Hive already
does in DelegationTokenIdentifier (may be we should rename this to
HiveDelegationTokenIdentifier to make it more explicit. Similarly, metastore
has its own implementation of DelegationTokenIdentifier in
DelegationTokenIdentifier (again we should rename it possibly to say
MetastoreDelegationTokenIndentifier)
4. Modified the shims-common classes of DelegationTokenSecretManager and
DelegationTokenStore to operate on hadoop level abstractions instead of Hive
defined ones.
Diffs
-----
itests/hive-minikdc/src/test/java/org/apache/hive/minikdc/TestHiveAuthFactory.java
e3a51909df14d90a538426163f332a6378f35f40
itests/hive-minikdc/src/test/java/org/apache/hive/minikdc/TestJdbcWithDBTokenStore.java
d690aaa673a50785561750f4f461ec867b6f0abc
itests/hive-unit-hadoop2/src/test/java/org/apache/hadoop/hive/metastore/security/TestHadoopAuthBridge23.java
ef360400a1873ab142cb9cbdce045cbed394af0e
itests/hive-unit/src/test/java/org/apache/hadoop/hive/thrift/TestDBTokenStore.java
4bfa22419cb1ea5abe56773c1c76186b01996e03
itests/hive-unit/src/test/java/org/apache/hadoop/hive/thrift/TestZooKeeperTokenStore.java
7800416a60239246e96497229d592736f2a9d79d
metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java
cf33cca24ffc7583f2be62bb79815b5e43b2ff42
service/src/java/org/apache/hive/service/auth/HiveAuthFactory.java
541fe5ec8da9ba66ac44c65e6fe0dcd3c601943f
shims/common/src/main/java/org/apache/hadoop/hive/shims/Utils.java
3c93186082ae363497dc94ca1303db4f746fd8b5
shims/common/src/main/java/org/apache/hadoop/hive/thrift/DBTokenStore.java
d6dc0796e77591d3afca8dbd29c3aa0eff255dd0
shims/common/src/main/java/org/apache/hadoop/hive/thrift/DelegationTokenSecretManager.java
5299e18743aa45c539287b335f95e8ce8df0fc35
shims/common/src/main/java/org/apache/hadoop/hive/thrift/DelegationTokenStore.java
867b4ed98859f681770fccfe7478ab519c823924
shims/common/src/main/java/org/apache/hadoop/hive/thrift/HadoopThriftAuthBridge.java
6c8b362270e48cb5641d77b09f1a19d875df0cbb
shims/common/src/main/java/org/apache/hadoop/hive/thrift/HiveDelegationTokenManager.java
b3e4a7608282be603e79d1d101679e239a5219b0
shims/common/src/main/java/org/apache/hadoop/hive/thrift/MemoryTokenStore.java
9d837b8fa19ed53546c4a95944484cc1f06a21e6
shims/common/src/main/java/org/apache/hadoop/hive/thrift/TokenStoreDelegationTokenSecretManager.java
4719b85e8d2f9045ae61e0e86c6624b865aa2653
shims/common/src/main/java/org/apache/hadoop/hive/thrift/ZooKeeperTokenStore.java
885ec56d543e1c46e74dc148c73f249803b7604c
standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/security/DelegationTokenStore.java
0cafeff89614c94ba551a5f1ba9c4d892ee5720a
standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/security/MemoryTokenStore.java
c484cd3132d08c8c0493fa98e79fa449e84ef9b8
standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/security/MetastoreDelegationTokenManager.java
2b0110fe0badcb571144067539031fb6ac81276b
standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/security/TokenStoreDelegationTokenSecretManager.java
4abcec789476982389b3c0bc34d4990c59dbf9da
standalone-metastore/src/main/java/org/apache/hadoop/hive/metastore/utils/SecurityUtils.java
9f0ca829b1e3a469a3275c54a74d90278fc030fa
Diff: https://reviews.apache.org/r/62453/diff/1/
Testing
-------
HiveQA
Thanks,
Vihang Karajgaonkar