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

Review request for sentry, Arun Suresh, Jarek Cecho, and Sravya Tirukkovalur.


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


Repository: sentry


Description
-------

With latest build, I am hitting a different error for drop role.

Error: Error while processing statement: FAILED: Execution Error, return code 1 
from org.apache.hadoop.hive.ql.exec.SentryGrantRevokeTask. Unknown error for 
request: TDropSentryRoleRequest(protocol_version:1, requestorUserName:prasadm, 
requestorGroupNames:[prasadm], roleName:user_role), message: Privileges should 
be empty: [MSentryPrivilege [privilegeScope=TABLE, 
privilegeName=server1+default+t1+INSERT, serverName=server1, dbName=default, 
tableName=t1, URI=null, action=INSERT, roles=[...], createTime=1400898494165, 
grantorPrincipal=prasadm]]. Server Stacktrace: java.lang.IllegalStateException: 
Privileges should be empty: [MSentryPrivilege [privilegeScope=TABLE, 
privilegeName=server1+default+t1+INSERT, serverName=server1, dbName=default, 
tableName=t1, URI=null, action=INSERT, roles=[...], 
createTime=140089849l=prasadm]]
        at 
com.google.common.base.Preconditions.checkState(Preconditions.java:145)
        at 
org.apache.sentry.provider.db.service.model.MSentryRole.removePrivileges(MSentryRole.jav
        at 
org.apache.sentry.provider.db.service.persistent.SentryStore.dropSentryRole(SentryStore.
        at 
org.apache.sentry.provider.db.service.thrift.SentryPolicyStoreProcessor.drop_sentry_rolecessor.java:224)

In the current m:n relation mapping, dataNucleus doens't populate the roles 
list in the MSentryPrivilege object. Hence remove call remove privilege 
unconditionally.


Diffs
-----

  
sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/provider/db/service/model/MSentryPrivilege.java
 82d701f 
  
sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/provider/db/service/model/MSentryRole.java
 86aaeb4 
  
sentry-provider/sentry-provider-db/src/main/java/org/apache/sentry/provider/db/service/persistent/SentryStore.java
 8f0ecfd 
  
sentry-provider/sentry-provider-db/src/test/java/org/apache/sentry/provider/db/service/thrift/TestSentryServerWithoutKerberos.java
 81a9ea4 

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


Testing
-------

Added testcase to drop and recreate role with multiple privileges.


Thanks,

Prasad Mujumdar

Reply via email to