You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sentry.apache.org by Arjun Mishra via Review Board <no...@reviews.apache.org> on 2018/06/26 17:02:06 UTC

Re: Review Request 67746: SENTRY-2281: list_privileges_by_user() fails with a JDODetachedFieldAccessException

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

(Updated June 26, 2018, 5:02 p.m.)


Review request for sentry, kalyan kumar kalvagadda, Na Li, and Sergio Pena.


Summary (updated)
-----------------

SENTRY-2281: list_privileges_by_user() fails with a JDODetachedFieldAccessException


Repository: sentry


Description
-------

{noformat}
Caused by: java.lang.RuntimeException: Unknown error for request: TListSentryPrivilegesByAuthRequest(protocol_version:2, requestorUserName:ubuntu, authorizableSet:[TSentryAuthorizable(server:localhost, db:default, table:t1)], roleSet:TSentryActiveRoleSet(all:true, roles:[]), users:[ubuntu]), message: You have just attempted to access field "users" yet this field was not detached when you detached the object. Either dont access this field, or detach it when detaching the object.. Server Stacktrace: javax.jdo.JDODetachedFieldAccessException: You have just attempted to access field "users" yet this field was not detached when you detached the object. Either dont access this field, or detach it when detaching the object.
       at org.apache.sentry.provider.db.service.model.MSentryPrivilege.dnGetusers(MSentryPrivilege.java)
       at org.apache.sentry.provider.db.service.model.MSentryPrivilege.getUsers(MSentryPrivilege.java:186)
       at org.apache.sentry.provider.db.service.persistent.SentryStore.listSentryPrivilegesByAuthorizableForUser(SentryStore.java:2118)
       at org.apache.sentry.api.service.thrift.SentryPolicyStoreProcessor.list_sentry_privileges_by_authorizable(SentryPolicyStoreProcessor.java:1166)
       at org.apache.sentry.api.service.thrift.SentryPolicyService$Processor$list_sentry_privileges_by_authorizable.getResult(SentryPolicyService.java:1677)
       at org.apache.sentry.api.service.thrift.SentryPolicyService$Processor$list_sentry_privileges_by_authorizable.getResult(SentryPolicyService.java:1662)
       at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39)
       at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)
       at org.apache.sentry.api.service.thrift.SentryProcessorWrapper.process(SentryProcessorWrapper.java:36)
       at org.apache.thrift.TMultiplexedProcessor.process(TMultiplexedProcessor.java:123)
       at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:286)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149){noformat}


Diffs
-----

  sentry-service/sentry-service-server/src/main/java/org/apache/sentry/provider/db/service/persistent/SentryStore.java aca5c2d98 
  sentry-service/sentry-service-server/src/test/java/org/apache/sentry/provider/db/service/persistent/TestSentryStore.java 475fc4e92 


Diff: https://reviews.apache.org/r/67746/diff/1/


Testing
-------

$ mvn -f sentry-service/sentry-service-server/pom.xml test -Dtest=TestSentryStore


Thanks,

Arjun Mishra


Re: Review Request 67746: SENTRY-2281: list_privileges_by_user() fails with a JDODetachedFieldAccessException

Posted by Na Li via Review Board <no...@reviews.apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/67746/#review205386
-----------------------------------------------------------


Ship it!




Ship It!

- Na Li


