Does default AppM configuration can create such # of DB connection at a given time?
Regards, Chandana On Fri, Mar 25, 2016 at 5:36 PM, Thilini Shanika <[email protected]> wrote: > We tested the same scenario pointing to a mysql db and did not encounter > deadlocks anymore. As you mentioned, this issue specifically occurs with H2 > db. > > On Fri, Mar 25, 2016 at 2:55 PM, Manuranga Perera <[email protected]> wrote: > >> [looping] >> I think this coming form Greg layer and it is due to using H2. >> Chandana please comment on this. >> >> On Fri, Mar 25, 2016 at 2:39 PM, Thilini Shanika <[email protected]> >> wrote: >> >>> 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] >>> >>> >> >> >> -- >> With regards, >> *Manu*ranga Perera. >> >> phone : 071 7 70 20 50 >> mail : [email protected] >> > > > > -- > Thilini Shanika > Software Engineer > WSO2, Inc.; http://wso2.com > 20, Palmgrove Avenue, Colombo 3 > > E-mail: [email protected] > > -- *Chandana Napagoda* Senior Software Engineer WSO2 Inc. - http://wso2.org *Email : [email protected] <[email protected]>**Mobile : +94718169299* *Blog : http://cnapagoda.blogspot.com <http://cnapagoda.blogspot.com>*
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
