> On 二月 2, 2015, 4:02 p.m., Lenni Kuff wrote:
> > I think this looks much better, thanks. A few comments below. The use of 
> > reflection/Proxy classes makes the code a bit harder to follow, so if you 
> > could add a few comments on that it might be helpeful. I understand why 
> > it's useful here though.

Thank you for your suggestion, I will add the comments in next patch.


> On 二月 2, 2015, 4:02 p.m., Lenni Kuff wrote:
> > sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/service/thrift/HAClientInvocationHandler.java,
> >  line 100
> > <https://reviews.apache.org/r/30363/diff/1/?file=838784#file838784line100>
> >
> >     spelling avaible

Thank you for your suggestion, I will fix it in next patch.


> On 二月 2, 2015, 4:02 p.m., Lenni Kuff wrote:
> > sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/service/thrift/SentryClientInvocationHandler.java,
> >  line 31
> > <https://reviews.apache.org/r/30363/diff/1/?file=838786#file838786line31>
> >
> >     why would you want to call a method that's not accessible?

Thank you for your suggestion, I will fix it in next patch.


> On 二月 2, 2015, 4:02 p.m., Lenni Kuff wrote:
> > sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/provider/db/service/thrift/SentryPolicyServiceBaseClient.java,
> >  line 23
> > <https://reviews.apache.org/r/30363/diff/1/?file=838782#file838782line23>
> >
> >     Why do we need this interface? All it does is add the "close()" method. 
> > Can you just add "close()" to the SentryPolicyServiceClient interface?

Hi Lenni, currently we have two kinds of client. one is 
**SentryPolicyServiceClient**, another is **SentryGenericServiceClient**, it's 
better to have a common interface for client, so that we can handle the HA or 
pool in a single InvovationHandler.If you think the change should not be added 
at here, I will remove it.


> On 二月 2, 2015, 4:02 p.m., Lenni Kuff wrote:
> > sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/service/thrift/HAClientInvocationHandler.java,
> >  line 107
> > <https://reviews.apache.org/r/30363/diff/1/?file=838784#file838784line107>
> >
> >     why are you setting HA_ENABLED = false?

**ClientFactory.create()** have some hierarchies, likes 
**DefaultClient->HAProxy->PooledProxy**, **DefaultClient->PooledProxy** or 
**DefaultClient->HAProxy**. When the code proceeds to here, HA flag in the 
configuration must be true, if we don't set to false here, it will cause a 
problem of endless loop.


> On 二月 2, 2015, 4:02 p.m., Lenni Kuff wrote:
> > sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/service/thrift/SentryClientInvocationHandler.java,
> >  line 33
> > <https://reviews.apache.org/r/30363/diff/1/?file=838786#file838786line33>
> >
> >     Should you add a Preconditions check here to verify that the "close" 
> > method doesn't is a version that takes no params?

Thank you for your suggestion, I will fix it in next patch.


> On 二月 2, 2015, 4:02 p.m., Lenni Kuff wrote:
> > sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/service/thrift/SentryServiceClientPoolFactory.java,
> >  line 47
> > <https://reviews.apache.org/r/30363/diff/1/?file=838788#file838788line47>
> >
> >     Why are you setting this to false here?

**ClientFactory.create()** have some hierarchies, likes 
**DefaultClient->HAProxy->PooledProxy**, **DefaultClient->PooledProxy** or 
**DefaultClient->HAProxy**. When the code proceeds to here, HA flag in the 
configuration must be true, if we don't set to false here, it will cause a 
problem of endless loop.


- Dapeng


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


On 一月 28, 2015, 9:55 p.m., Dapeng Sun wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/30363/
> -----------------------------------------------------------
> 
> (Updated 一月 28, 2015, 9:55 p.m.)
> 
> 
> Review request for sentry and Lenni Kuff.
> 
> 
> Bugs: SENTRY-296
>     https://issues.apache.org/jira/browse/SENTRY-296
> 
> 
> Repository: sentry
> 
> 
> Description
> -------
> 
> Since the change in **SENTRY-600 Refactor sentry client factory for "high 
> availability" and "connection pool"** is too complicated, I refactor this 
> part, this review request also merge **SENTRY-601 Create connection pool 
> factory**
> 
> I think this patch might minimized the code change
> * Kept the method **public static SentryPolicyServiceClient 
> create(Configuration conf) throws Exception**
> * Add **Generic Type** support to HAClientInvocationHandler and 
> PoolClientInvocationHandler, it will make integration with other client more 
> easily
> * Put **Connection pool instance** into PoolInvocationHandler, it will make 
> Client connection can be pooled.
> 
> 
> Diffs
> -----
> 
>   pom.xml 60a9f4a 
>   sentry-provider/sentry-provider-db/pom.xml 6116cd5 
>   
> sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/provider/db/service/thrift/SentryPolicyServiceBaseClient.java
>  PRE-CREATION 
>   
> sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/provider/db/service/thrift/SentryPolicyServiceClient.java
>  962228f 
>   
> sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/service/thrift/HAClientInvocationHandler.java
>  c6e265f 
>   
> sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/service/thrift/PoolClientInvocationHandler.java
>  PRE-CREATION 
>   
> sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/service/thrift/SentryClientInvocationHandler.java
>  PRE-CREATION 
>   
> sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/service/thrift/SentryServiceClientFactory.java
>  574f23c 
>   
> sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/service/thrift/SentryServiceClientPoolFactory.java
>  PRE-CREATION 
>   
> sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/service/thrift/ServiceConstants.java
>  ddc5930 
>   
> sentry-provider/sentry-provider-db/src/test/java/org/apache/sentry/provider/db/service/thrift/TestSentryServerForPoolHAWithoutKerberos.java
>  PRE-CREATION 
>   
> sentry-provider/sentry-provider-db/src/test/java/org/apache/sentry/provider/db/service/thrift/TestSentryServerForPoolWithoutKerberos.java
>  PRE-CREATION 
>   
> sentry-provider/sentry-provider-db/src/test/java/org/apache/sentry/provider/db/service/thrift/TestSentryServiceClientPool.java
>  PRE-CREATION 
>   
> sentry-provider/sentry-provider-db/src/test/java/org/apache/sentry/provider/db/service/thrift/TestSentryServiceForPoolHAWithKerberos.java
>  PRE-CREATION 
>   
> sentry-provider/sentry-provider-db/src/test/java/org/apache/sentry/provider/db/service/thrift/TestSentryServiceForPoolWithKerberos.java
>  PRE-CREATION 
>   
> sentry-provider/sentry-provider-db/src/test/java/org/apache/sentry/service/thrift/SentryServiceIntegrationBase.java
>  ca64ce1 
> 
> Diff: https://reviews.apache.org/r/30363/diff/
> 
> 
> Testing
> -------
> 
> Unit Tests passed
> 
> 
> Thanks,
> 
> Dapeng Sun
> 
>

Reply via email to