Concurrency issue in UserAdmin REST service
-------------------------------------------
Key: AMDATU-303
URL: http://jira.amdatu.org/jira/browse/AMDATU-303
Project: Amdatu
Issue Type: Bug
Components: Amdatu Auth
Affects Versions: 0.1.0
Reporter: Ivo Ladage - van Doorn
Fix For: 0.1.0
If you run the JMeter test plan to test the UserAdmin REST service (Amdatu
UserAdmin - 0.1.0.jmx), then open the UserAdmin gadget in the dashboard
yourself simultanously, you will get this error;
[2011-02-11 16:27:50] WARNING: /rest/users [org.apache.felix.http.jetty]
-1
java.lang.ArrayIndexOutOfBoundsException: -1
at java.util.ArrayList.get(ArrayList.java:324)
at
org.amdatu.authorization.useradmin.rest.service.ResourceBase.getRoles(ResourceBase.java:140)
at
org.amdatu.authorization.useradmin.rest.service.UsersResource.getUsers(UsersResource.java:105)
at sun.reflect.GeneratedMethodAccessor39.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.apache.wink.server.internal.handlers.InvokeMethodHandler.handleRequest(InvokeMethodHandler.java:51)
at
org.apache.wink.server.handlers.AbstractHandler.handleRequest(AbstractHandler.java:33)
at
org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
at
org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
at
org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:61)
at
org.apache.wink.server.internal.handlers.CreateInvocationParametersHandler.handleRequest(CreateInvocationPara
metersHandler.java:54)
at
org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
at
org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
at
org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:61)
at
org.apache.wink.server.internal.handlers.FindResourceMethodHandler.handleResourceMethod(FindResourceMethodHan
dler.java:151)
at
org.apache.wink.server.internal.handlers.FindResourceMethodHandler.handleRequest(FindResourceMethodHandler.ja
va:65)
at
org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
at
org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
at
org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:61)
at
org.apache.wink.server.internal.handlers.FindRootResourceHandler.handleRequest(FindRootResourceHandler.java:9
3)
at
org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
at
org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
at
org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:61)
at
org.apache.wink.server.internal.handlers.HeadMethodHandler.handleRequest(HeadMethodHandler.java:53)
at
org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
at
org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
at
org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:61)
at
org.apache.wink.server.internal.handlers.OptionsMethodHandler.handleRequest(OptionsMethodHandler.java:46)
at
org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
at
org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
at
org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:61)
at
org.apache.wink.server.internal.handlers.SearchResultHandler.handleRequest(SearchResultHandler.java:33)
at
org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:26)
at
org.apache.wink.server.handlers.RequestHandlersChain.handle(RequestHandlersChain.java:22)
at
org.apache.wink.server.handlers.AbstractHandlersChain.doChain(AbstractHandlersChain.java:61)
at
org.apache.wink.server.handlers.AbstractHandlersChain.run(AbstractHandlersChain.java:48)
at
org.apache.wink.server.internal.RequestProcessor.handleRequestWithoutFaultBarrier(RequestProcessor.java:163)
at
org.apache.wink.server.internal.RequestProcessor.handleRequest(RequestProcessor.java:137)
at
org.apache.wink.server.internal.servlet.RestServlet.service(RestServlet.java:116)
at
org.amdatu.web.rest.wink.service.WinkRestServlet.service(WinkRestServlet.java:73)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at
org.amdatu.web.rest.wink.service.WinkRestServlet.service(WinkRestServlet.java:86)
at
org.amdatu.web.dispatcher.handler.ServletHandler.doHandle(ServletHandler.java:105)
at
org.amdatu.web.dispatcher.handler.ServletHandler.handle(ServletHandler.java:67)
at
org.amdatu.web.dispatcher.dispatch.CustomServletPipeline$Dispatcher.forward(CustomServletPipeline.java:78)
at
org.amdatu.web.rest.wink.service.WinkServletFilter.doFilter(WinkServletFilter.java:80)
at
org.amdatu.web.dispatcher.handler.FilterHandler.doHandle(FilterHandler.java:98)
at
org.amdatu.web.dispatcher.handler.FilterHandler.handle(FilterHandler.java:71)
at
org.amdatu.web.dispatcher.dispatch.CustomFilterChain.doFilter(CustomFilterChain.java:53)
at
org.amdatu.web.dispatcher.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:36)
at
org.amdatu.web.dispatcher.handler.FilterHandler.handle(FilterHandler.java:74)
at
org.amdatu.web.dispatcher.dispatch.CustomFilterChain.doFilter(CustomFilterChain.java:53)
at
org.amdatu.web.dispatcher.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:36)
at
org.amdatu.web.dispatcher.handler.FilterHandler.handle(FilterHandler.java:74)
at
org.amdatu.web.dispatcher.dispatch.CustomFilterChain.doFilter(CustomFilterChain.java:53)
at
org.amdatu.web.dispatcher.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:36)
at
org.amdatu.web.dispatcher.handler.FilterHandler.handle(FilterHandler.java:74)
at
org.amdatu.web.dispatcher.dispatch.CustomFilterChain.doFilter(CustomFilterChain.java:53)
at
org.amdatu.web.dispatcher.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:36)
at
org.amdatu.web.dispatcher.dispatch.CustomFilterPipeline.dispatch(CustomFilterPipeline.java:58)
at
org.amdatu.web.dispatcher.dispatch.ExtenderFilterChain.doFilter(ExtenderFilterChain.java:54)
at
org.amdatu.web.dispatcher.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:36)
at
org.amdatu.web.tenantresolver.hostname.service.HostnameTenantResolverExtenderFilter.doFilter(HostnameTenantRe
solverExtenderFilter.java:76)
at
org.amdatu.web.dispatcher.handler.FilterHandler.doHandle(FilterHandler.java:98)
at
org.amdatu.web.dispatcher.handler.FilterHandler.handle(FilterHandler.java:71)
at
org.amdatu.web.dispatcher.dispatch.ExtenderFilterChain.doFilter(ExtenderFilterChain.java:51)
at
org.amdatu.web.dispatcher.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:36)
at
org.amdatu.web.tenantresolver.parameter.service.ParameterTenantResolverExtenderFilter.doFilter(ParameterTenan
tResolverExtenderFilter.java:71)
at
org.amdatu.web.dispatcher.handler.FilterHandler.doHandle(FilterHandler.java:98)
at
org.amdatu.web.dispatcher.handler.FilterHandler.handle(FilterHandler.java:71)
at
org.amdatu.web.dispatcher.dispatch.ExtenderFilterChain.doFilter(ExtenderFilterChain.java:51)
at
org.amdatu.web.dispatcher.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:36)
at
org.amdatu.opensocial.profile.service.TenantHostnameDispatchExtenderFilter.doFilter(TenantHostnameDispatchExt
enderFilter.java:77)
at
org.amdatu.web.dispatcher.handler.FilterHandler.doHandle(FilterHandler.java:98)
at
org.amdatu.web.dispatcher.handler.FilterHandler.handle(FilterHandler.java:71)
at
org.amdatu.web.dispatcher.dispatch.ExtenderFilterChain.doFilter(ExtenderFilterChain.java:51)
at
org.amdatu.web.dispatcher.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:36)
at
org.amdatu.opensocial.shindig.service.TenantHostnameDispatchExtenderFilter.doFilter(TenantHostnameDispatchExt
enderFilter.java:61)
at
org.amdatu.web.dispatcher.handler.FilterHandler.doHandle(FilterHandler.java:98)
at
org.amdatu.web.dispatcher.handler.FilterHandler.handle(FilterHandler.java:71)
at
org.amdatu.web.dispatcher.dispatch.ExtenderFilterChain.doFilter(ExtenderFilterChain.java:51)
at
org.amdatu.web.dispatcher.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:36)
at
org.amdatu.web.dispatcher.dispatch.ExtenderFilterPipeline.dispatch(ExtenderFilterPipeline.java:47)
at
org.amdatu.web.dispatcher.service.DispatcherServiceImpl.dispatchRequest(DispatcherServiceImpl.java:161)
at
org.amdatu.web.dispatcher.filter.DispatchInterceptFilter.doFilter(DispatchInterceptFilter.java:81)
at
org.apache.felix.http.base.internal.handler.FilterHandler.doHandle(FilterHandler.java:80)
at
org.apache.felix.http.base.internal.handler.FilterHandler.handle(FilterHandler.java:68)
at
org.apache.felix.http.base.internal.dispatch.InvocationFilterChain.doFilter(InvocationFilterChain.java:47)
at
org.apache.felix.http.base.internal.dispatch.HttpFilterChain.doFilter(HttpFilterChain.java:33)
at
org.apache.felix.http.base.internal.dispatch.FilterPipeline.dispatch(FilterPipeline.java:48)
at
org.apache.felix.http.base.internal.dispatch.Dispatcher.dispatch(Dispatcher.java:39)
at
org.apache.felix.http.base.internal.DispatcherServlet.service(DispatcherServlet.java:55)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:390)
at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:536)
at
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:915)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:539)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:405)
at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
at
org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
--
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira