-----------------------------------------------------------
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