----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/30363/#review78464 -----------------------------------------------------------
At high level, the implementation seems to be creating a pool per client. For example, each Hive session will have it's own pool. Is that how we intended the pooling to work ? or should the pool factory be static and all hive or other Sentry clients sessions can share the pool ? The patch itself look fine. A few comments below. sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/service/thrift/PoolClientInvocationHandler.java <https://reviews.apache.org/r/30363/#comment127214> Are we sure that TargetException can always be converted to SentryUserException ? Would it be better to wrapp it in SentryUserException instead ? sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/service/thrift/PoolClientInvocationHandler.java <https://reviews.apache.org/r/30363/#comment127215> In case of exception in the above try block, the original exception will be lost. Would it be better to throw the original exception and not the one from returnObject() ? - Prasad Mujumdar On Feb. 10, 2015, 1:33 a.m., Dapeng Sun wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/30363/ > ----------------------------------------------------------- > > (Updated Feb. 10, 2015, 1:33 a.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/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 > >
