> On Jan. 11, 2017, 1:21 p.m., Lei Xu wrote: > > sentry-hdfs/sentry-hdfs-service/src/main/java/org/apache/sentry/hdfs/SentryPlugin.java, > > line 327 > > <https://reviews.apache.org/r/55246/diff/2/?file=1600435#file1600435line327> > > > > Could you explain why here we create a local map, as the content of > > this local map will not be returned to the caller, it seems not have any > > effect? > > > > Btw, what is the line width limitation used in Sentry project?
The logic here is not correct, will fix it. > On Jan. 11, 2017, 1:21 p.m., Lei Xu wrote: > > sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/provider/db/service/persistent/SentryStore.java, > > line 482 > > <https://reviews.apache.org/r/55246/diff/2/?file=1600438#file1600438line482> > > > > Is there any concurrent updates? > > > > Say two updates come at the same time, > > `getLastProcessedPermChangeIdCore(pm)` would return the same `last change > > id`? So that two different updates will be persisted with the same change > > Id? > > > > If we just want to increase change id monotonically, we can just > > increase it within the persistent transaction. There could be concurrent updates. The changeID is a primary key. DB does not allow duplicate entry for that. So the transcation will fail and retry. And note that everything within TransactionBlock is in one transaction. > On Jan. 11, 2017, 1:21 p.m., Lei Xu wrote: > > sentry-hdfs/sentry-hdfs-service/src/main/java/org/apache/sentry/hdfs/SentryPlugin.java, > > line 446 > > <https://reviews.apache.org/r/55246/diff/2/?file=1600435#file1600435line446> > > > > Lets not move this. > > > > Btw, will there be multi-threading access to `isOutOfSync`? should we > > protect it? Sure I can keep it. Wondering why you think it is a bad idea to remove? setOutOfSync is currently not used in anywhere, we may need to refactor this code later. > On Jan. 11, 2017, 1:21 p.m., Lei Xu wrote: > > sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/provider/db/service/persistent/SentryStore.java, > > line 3217 > > <https://reviews.apache.org/r/55246/diff/2/?file=1600438#file1600438line3217> > > > > What would be the return if there is an DB/Network error? If the transaction is not successful, it will retry. And after a certain number stop retries throws exception. > On Jan. 11, 2017, 1:21 p.m., Lei Xu wrote: > > sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/provider/db/service/persistent/SentryStore.java, > > line 3278 > > <https://reviews.apache.org/r/55246/diff/2/?file=1600438#file1600438line3278> > > > > Should'n we re-throw this exception? > > > > Otherwise, the database error is swallowed here. > > > > Btw, my local git repo can not find `MSentryPathChange` class. Is it a > > generated class ? Yeah, make sense. Will change it. MSentryPathChange is just committed by SENTRY-1538. > On Jan. 11, 2017, 1:21 p.m., Lei Xu wrote: > > sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/provider/db/service/persistent/SentryStore.java, > > line 444 > > <https://reviews.apache.org/r/55246/diff/2/?file=1600438#file1600438line444> > > > > If we keep the old signature of the function, and add the new version > > as an override: > > > > ``` > > public void alterSentryRoleGrantPrivilege(String grantorPrincipal, > > String roleName, TSentryPrivilege privilege) throws Exception { > > alterSentryRoleGrantPrivileg(grantorPrinciple, roleName, > > privilege, null); > > } > > ``` > > > > It might be able to reduce the patch size. May I ask is there a limitaion of size of a patch? > On Jan. 11, 2017, 1:21 p.m., Lei Xu wrote: > > sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/provider/db/service/thrift/SentryPolicyStoreProcessor.java, > > line 465 > > <https://reviews.apache.org/r/55246/diff/2/?file=1600439#file1600439line465> > > > > This for loop only keeps the last `update` object? yeah, please note the explanation in TODO. > On Jan. 11, 2017, 1:21 p.m., Lei Xu wrote: > > sentry-provider/sentry-provider-db/src/test/java/org/apache/sentry/provider/db/service/persistent/TestSentryStore.java, > > line 641 > > <https://reviews.apache.org/r/55246/diff/2/?file=1600441#file1600441line641> > > > > What is the impact of putting a `null` as value in the map? It looks > > like that setting `privilegesUpdateMap=null` has the same result. yeah it is the same thing. - Hao ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/55246/#review161215 ----------------------------------------------------------- On Jan. 10, 2017, 2:31 a.m., Hao Hao wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/55246/ > ----------------------------------------------------------- > > (Updated Jan. 10, 2017, 2:31 a.m.) > > > Review request for sentry, Alexander Kolbasov, kalyan kumar kalvagadda, and > Vamsee Yarlagadda. > > > Repository: sentry > > > Description > ------- > > SENTRY-1536: Refactor SentryStore transaction management to allow for extra > transactions for a single permission update > > Change-Id: I0571ca25bd8cc20b137baa5b840542f9ef8e7347 > > To persist single permission change, it needs to combine multiple things in a > single transaction: > 1. Doing the actual operation (priv change) > 2. Updating notification ID. > > All the above steps are put into in a single transaction to guarantee that > notificationID handling is atomic. > > > Diffs > ----- > > > sentry-hdfs/sentry-hdfs-common/src/main/java/org/apache/sentry/hdfs/PathsUpdate.java > 7cfb3bf57bd1a425b07df6c08db31b9691dd17f5 > > sentry-hdfs/sentry-hdfs-common/src/main/java/org/apache/sentry/hdfs/PermissionsUpdate.java > 98349232bc658c39791e58b64949ecb975fff7a0 > > sentry-hdfs/sentry-hdfs-namenode-plugin/src/main/java/org/apache/sentry/hdfs/UpdateableAuthzPermissions.java > 24729282bf17960152f87b1d3124caeafb47e6b2 > > sentry-hdfs/sentry-hdfs-service/src/main/java/org/apache/sentry/hdfs/SentryPlugin.java > 3695709e03e683afe6196def53883e37e4910a1c > > sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/provider/db/SentryPolicyStorePlugin.java > 2ff715f66ea6c2589a281b988438526546af3d3b > > sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/provider/db/generic/service/persistent/DelegateSentryStore.java > e678b575f86cd4797ad01f12e4a60fbeec9f84f5 > > sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/provider/db/service/persistent/SentryStore.java > 8789a48c47e439bc2791cfe5a3b716b586025a7a > > sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/provider/db/service/thrift/SentryPolicyStoreProcessor.java > caa3c58b6d2e5874bea52379b9dd549a76698b9b > > sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/service/thrift/HMSFollower.java > f3cefd6a232bfb91db28f04bebcc98ab3c1ca658 > > sentry-provider/sentry-provider-db/src/test/java/org/apache/sentry/provider/db/service/persistent/TestSentryStore.java > a35c8d7dde485cf46d61968a211d1dbb6d9d6076 > > sentry-provider/sentry-provider-db/src/test/java/org/apache/sentry/provider/db/service/persistent/TestSentryStoreImportExport.java > 1c3a4f29984379f5246da8d85fe661320c8a1043 > > sentry-provider/sentry-provider-db/src/test/java/org/apache/sentry/service/thrift/TestHMSFollower.java > d601b1e107ab3c3a4d9cc5e3038a11547182c5c9 > > Diff: https://reviews.apache.org/r/55246/diff/ > > > Testing > ------- > > New unit tests added in TestHMSFollower. > > > Thanks, > > Hao Hao > >