On June 26, 2018, 5:02 p.m., Arjun Mishra wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/67746/
> -----------------------------------------------------------
> 
> (Updated June 26, 2018, 5:02 p.m.)
> 
> 
> Review request for sentry, kalyan kumar kalvagadda, Na Li, and Sergio Pena.
> 
> 
> Repository: sentry
> 
> 
> Description
> -------
> 
> {noformat}
> Caused by: java.lang.RuntimeException: Unknown error for request: TListSentryPrivilegesByAuthRequest(protocol_version:2, requestorUserName:ubuntu, authorizableSet:[TSentryAuthorizable(server:localhost, db:default, table:t1)], roleSet:TSentryActiveRoleSet(all:true, roles:[]), users:[ubuntu]), message: You have just attempted to access field "users" yet this field was not detached when you detached the object. Either dont access this field, or detach it when detaching the object.. Server Stacktrace: javax.jdo.JDODetachedFieldAccessException: You have just attempted to access field "users" yet this field was not detached when you detached the object. Either dont access this field, or detach it when detaching the object.
>        at org.apache.sentry.provider.db.service.model.MSentryPrivilege.dnGetusers(MSentryPrivilege.java)
>        at org.apache.sentry.provider.db.service.model.MSentryPrivilege.getUsers(MSentryPrivilege.java:186)
>        at org.apache.sentry.provider.db.service.persistent.SentryStore.listSentryPrivilegesByAuthorizableForUser(SentryStore.java:2118)
>        at org.apache.sentry.api.service.thrift.SentryPolicyStoreProcessor.list_sentry_privileges_by_authorizable(SentryPolicyStoreProcessor.java:1166)
>        at org.apache.sentry.api.service.thrift.SentryPolicyService$Processor$list_sentry_privileges_by_authorizable.getResult(SentryPolicyService.java:1677)
>        at org.apache.sentry.api.service.thrift.SentryPolicyService$Processor$list_sentry_privileges_by_authorizable.getResult(SentryPolicyService.java:1662)
>        at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39)
>        at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)
>        at org.apache.sentry.api.service.thrift.SentryProcessorWrapper.process(SentryProcessorWrapper.java:36)
>        at org.apache.thrift.TMultiplexedProcessor.process(TMultiplexedProcessor.java:123)
>        at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:286)
>        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149){noformat}
> 
> 
> Diffs
> -----
> 
>   sentry-service/sentry-service-server/src/main/java/org/apache/sentry/provider/db/service/persistent/SentryStore.java aca5c2d98 
>   sentry-service/sentry-service-server/src/test/java/org/apache/sentry/provider/db/service/persistent/TestSentryStore.java 475fc4e92 
> 
> 
> Diff: https://reviews.apache.org/r/67746/diff/1/
> 
> 
> Testing
> -------
> 
> $ mvn -f sentry-service/sentry-service-server/pom.xml test -Dtest=TestSentryStore
> 
> 
> Thanks,
> 
> Arjun Mishra
> 
>


Re: Review Request 67746: SENTRY-2281: list_privileges_by_user() fails with a JDODetachedFieldAccessException

Posted by Arjun Mishra via Review Board <no...@reviews.apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/67746/
-----------------------------------------------------------

(Updated June 26, 2018, 6:07 p.m.)


Review request for sentry, kalyan kumar kalvagadda, Na Li, and Sergio Pena.


Changes
-------

Fixing the test case. Even if roles or users is EMPTY, depending on type we always need to set fetch group


Repository: sentry


Description
-------

{noformat}
Caused by: java.lang.RuntimeException: Unknown error for request: TListSentryPrivilegesByAuthRequest(protocol_version:2, requestorUserName:ubuntu, authorizableSet:[TSentryAuthorizable(server:localhost, db:default, table:t1)], roleSet:TSentryActiveRoleSet(all:true, roles:[]), users:[ubuntu]), message: You have just attempted to access field "users" yet this field was not detached when you detached the object. Either dont access this field, or detach it when detaching the object.. Server Stacktrace: javax.jdo.JDODetachedFieldAccessException: You have just attempted to access field "users" yet this field was not detached when you detached the object. Either dont access this field, or detach it when detaching the object.
       at org.apache.sentry.provider.db.service.model.MSentryPrivilege.dnGetusers(MSentryPrivilege.java)
       at org.apache.sentry.provider.db.service.model.MSentryPrivilege.getUsers(MSentryPrivilege.java:186)
       at org.apache.sentry.provider.db.service.persistent.SentryStore.listSentryPrivilegesByAuthorizableForUser(SentryStore.java:2118)
       at org.apache.sentry.api.service.thrift.SentryPolicyStoreProcessor.list_sentry_privileges_by_authorizable(SentryPolicyStoreProcessor.java:1166)
       at org.apache.sentry.api.service.thrift.SentryPolicyService$Processor$list_sentry_privileges_by_authorizable.getResult(SentryPolicyService.java:1677)
       at org.apache.sentry.api.service.thrift.SentryPolicyService$Processor$list_sentry_privileges_by_authorizable.getResult(SentryPolicyService.java:1662)
       at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39)
       at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)
       at org.apache.sentry.api.service.thrift.SentryProcessorWrapper.process(SentryProcessorWrapper.java:36)
       at org.apache.thrift.TMultiplexedProcessor.process(TMultiplexedProcessor.java:123)
       at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:286)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149){noformat}


