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

Reply via email to