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