> On May 16, 2017, 6:32 p.m., Vamsee Yarlagadda wrote:
> > sentry-core/sentry-core-common/src/main/java/org/apache/sentry/core/common/transport/SentryTransportFactory.java
> > Lines 77-79 (original)
> > <https://reviews.apache.org/r/59317/diff/1/?file=1721744#file1721744line77>
> >
> >     I think it is not a good idea to remove this section. This patch 
> > handles it well for Generic clients but for HDFS and Policy client the 
> > behavior is unexpected. 
> >     
> >     The reason why we are getting the right UGI for HDFS, Hive is that 
> > their codebases are doing some UGI related stuff before starting the Sentry 
> > client connection and that is why we are getting that context for free. And 
> > Hive, HDFS logic of setting UGI is not aware that a sentry client is 
> > depenedent on it. In future, if they restructure code it is very likely 
> > that they will break us and a more diffucult problem would be to debug this 
> > and fix it. So i would rather suggest the client do all the things (setting 
> > UGI) it needs so that these long chain of dependencies could be avoided.
> 
> kalyan kumar kalvagadda wrote:
>     From what I understand, In hadoop if one component wants to talk to other 
> component securely using kerberos, source component should call 
> UserGroupInformation.setConfiguration(conf); before calling the thift client 
> of destination component. setConfiguration would update the static data in 
> class UserGroupInformation so that appropriate information is avaialble when 
> UserGroupInformation is instantiated. I have checked Hive, sentry code to 
> confirm the behavior. 
>     
>     For generic clients, things are done differently as the configuraion 
> provided to sentry doesn't have HADOOP_SECURITY_AUTHENTICATION propery. 
> Sentry generic policy client updates the configuration and performs 
> setConfiguration explicitly.
>     
>     
>     If sentry client calls setConfiguration on UserGroupInformation for every 
> client, this update would have impact on other secured connections that 
> source component initiates. I'm sure if we should be doing it. If you are 
> sure of it, i will update the patch.
> 
> Vamsee Yarlagadda wrote:
>     I understand your argument but IMO from the debugging perspective, it is 
> good that the client does all the things it needs for proper execution rather 
> than assuming some other precursor process would take care of it. 
>     
>     bq. this update would have impact on other secured connections that 
> source component initiates.
>     I doubt that it does given that it is the same conf being used for all 
> invocations. 
>     
>     I am also ok with the proposed solution provided we give a good set of 
> comments before we call the loginUser() that the sentry client assumes UGI 
> has been set properly before the line gets executed.

Are you saying that you are fine if a comment is added in sentry client 
implimentation before getLoginUser() method invocation?


- kalyan kumar


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/59317/#review175135
-----------------------------------------------------------


On May 16, 2017, 6:21 p.m., kalyan kumar kalvagadda wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/59317/
> -----------------------------------------------------------
> 
> (Updated May 16, 2017, 6:21 p.m.)
> 
> 
> Review request for sentry, Alexander Kolbasov, Brian Towles, Hao Hao, Na Li, 
> Sergio Pena, Vamsee Yarlagadda, and Vadim Spector.
> 
> 
> Bugs: SENTRY-1736
>     https://issues.apache.org/jira/browse/SENTRY-1736
> 
> 
> Repository: sentry
> 
> 
> Description
> -------
> 
> As part of SENTRY-1593, code in SentryGenericServiceClientDefaultImpl which 
> set HADOOP_SECURITY_AUTHENTICATION property and update UserGroupInformation 
> class is missed.
> 
> 
> Diffs
> -----
> 
>   
> sentry-core/sentry-core-common/src/main/java/org/apache/sentry/core/common/transport/SentryTransportFactory.java
>  9b9f9e8 
>   
> sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/provider/db/generic/service/thrift/SentryGenericServiceClientDefaultImpl.java
>  b7ac640 
> 
> 
> Diff: https://reviews.apache.org/r/59317/diff/1/
> 
> 
> Testing
> -------
> 
> Made sure that Solr client is able to talk to sentry with kerberos enabled.
> 
> 
> Thanks,
> 
> kalyan kumar kalvagadda
> 
>

Reply via email to