> On July 23, 2013, 9:48 p.m., Thejas Nair wrote: > > jdbc/src/java/org/apache/hive/jdbc/HiveConnection.java, line 142 > > <https://reviews.apache.org/r/12824/diff/1/?file=324969#file324969line142> > > > > the HIVE_AUTH_TYPE env variable is called "auth". > > Should we use something more descriptive like "sasl.qop" as the > > variable that sets the QOP level. > > > > Arup Malakar wrote: > I am totally agree that a different key name should be used for qop > settings. As the current HIVE_AUTH_TYPE configuration key is overloaded. > Original idea was to clean up the configuration keys which is being taken > care of in: https://issues.apache.org/jira/browse/HIVE-4232. Once the auth > params are taken care of, I had plans of introducing a new parameter called > qop which would be used to configure the QoP alone. But since HIVE-4232 is > not yet committed, I ended up using the HIVE_AUTH_TYPE. I can rebase if > HIVE-4232 goes in.
I am totally agree that a different key name should be used for qop settings. As the current HIVE_AUTH_TYPE configuration key is overloaded. Original idea was to clean up the configuration keys which is being taken care of in: https://issues.apache.org/jira/browse/HIVE-4232. Once the auth params are taken care of, I had plans of introducing a new parameter called qop which would be used to configure the QoP alone. But since HIVE-4232 is not yet committed, I ended up using the HIVE_AUTH_TYPE. I can rebase if HIVE-4232 goes in. > On July 23, 2013, 9:48 p.m., Thejas Nair wrote: > > jdbc/src/java/org/apache/hive/jdbc/HiveConnection.java, line 142 > > <https://reviews.apache.org/r/12824/diff/1/?file=324969#file324969line142> > > > > the HIVE_AUTH_TYPE env variable is called "auth". > > Should we use something more descriptive like "sasl.qop" as the > > variable that sets the QOP level. > > > > Arup Malakar wrote: > I am totally agree that a different key name should be used for qop > settings. As the current HIVE_AUTH_TYPE configuration key is overloaded. > Original idea was to clean up the configuration keys which is being taken > care of in: https://issues.apache.org/jira/browse/HIVE-4232. Once the auth > params are taken care of, I had plans of introducing a new parameter called > qop which would be used to configure the QoP alone. But since HIVE-4232 is > not yet committed, I ended up using the HIVE_AUTH_TYPE. I can rebase if > HIVE-4232 goes in. I am totally agree that a different key name should be used for qop settings. As the current HIVE_AUTH_TYPE configuration key is overloaded. Original idea was to clean up the configuration keys which is being taken care of in: https://issues.apache.org/jira/browse/HIVE-4232. Once the auth params are taken care of, I had plans of introducing a new parameter called qop which would be used to configure the QoP alone. But since HIVE-4232 is not yet committed, I ended up using the HIVE_AUTH_TYPE. I can rebase if HIVE-4232 goes in. > On July 23, 2013, 9:48 p.m., Thejas Nair wrote: > > shims/src/common-secure/java/org/apache/hadoop/hive/thrift/HadoopThriftAuthBridge20S.java, > > line 111 > > <https://reviews.apache.org/r/12824/diff/1/?file=324973#file324973line111> > > > > This function is called from hive metastore client. Using > > SaslRpcServer.SASL_PROPS here means that setting hadoop.rpc.protection will > > determine the QOP level, if we make a call to SaslRpcServer.init(conf) from > > anywhere in the code. But that function is not being called. > > > > I think it makes sense to use hadoop.rpc.protection for metastore QOP, > > since metastore usually not exposed 'outside' the cluster unlike hive > > server2. It is often viewed as something 'inside the cluster'. > > > > Should we change this function to take in a configuration object and > > use that to call SaslRpcServer.init(conf) ? The current createClientTransport method (without this patch) uses SaslRpcServer.SASL_PROPS too, but it doesn't call SaslRpcServer.init(conf) so I assumed SaslRpcServer.init(conf) is being called before reaching this method. But looking at https://issues.apache.org/jira/browse/HIVE-4232 I realized that this is indeed a bug in current code. Rather than doing init() in createTransportFactory() and createClientTransport() I removed the default method that uses SaslRpcServer.SASL_PROPS. Both these methods now only takes Map<String, String>. In case of both metastore client/server the code gets the Sasl propeties from MetaStoreUtils.getMetaStoreSaslProperties(conf) and passes it to the methods in HadoopThriftAuthBridge20S. Reasons: 1. We could remove the redundant methods that defaults to SaslRpcServer.SASL_PROPS 2. Changing meta store to use different configuration can be easily accomplished by modifying in only one place MetaStoreUtils.getMetaStoreSaslProperties(conf) Let me know what you think of it. I have a question though, is it okay to access SaslRpcSercer.SASL_PROPS from MetaStoreUtils class, I mean compiling with hadoop 20 wise? - Arup ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/12824/#review23711 ----------------------------------------------------------- On July 24, 2013, 4:43 p.m., Arup Malakar wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/12824/ > ----------------------------------------------------------- > > (Updated July 24, 2013, 4:43 p.m.) > > > Review request for hive. > > > Bugs: HIVE-4911 > https://issues.apache.org/jira/browse/HIVE-4911 > > > Repository: hive-git > > > Description > ------- > > The QoP for hive server 2 should be configurable to enable encryption. A new > configuration should be exposed "hive.server2.thrift.rpc.protection". This > would give greater control configuring hive server 2 service. > > > Diffs > ----- > > common/src/java/org/apache/hadoop/hive/conf/HiveConf.java > 11c31216495d0c4e454f2627af5c93a9f270b1fe > conf/hive-default.xml.template 603b475802152a4bd5ab92a4c7146b56f6be020d > jdbc/src/java/org/apache/hive/jdbc/HiveConnection.java > 00f43511b478c687b7811fc8ad66af2b507a3626 > metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStore.java > 72eac989394a3899998e52d3845b02bb38ebeaad > > metastore/src/java/org/apache/hadoop/hive/metastore/HiveMetaStoreClient.java > cef50f40ccb047a8135f704b2997968a2cf477b8 > metastore/src/java/org/apache/hadoop/hive/metastore/MetaStoreUtils.java > 88151a1d48b12cf3a8346ae94b6d1a182a331992 > service/src/java/org/apache/hive/service/auth/HiveAuthFactory.java > 1809e1b26ceee5de14a354a0e499aa8c0ab793bf > service/src/java/org/apache/hive/service/auth/KerberosSaslHelper.java > 379dafb8377aed55e74f0ae18407996bb9e1216f > service/src/java/org/apache/hive/service/auth/SaslQOP.java PRE-CREATION > > shims/src/common-secure/java/org/apache/hadoop/hive/thrift/HadoopThriftAuthBridge20S.java > 777226f8da0af2235d4294cd6a676fa8192c89e4 > > shims/src/common/java/org/apache/hadoop/hive/thrift/HadoopThriftAuthBridge.java > 9b0ec0a75563b41339e6fc747556440fdf83e31e > > Diff: https://reviews.apache.org/r/12824/diff/ > > > Testing > ------- > > > Thanks, > > Arup Malakar > >