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

Reply via email to