[ https://issues.apache.org/jira/browse/HIVE-2467?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13156234#comment-13156234 ]
jirapos...@reviews.apache.org commented on HIVE-2467: ----------------------------------------------------- bq. On 2011-11-22 02:27:01, Ashutosh Chauhan wrote: bq. > trunk/shims/src/0.20S/java/org/apache/hadoop/hive/thrift/MemoryTokenStore.java, lines 40-46 bq. > <https://reviews.apache.org/r/2721/diff/2/?file=58992#file58992line40> bq. > bq. > If TokenStore is meant to be Configurable, then have a private variable here to hold the conf in setConf() and return that in getConf() Added. It was never meant to implement Configurable, but ReflectionUtils.newInstance(...) does not support constructor injection for conf. bq. On 2011-11-22 02:27:01, Ashutosh Chauhan wrote: bq. > trunk/shims/src/0.20S/java/org/apache/hadoop/hive/thrift/MemoryTokenStore.java, line 33 bq. > <https://reviews.apache.org/r/2721/diff/2/?file=58992#file58992line33> bq. > bq. > Instead of java.util.concurrent.ConcurrentHashMap, use ConcurrentHashMap instead. done bq. On 2011-11-22 02:27:01, Ashutosh Chauhan wrote: bq. > trunk/shims/src/0.20S/java/org/apache/hadoop/hive/thrift/HadoopThriftAuthBridge20S.java, lines 335-343 bq. > <https://reviews.apache.org/r/2721/diff/2/?file=58991#file58991line335> bq. > bq. > For consistency reasons, these should be moved to HiveConf. Also, the other properties which are there in this class. Ideally yes (tried that originally), but the shim cannot depend on HiveConf... Perhaps in the future we can define these as part of Hadoop common security. bq. On 2011-11-22 02:27:01, Ashutosh Chauhan wrote: bq. > trunk/shims/src/0.20S/java/org/apache/hadoop/hive/thrift/TokenStoreDelegationTokenSecretManager.java, line 123 bq. > <https://reviews.apache.org/r/2721/diff/2/?file=58993#file58993line123> bq. > bq. > Either it should return boolean or it should throw Exception. Doing both is confusing. If you want to throw exception, then throw exception on failure and return void, else return false in failure scenario. Token must be removed in all cases if method returns. Exception is for errors, return boolean to indicate status of successful operation. Clarified in java doc. bq. On 2011-11-22 02:27:01, Ashutosh Chauhan wrote: bq. > trunk/shims/src/0.20S/java/org/apache/hadoop/hive/thrift/TokenStoreDelegationTokenSecretManager.java, line 100 bq. > <https://reviews.apache.org/r/2721/diff/2/?file=58993#file58993line100> bq. > bq. > Interface method needs javadoc. done bq. On 2011-11-22 02:27:01, Ashutosh Chauhan wrote: bq. > trunk/shims/src/0.20S/java/org/apache/hadoop/hive/thrift/TokenStoreDelegationTokenSecretManager.java, line 184 bq. > <https://reviews.apache.org/r/2721/diff/2/?file=58993#file58993line184> bq. > bq. > Fully qualified classname. done bq. On 2011-11-22 02:27:01, Ashutosh Chauhan wrote: bq. > trunk/shims/src/0.20S/java/org/apache/hadoop/hive/thrift/ZooKeeperTokenStore.java, lines 49-50 bq. > <https://reviews.apache.org/r/2721/diff/2/?file=58994#file58994line49> bq. > bq. > Should these come from hiveConf, so they are externally configurable? these are relative paths, the root is already configurable, added comment in code bq. On 2011-11-22 02:27:01, Ashutosh Chauhan wrote: bq. > trunk/shims/src/test/org/apache/hadoop/hive/thrift/TestHadoop20SAuthBridge.java, line 1 bq. > <https://reviews.apache.org/r/2721/diff/2/?file=58996#file58996line1> bq. > bq. > One way to test HA is to start two metastore processes in two different threads configure to use ZK token store and then do operation on first kill it and then do operation on second one and then have it succeeds. If thats not straight forward, may be we can take that up in separate ticket. That's what I'm doing as integration test (this type of thing is really e2e (launching multiple servers), not unit testing). We should have the pieces reasonably covered in unit tests though. The added test covers DelegationTokenManager with token store interaction, the existing test case does the full path through the auth bridge. bq. On 2011-11-22 02:27:01, Ashutosh Chauhan wrote: bq. > trunk/shims/src/0.20S/java/org/apache/hadoop/hive/thrift/ZooKeeperTokenStore.java, lines 137-152 bq. > <https://reviews.apache.org/r/2721/diff/2/?file=58994#file58994line137> bq. > bq. > Contract of configurable is to return conf in getConf(), so you must store it in a private variable and return it. ditto MemoryTokenStore bq. On 2011-11-22 02:27:01, Ashutosh Chauhan wrote: bq. > trunk/shims/src/test/org/apache/hadoop/hive/thrift/TestHadoop20SAuthBridge.java, line 86 bq. > <https://reviews.apache.org/r/2721/diff/2/?file=58996#file58996line86> bq. > bq. > Get rid of commented code. made this controllable via system property - Thomas ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/2721/#review3417 ----------------------------------------------------------- On 2011-11-23 19:55:34, Thomas wrote: bq. bq. ----------------------------------------------------------- bq. This is an automatically generated e-mail. To reply, visit: bq. https://reviews.apache.org/r/2721/ bq. ----------------------------------------------------------- bq. bq. (Updated 2011-11-23 19:55:34) bq. bq. bq. Review request for Carl Steinbach, Ashutosh Chauhan and Devaraj Das. bq. bq. bq. Summary bq. ------- bq. bq. https://issues.apache.org/jira/browse/HIVE-2467 bq. bq. bq. This addresses bug HIVE-2467. bq. https://issues.apache.org/jira/browse/HIVE-2467 bq. bq. bq. Diffs bq. ----- bq. bq. trunk/shims/ivy.xml 1205535 bq. trunk/shims/src/0.20S/java/org/apache/hadoop/hive/thrift/DelegationTokenStore.java PRE-CREATION bq. trunk/shims/src/0.20S/java/org/apache/hadoop/hive/thrift/HadoopThriftAuthBridge20S.java 1205535 bq. trunk/shims/src/0.20S/java/org/apache/hadoop/hive/thrift/MemoryTokenStore.java PRE-CREATION bq. trunk/shims/src/0.20S/java/org/apache/hadoop/hive/thrift/TokenStoreDelegationTokenSecretManager.java PRE-CREATION bq. trunk/shims/src/0.20S/java/org/apache/hadoop/hive/thrift/ZooKeeperTokenStore.java PRE-CREATION bq. trunk/shims/src/0.20S/java/org/apache/hadoop/security/token/delegation/HiveDelegationTokenSupport.java PRE-CREATION bq. trunk/shims/src/test/org/apache/hadoop/hive/thrift/TestHadoop20SAuthBridge.java 1205535 bq. bq. Diff: https://reviews.apache.org/r/2721/diff bq. bq. bq. Testing bq. ------- bq. bq. unit test added, ant clean package test - passed bq. bq. bq. Thanks, bq. bq. Thomas bq. bq. > HA Support for Metastore Server > -------------------------------- > > Key: HIVE-2467 > URL: https://issues.apache.org/jira/browse/HIVE-2467 > Project: Hive > Issue Type: Improvement > Components: Metastore, Security, Server Infrastructure > Affects Versions: 0.8.0, 0.9.0 > Reporter: Thomas Weise > Assignee: Thomas Weise > Fix For: 0.9.0 > > Attachments: HIVE-2467.2.patch, HIVE-2467.patch > > > We require HA deployment for metastore server for HCatalog: > * Multiple server instances run behind VIP > * Database provides HA > Metastore server instances will need to be able to share any state required > for VIP outside RDBMS. As of Hive 0.8 affected conversational state that > needs to support VIP/HA setup is limited to current delegation tokens. Is > this correct? > We are planning to use ZooKeeper to share current delegation tokens and > master keys between nodes of the VIP. ZK is already (optionally) used by Hive > for concurrency control. Access to ZK would be limited on the network level > or in the future, when ZooKeeper supports security, through Kerberos, similar > to NN access. > Currently Hive taps into Hadoop core security delegation token support > through extension of > org.apache.hadoop.security.token.delegation.AbstractDelegationTokenSecretManager<TokenIdent> > A solution could amend the Hive specific extension to support: > * Pluggable delegation token and master key store (ZooKeeper as alternative > for in-memory AbstractDelegationTokenSecretManager) > * Delegation token retrieval from token store when not found in memory > (wrap/extend retrievePassword(...)) > * Cancellation of token in token store > * Purging of expired tokens from token store > http://www.mail-archive.com/hcatalog-user@incubator.apache.org/msg00053.html -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira