Adding Dev.

On Fri, Mar 25, 2016 at 2:14 PM, Thilini Shanika <[email protected]> wrote:

>
> Hi ES team,
>
> During App Manager load testing on App Store user login we encountered
> below exception (We are getting the error with 100 concurrent users). This
> occurs during the initial user login at high concurrency. In each initial
> user login, Internal/private_{username} role is created and it has been
> assigned to the newly logged in user. The deadlock occurs during this role
> creation time.
>
> Is ES Store login tested with high concurrency ? Or did you encounter the
> similar issue in ES also?
>
> We are working on finding the root cause here. Thus, any insight would be
> really appreciated.
>
> Thank you
> Thilini
>
> ERROR - acs:jag org.mozilla.javascript.WrappedException: Wrapped
> org.wso2.carbon.user.core.UserStoreException: Error! Deadlock detected. The
> current transaction was rolled back. Details: "
> Session #99 (user: WSO2CARBON) is waiting to lock PUBLIC.UM_PERMISSION
> while locking PUBLIC.UM_ROLE_PERMISSION (exclusive).
> Session #102 (user: WSO2CARBON) is waiting to lock
> PUBLIC.UM_ROLE_PERMISSION while locking PUBLIC.UM_PERMISSION (exclusive).";
> SQL statement:
> SELECT UM_ID, UM_IS_ALLOWED FROM UM_ROLE_PERMISSION WHERE UM_ROLE_NAME=?
> AND UM_PERMISSION_ID = (SELECT UM_ID FROM UM_PERMISSION WHERE
> UM_RESOURCE_ID = ? AND UM_ACTION = ? AND UM_TENANT_ID=?) AND UM_TENANT_ID=?
> AND UM_DOMAIN_ID=(SELECT UM_DOMAIN_ID FROM UM_DOMAIN WHERE UM_TENANT_ID=?
> AND UM_DOMAIN_NAME=?) [40001-140] (<carbon>/scripts/user/user-manager.js#98)
> at org.mozilla.javascript.Context.throwAsScriptRuntimeEx(Context.java:1754)
> at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:148)
> at org.mozilla.javascript.NativeJavaMethod.call(NativeJavaMethod.java:225)
> at org.mozilla.javascript.optimizer.OptRuntime.callN(OptRuntime.java:52)
> at
> org.jaggeryjs.rhino.<carbon>.scripts.user.c0._c_anonymous_21(<carbon>/scripts/user/user-manager.js:98)
> at
> org.jaggeryjs.rhino.<carbon>.scripts.user.c0.call(<carbon>/scripts/user/user-manager.js)
> at org.mozilla.javascript.optimizer.OptRuntime.callN(OptRuntime.java:52)
> at
> org.jaggeryjs.rhino.<store>.scripts.c0._c_anonymous_10(<store>/scripts/user.js:97)
> at org.jaggeryjs.rhino.<store>.scripts.c0.call(<store>/scripts/user.js)
> at
> org.mozilla.javascript.ScriptRuntime.applyOrCall(ScriptRuntime.java:2430)
> at org.mozilla.javascript.BaseFunction.execIdCall(BaseFunction.java:269)
> at org.mozilla.javascript.IdFunctionObject.call(IdFunctionObject.java:97)
> at org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:42)
> at
> org.jaggeryjs.rhino.<event>.scripts.c0._c_anonymous_7(<event>/scripts/event.js:71)
> at org.jaggeryjs.rhino.<event>.scripts.c0.call(<event>/scripts/event.js)
> at
> org.mozilla.javascript.NativeArray.iterativeMethod(NativeArray.java:1584)
> at org.mozilla.javascript.NativeArray.execIdCall(NativeArray.java:318)
> at org.mozilla.javascript.IdFunctionObject.call(IdFunctionObject.java:97)
> at org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:32)
> at
> org.jaggeryjs.rhino.<event>.scripts.c0._c_anonymous_6(<event>/scripts/event.js:69)
> at org.jaggeryjs.rhino.<event>.scripts.c0.call(<event>/scripts/event.js)
> at org.mozilla.javascript.optimizer.OptRuntime.callN(OptRuntime.java:52)
> at
> org.jaggeryjs.rhino.<store>.scripts.c0._c_anonymous_8(<store>/scripts/user.js:55)
> at org.jaggeryjs.rhino.<store>.scripts.c0.call(<store>/scripts/user.js)
> at
> org.mozilla.javascript.ScriptRuntime.applyOrCall(ScriptRuntime.java:2430)
> at org.mozilla.javascript.BaseFunction.execIdCall(BaseFunction.java:269)
> at org.mozilla.javascript.IdFunctionObject.call(IdFunctionObject.java:97)
> at org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:42)
> at
> org.jaggeryjs.rhino.<event>.scripts.c0._c_anonymous_7(<event>/scripts/event.js:71)
> at org.jaggeryjs.rhino.<event>.scripts.c0.call(<event>/scripts/event.js)
> at
> org.mozilla.javascript.NativeArray.iterativeMethod(NativeArray.java:1584)
> at org.mozilla.javascript.NativeArray.execIdCall(NativeArray.java:318)
> at org.mozilla.javascript.IdFunctionObject.call(IdFunctionObject.java:97)
> at org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:32)
> at
> org.jaggeryjs.rhino.<event>.scripts.c0._c_anonymous_6(<event>/scripts/event.js:69)
> at org.jaggeryjs.rhino.<event>.scripts.c0.call(<event>/scripts/event.js)
> at org.mozilla.javascript.optimizer.OptRuntime.callN(OptRuntime.java:52)
> at
> org.jaggeryjs.rhino.store.modules.c7._c_anonymous_1(/store/modules/role.js:36)
> at org.jaggeryjs.rhino.store.modules.c7.call(/store/modules/role.js)
> at org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:42)
> at
> org.jaggeryjs.rhino.store.controllers.c1._c_anonymous_1(/store/controllers/acs.jag:103)
> at
> org.jaggeryjs.rhino.store.controllers.c1.call(/store/controllers/acs.jag)
> at org.mozilla.javascript.optimizer.OptRuntime.call0(OptRuntime.java:23)
> at
> org.jaggeryjs.rhino.store.controllers.c1._c_script_0(/store/controllers/acs.jag:7)
> at
> org.jaggeryjs.rhino.store.controllers.c1.call(/store/controllers/acs.jag)
> at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:394)
> at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3091)
> at
> org.jaggeryjs.rhino.store.controllers.c1.call(/store/controllers/acs.jag)
> at
> org.jaggeryjs.rhino.store.controllers.c1.exec(/store/controllers/acs.jag)
> at
> org.jaggeryjs.scriptengine.engine.RhinoEngine.execScript(RhinoEngine.java:567)
> at org.jaggeryjs.scriptengine.engine.RhinoEngine.exec(RhinoEngine.java:273)
> at
> org.jaggeryjs.jaggery.core.manager.WebAppManager.exec(WebAppManager.java:587)
> at
> org.jaggeryjs.jaggery.core.manager.WebAppManager.execute(WebAppManager.java:507)
> at org.jaggeryjs.jaggery.core.JaggeryServlet.doPost(JaggeryServlet.java:29)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> at
> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:748)
> at
> org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:486)
> at
> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:378)
> at
> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:338)
> at org.jaggeryjs.jaggery.core.JaggeryFilter.doFilter(JaggeryFilter.java:21)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
> at
> org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
> at
> org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(CompositeValve.java:99)
> at
> org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve$1.invoke(CarbonTomcatValve.java:47)
> at
> org.wso2.carbon.webapp.mgt.TenantLazyLoaderValve.invoke(TenantLazyLoaderValve.java:57)
> at
> org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:47)
> at
> org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:62)
> at
> org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:159)
> at
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
> at
> org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:57)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
> at
> org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1074)
> at
> org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
> at
> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1739)
> at
> org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1698)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> at
> org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
> at java.lang.Thread.run(Thread.java:745)
> Caused by: org.wso2.carbon.user.core.UserStoreException: Error! Deadlock
> detected. The current transaction was rolled back. Details: "
> Session #99 (user: WSO2CARBON) is waiting to lock PUBLIC.UM_PERMISSION
> while locking PUBLIC.UM_ROLE_PERMISSION (exclusive).
> Session #102 (user: WSO2CARBON) is waiting to lock
> PUBLIC.UM_ROLE_PERMISSION while locking PUBLIC.UM_PERMISSION (exclusive).";
> SQL statement:
> SELECT UM_ID, UM_IS_ALLOWED FROM UM_ROLE_PERMISSION WHERE UM_ROLE_NAME=?
> AND UM_PERMISSION_ID = (SELECT UM_ID FROM UM_PERMISSION WHERE
> UM_RESOURCE_ID = ? AND UM_ACTION = ? AND UM_TENANT_ID=?) AND UM_TENANT_ID=?
> AND UM_DOMAIN_ID=(SELECT UM_DOMAIN_ID FROM UM_DOMAIN WHERE UM_TENANT_ID=?
> AND UM_DOMAIN_NAME=?) [40001-140]
> at
> org.wso2.carbon.user.core.authorization.JDBCAuthorizationManager.addAuthorizationForRole(JDBCAuthorizationManager.java:837)
> at
> org.wso2.carbon.user.core.authorization.JDBCAuthorizationManager.authorizeRole(JDBCAuthorizationManager.java:405)
> at
> org.wso2.carbon.registry.core.secure.AuthorizeRoleListener.authorizeRole(AuthorizeRoleListener.java:156)
> at
> org.wso2.carbon.user.core.authorization.JDBCAuthorizationManager.authorizeRole(JDBCAuthorizationManager.java:396)
> at
> org.wso2.carbon.registry.core.secure.AuthorizeRoleListener.authorizeRole(AuthorizeRoleListener.java:156)
> at
> org.wso2.carbon.user.core.authorization.JDBCAuthorizationManager.authorizeRole(JDBCAuthorizationManager.java:396)
> at
> org.wso2.carbon.user.core.common.AbstractUserStoreManager.doAddInternalRole(AbstractUserStoreManager.java:2942)
> at
> org.wso2.carbon.user.core.common.AbstractUserStoreManager.addRole(AbstractUserStoreManager.java:2499)
> at
> org.wso2.carbon.user.core.common.AbstractUserStoreManager.addRole(AbstractUserStoreManager.java:3951)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:606)
> at org.mozilla.javascript.MemberBox.invoke(MemberBox.java:126)
> ... 89 more
> Caused by: org.h2.jdbc.JdbcSQLException: Deadlock detected. The current
> transaction was rolled back. Details: "
> Session #99 (user: WSO2CARBON) is waiting to lock PUBLIC.UM_PERMISSION
> while locking PUBLIC.UM_ROLE_PERMISSION (exclusive).
> Session #102 (user: WSO2CARBON) is waiting to lock
> PUBLIC.UM_ROLE_PERMISSION while locking PUBLIC.UM_PERMISSION (exclusive).";
> SQL statement:
> SELECT UM_ID, UM_IS_ALLOWED FROM UM_ROLE_PERMISSION WHERE UM_ROLE_NAME=?
> AND UM_PERMISSION_ID = (SELECT UM_ID FROM UM_PERMISSION WHERE
> UM_RESOURCE_ID = ? AND UM_ACTION = ? AND UM_TENANT_ID=?) AND UM_TENANT_ID=?
> AND UM_DOMAIN_ID=(SELECT UM_DOMAIN_ID FROM UM_DOMAIN WHERE UM_TENANT_ID=?
> AND UM_DOMAIN_NAME=?) [40001-140]
> at org.h2.message.DbException.getJdbcSQLException(DbException.java:327)
> at org.h2.message.DbException.get(DbException.java:167)
> at org.h2.message.DbException.get(DbException.java:144)
> at org.h2.table.RegularTable.doLock(RegularTable.java:457)
> at org.h2.table.RegularTable.lock(RegularTable.java:404)
> at org.h2.table.TableFilter.lock(TableFilter.java:139)
> at org.h2.command.dml.Select.queryWithoutCache(Select.java:554)
> at org.h2.command.dml.Query.query(Query.java:241)
> at org.h2.command.CommandContainer.query(CommandContainer.java:80)
> at org.h2.command.Command.executeQuery(Command.java:132)
> at
> org.h2.jdbc.JdbcPreparedStatement.executeQuery(JdbcPreparedStatement.java:96)
> at
> org.wso2.carbon.user.core.authorization.JDBCAuthorizationManager.addAuthorizationForRole(JDBCAuthorizationManager.java:783)
> ... 102 more
>
> --
> Thilini Shanika
> Software Engineer
> WSO2, Inc.; http://wso2.com
> 20, Palmgrove Avenue, Colombo 3
>
> E-mail: [email protected]
>
>


-- 
Thilini Shanika
Software Engineer
WSO2, Inc.; http://wso2.com
20, Palmgrove Avenue, Colombo 3

E-mail: [email protected]
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to