Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
1.5.1
-
None
Description
see this error very often, seems like it will be good if could clean up test data (roles) after each test in TestLinkEndToEnd.java. JDK 7 returns a more or less random order.
mvn -Dtest=TestLinkEndToEnd test
Running org.apache.sentry.tests.e2e.sqoop.TestLinkEndToEnd Tests run: 3, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 55.852 sec <<< FAILURE! - in org.apache.sentry.tests.e2e.sqoop.TestLinkEndToEnd testUpdateDtestUpdateDeleteLinkeleteLink on testUpdateDtestUpdateDeleteLinkeleteLink(org.apache.sentry.tests.e2e.sqoop.TestLinkEndToEnd)(org.apache.sentry.tests.e2e.sqoop.TestLinkEndToEnd) Time elapsed: 0.225 sec <<< FAILURE! org.apache.sqoop.common.SqoopException: CLIENT_0001:Server has returned exception at org.apache.sqoop.client.request.ResourceRequest.doHttpRequest(ResourceRequest.java:129) at org.apache.sqoop.client.request.ResourceRequest.post(ResourceRequest.java:175) at org.apache.sqoop.client.request.AuthorizationResourceRequest.createRole(AuthorizationResourceRequest.java:66) at org.apache.sqoop.client.request.SqoopResourceRequests.createRole(SqoopResourceRequests.java:173) at org.apache.sqoop.client.SqoopClient.createRole(SqoopClient.java:570) at org.apache.sentry.tests.e2e.sqoop.TestLinkEndToEnd.testUpdateDtestUpdateDeleteLinkeleteLink(TestLinkEndToEnd.java:122) Caused by: org.apache.sqoop.common.SqoopException: AUTH_0014:Authorization exception - Unable to excute command on sentry server: Role: role4. Server Stacktrace: org.apache.sentry.provider.db.SentryAlreadyExistsException: Role: role4 at org.apache.sentry.provider.db.service.persistent.SentryStore.createSentryRole(SentryStore.java:310) at org.apache.sentry.provider.db.generic.service.persistent.DelegateSentryStore.createRole(DelegateSentryStore.java:102) at org.apache.sentry.provider.db.generic.service.thrift.SentryGenericPolicyProcessor$2.handle(SentryGenericPolicyProcessor.java:284) at org.apache.sentry.provider.db.generic.service.thrift.SentryGenericPolicyProcessor.requestHandle(SentryGenericPolicyProcessor.java:173) at org.apache.sentry.provider.db.generic.service.thrift.SentryGenericPolicyProcessor.create_sentry_role(SentryGenericPolicyProcessor.java:279) at org.apache.sentry.provider.db.generic.service.thrift.SentryGenericPolicyService$Processor$create_sentry_role.getResult(SentryGenericPolicyService.java:773) at org.apache.sentry.provider.db.generic.service.thrift.SentryGenericPolicyService$Processor$create_sentry_role.getResult(SentryGenericPolicyService.java:758) at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39) at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39) at org.apache.thrift.TMultiplexedProcessor.process(TMultiplexedProcessor.java:123) at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:285) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) at org.apache.sentry.sqoop.binding.SqoopAuthBinding.execute(SqoopAuthBinding.java:387) at org.apache.sentry.sqoop.binding.SqoopAuthBinding.createRole(SqoopAuthBinding.java:149) at org.apache.sentry.sqoop.authz.SentryAccessController.createRole(SentryAccessController.java:50) at org.apache.sentry.sqoop.authz.SentryAuthorizationHander.createRole(SentryAuthorizationHander.java:54) at org.apache.sqoop.handler.AuthorizationRequestHandler.createRole(AuthorizationRequestHandler.java:215) at org.apache.sqoop.handler.AuthorizationRequestHandler.handleEvent(AuthorizationRequestHandler.java:96) at org.apache.sqoop.server.v1.AuthorizationServlet.handlePostRequest(AuthorizationServlet.java:80) at org.apache.sqoop.server.SqoopProtocolServlet.doPost(SqoopProtocolServlet.java:63) at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.hadoop.security.authentication.server.AuthenticationFilter.doFilter(AuthenticationFilter.java:572) at org.apache.hadoop.security.token.delegation.web.DelegationTokenAuthenticationFilter.doFilter(DelegationTokenAuthenticationFilter.java:269) at org.apache.hadoop.security.authentication.server.AuthenticationFilter.doFilter(AuthenticationFilter.java:542) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:615) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Thread.java:745) Caused by: org.apache.sentry.provider.db.SentryAlreadyExistsException: Role: role4. Server Stacktrace: org.apache.sentry.provider.db.SentryAlreadyExistsException: Role: role4 at org.apache.sentry.provider.db.service.persistent.SentryStore.createSentryRole(SentryStore.java:310) at org.apache.sentry.provider.db.generic.service.persistent.DelegateSentryStore.createRole(DelegateSentryStore.java:102) at org.apache.sentry.provider.db.generic.service.thrift.SentryGenericPolicyProcessor$2.handle(SentryGenericPolicyProcessor.java:284) at org.apache.sentry.provider.db.generic.service.thrift.SentryGenericPolicyProcessor.requestHandle(SentryGenericPolicyProcessor.java:173) at org.apache.sentry.provider.db.generic.service.thrift.SentryGenericPolicyProcessor.create_sentry_role(SentryGenericPolicyProcessor.java:279) at org.apache.sentry.provider.db.generic.service.thrift.SentryGenericPolicyService$Processor$create_sentry_role.getResult(SentryGenericPolicyService.java:773) at org.apache.sentry.provider.db.generic.service.thrift.SentryGenericPolicyService$Processor$create_sentry_role.getResult(SentryGenericPolicyService.java:758) at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39) at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39) at org.apache.thrift.TMultiplexedProcessor.process(TMultiplexedProcessor.java:123) at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:285) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) at org.apache.sentry.service.thrift.Status.throwIfNotOk(Status.java:100) at org.apache.sentry.provider.db.generic.service.thrift.SentryGenericServiceClient.createRole(SentryGenericServiceClient.java:179) at org.apache.sentry.sqoop.binding.SqoopAuthBinding$1.run(SqoopAuthBinding.java:152) at org.apache.sentry.sqoop.binding.SqoopAuthBinding$1.run(SqoopAuthBinding.java:149) at org.apache.sentry.sqoop.binding.SqoopAuthBinding.execute(SqoopAuthBinding.java:383) at org.apache.sentry.sqoop.binding.SqoopAuthBinding.createRole(SqoopAuthBinding.java:149) at org.apache.sentry.sqoop.authz.SentryAccessController.createRole(SentryAccessController.java:50) at org.apache.sentry.sqoop.authz.SentryAuthorizationHander.createRole(SentryAuthorizationHander.java:54) at org.apache.sqoop.handler.AuthorizationRequestHandler.createRole(AuthorizationRequestHandler.java:215) at org.apache.sqoop.handler.AuthorizationRequestHandler.handleEvent(AuthorizationRequestHandler.java:96) at org.apache.sqoop.server.v1.AuthorizationServlet.handlePostRequest(AuthorizationServlet.java:80) at org.apache.sqoop.server.SqoopProtocolServlet.doPost(SqoopProtocolServlet.java:63) at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.hadoop.security.authentication.server.AuthenticationFilter.doFilter(AuthenticationFilter.java:572) at org.apache.hadoop.security.token.delegation.web.DelegationTokenAuthenticationFilter.doFilter(DelegationTokenAuthenticationFilter.java:269) at org.apache.hadoop.security.authentication.server.AuthenticationFilter.doFilter(AuthenticationFilter.java:542) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:615) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Thread.java:745) Results : Failed tests: TestLinkEndToEnd.testUpdateDtestUpdateDeleteLinkeleteLink:122 » Sqoop CLIENT_0... Tests run: 3, Failures: 1, Errors: 0, Skipped: 0
guoquan, could you help investigate this one. this error causes test to fail intermittently. For example, if the first time run mvn -Dtest=TestLinkEndToEnd test, test passes, but if run the second time, the failure will pop up. it will be better it sooner. thanks!
Committed to master:
commit 77ac9953a49d58467e4b88cb45c87940bee88ee5
Author: Lenni Kuff <lskuff@cloudera.com>
Date: Wed Jul 15 23:40:36 2015 -0700
SENTRY-803: Fix role cleanup for Sqoop test - fails with SentryAlreadyExistsException: Role (Anne Yu via Lenni Kuff)