You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sentry.apache.org by Sun Dapeng <da...@intel.com> on 2014/09/24 04:40:42 UTC

Review Request 25982: SENTRY-458 Enable optimistic locking for SENTRY high availability

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

Review request for sentry, Arun Suresh, Prasad Mujumdar, and Sravya Tirukkovalur.


Bugs: SENTRY-458
    https://issues.apache.org/jira/browse/SENTRY-458


Repository: sentry


Description
-------

JDO has lock mechanism, as HA design doc [SENTRY-427 SENTRY High Availability](https://issues.apache.org/jira/browse/SENTRY-427) has discuss , we use **optimistic lock** in HA mode, the patch will enable it
* the code changed in **SentryStore** and **MSentryPrivilege** will make sure version auto-increment per operation, (Quote the design doc: Privilege and Role is M-N relationship, the grant/revoke will do add/remove in Role_Privilege_MAP, the version should be added to Role_Privilege_MAP, but currently we use jdo auto-generate the Role_Privilege_MAP, so the version could only be added to Role.)
* Add **version** in **package.jdo**
* Add **@VisibleForTesting CommitContext alterSentryRoleGrantPrivilege(String grantorPrincipal, MSentryRole mRole, TSentryPrivilege privilege) throws SentryUserException** for test, it will help reproduce makePersistent a lower version MSentryRole and get a **JDOOptimisticVerificationException**


Diffs
-----

  sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/provider/db/service/model/MSentryPrivilege.java 0667cb5 
  sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/provider/db/service/model/package.jdo 9abaab8 
  sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/provider/db/service/persistent/SentryStore.java 1bf3faf 
  sentry-provider/sentry-provider-db/src/test/java/org/apache/sentry/provider/db/service/persistent/TestHASentryStore.java PRE-CREATION 
  sentry-provider/sentry-provider-db/src/test/java/org/apache/sentry/provider/db/service/persistent/TestSentryStore.java befecf4 

Diff: https://reviews.apache.org/r/25982/diff/


Testing
-------

Unit Tests in local


Thanks,

Sun Dapeng


Re: Review Request 25982: SENTRY-458 Enable optimistic locking for SENTRY high availability

Posted by Sun Dapeng <da...@intel.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/25982/
-----------------------------------------------------------

(Updated 十月 9, 2014, 1:48 p.m.)


Review request for sentry, Arun Suresh, Lenni Kuff, Prasad Mujumdar, and Sravya Tirukkovalur.


Changes
-------

Add Lenni.


Bugs: SENTRY-458
    https://issues.apache.org/jira/browse/SENTRY-458


Repository: sentry


Description
-------

JDO has lock mechanism, as HA design doc [SENTRY-427 SENTRY High Availability](https://issues.apache.org/jira/browse/SENTRY-427) has discuss , we use **optimistic lock** in HA mode, the patch will enable it
* the code changed in **SentryStore** and **MSentryPrivilege** will make sure version auto-increment per operation, (Quote the design doc: Privilege and Role is M-N relationship, the grant/revoke will do add/remove in Role_Privilege_MAP, the version should be added to Role_Privilege_MAP, but currently we use jdo auto-generate the Role_Privilege_MAP, so the version could only be added to Role.)
* Add **version** in **package.jdo**
* Add **@VisibleForTesting CommitContext alterSentryRoleGrantPrivilege(String grantorPrincipal, MSentryRole mRole, TSentryPrivilege privilege) throws SentryUserException** for test, it will help reproduce makePersistent a lower version MSentryRole and get a **JDOOptimisticVerificationException**


Diffs
-----

  sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/provider/db/service/model/MSentryPrivilege.java 0667cb5 
  sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/provider/db/service/model/package.jdo 9abaab8 
  sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/provider/db/service/persistent/SentryStore.java 1bf3faf 
  sentry-provider/sentry-provider-db/src/test/java/org/apache/sentry/provider/db/service/persistent/TestHASentryStore.java PRE-CREATION 
  sentry-provider/sentry-provider-db/src/test/java/org/apache/sentry/provider/db/service/persistent/TestSentryStore.java befecf4 

Diff: https://reviews.apache.org/r/25982/diff/


Testing
-------

Unit Tests in local


Thanks,

Sun Dapeng