Diffs (updated)
-----

  sentry-service/sentry-service-server/src/main/java/org/apache/sentry/provider/db/service/persistent/SentryStore.java 29c2176e7 
  sentry-service/sentry-service-server/src/test/java/org/apache/sentry/provider/db/service/persistent/TestSentryStore.java 5849e7d03 


Diff: https://reviews.apache.org/r/67746/diff/2/

Changes: https://reviews.apache.org/r/67746/diff/1-2/


Testing
-------

$ mvn -f sentry-service/sentry-service-server/pom.xml test -Dtest=TestSentryStore


Thanks,

Arjun Mishra


Re: Review Request 67746: SENTRY-2281: list_privileges_by_user() fails with a JDODetachedFieldAccessException

Posted by Sergio Pena via Review Board <no...@reviews.apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/67746/#review205382
-----------------------------------------------------------


Ship it!




Ship It!

- Sergio Pena


On June 26, 2018, 5:02 p.m., Arjun Mishra wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/67746/
> -----------------------------------------------------------
> 
> (Updated June 26, 2018, 5:02 p.m.)
> 
> 
> Review request for sentry, kalyan kumar kalvagadda, Na Li, and Sergio Pena.
> 
> 
> Repository: sentry
> 
> 
> Description
> -------
> 
> {noformat}
> Caused by: java.lang.RuntimeException: Unknown error for request: TListSentryPrivilegesByAuthRequest(protocol_version:2, requestorUserName:ubuntu, authorizableSet:[TSentryAuthorizable(server:localhost, db:default, table:t1)], roleSet:TSentryActiveRoleSet(all:true, roles:[]), users:[ubuntu]), message: You have just attempted to access field "users" yet this field was not detached when you detached the object. Either dont access this field, or detach it when detaching the object.. Server Stacktrace: javax.jdo.JDODetachedFieldAccessException: You have just attempted to access field "users" yet this field was not detached when you detached the object. Either dont access this field, or detach it when detaching the object.
>        at org.apache.sentry.provider.db.service.model.MSentryPrivilege.dnGetusers(MSentryPrivilege.java)
>        at org.apache.sentry.provider.db.service.model.MSentryPrivilege.getUsers(MSentryPrivilege.java:186)
>        at org.apache.sentry.provider.db.service.persistent.SentryStore.listSentryPrivilegesByAuthorizableForUser(SentryStore.java:2118)
>        at org.apache.sentry.api.service.thrift.SentryPolicyStoreProcessor.list_sentry_privileges_by_authorizable(SentryPolicyStoreProcessor.java:1166)
>        at org.apache.sentry.api.service.thrift.SentryPolicyService$Processor$list_sentry_privileges_by_authorizable.getResult(SentryPolicyService.java:1677)
>        at org.apache.sentry.api.service.thrift.SentryPolicyService$Processor$list_sentry_privileges_by_authorizable.getResult(SentryPolicyService.java:1662)
>        at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39)
>        at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)
>        at org.apache.sentry.api.service.thrift.SentryProcessorWrapper.process(SentryProcessorWrapper.java:36)
>        at org.apache.thrift.TMultiplexedProcessor.process(TMultiplexedProcessor.java:123)
>        at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:286)
>        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149){noformat}
> 
> 
> Diffs
> -----
> 
>   sentry-service/sentry-service-server/src/main/java/org/apache/sentry/provider/db/service/persistent/SentryStore.java aca5c2d98 
>   sentry-service/sentry-service-server/src/test/java/org/apache/sentry/provider/db/service/persistent/TestSentryStore.java 475fc4e92 
> 
> 
> Diff: https://reviews.apache.org/r/67746/diff/1/
> 
> 
> Testing
> -------
> 
> $ mvn -f sentry-service/sentry-service-server/pom.xml test -Dtest=TestSentryStore
> 
> 
> Thanks,
> 
> Arjun Mishra
> 
>