Running perf tests will help us identify these issues.

Senaka Fernando wrote:
> Hi it seems that you have persisted a resource + created an 
> association at the same time in two threads. 
Are you trying to say that Registry cannot handle 2 concurrent requests??

Folks, none of these scenarios shouldn't cause a deadlock, these are 
possible scenarios, at exceptional flows and Registry shouldn't 
deadlock, rather it should handle them gracefully. It might decide to 
fail some operations, but cannot deadlock.

Thanks,
Ruwan
> How could this happen? Is it a part of the same process? or two 
> things? And +1 for running perf tests. But, this time we need to 
> eradicate the possibilities of such or at least introduce some retry 
> mechanism (or handle exceptions), instead of simply treating this as a 
> perf issue. Not everybody have the same hardware configurations that 
> we do, and there can be possibilities of such.
>
> Thanks,
> Senaka.
>
> On Wed, Feb 24, 2010 at 11:52 AM, Sumedha Rubasinghe <[email protected] 
> <mailto:[email protected]>> wrote:
>
>     Hi Hiranya,
>     Did you press save config button multiple times?
>
>     /sumedha
>
>
>
>     On Wed, Feb 24, 2010 at 11:28 AM, Hiranya Jayathilaka
>     <[email protected] <mailto:[email protected]>> wrote:
>
>         Following exception encountered in the ESB while updating a
>         proxy service:
>
>
>         Exception in thread "Thread-23"
>         
> org.wso2.carbon.mediation.initializer.persistence.ServiceBusPersistenceException:
>         Error while saving mediation configuration changes
>         at
>         
> org.wso2.carbon.mediation.initializer.persistence.MediationPersistenceManager.handleException(MediationPersistenceManager.java:278)
>         at
>         
> org.wso2.carbon.mediation.initializer.persistence.MediationPersistenceManager.access$1200(MediationPersistenceManager.java:48)
>         at
>         
> org.wso2.carbon.mediation.initializer.persistence.MediationPersistenceManager$MediationPersistenceWorker.run(MediationPersistenceManager.java:320)
>         Caused by:
>         
> org.wso2.carbon.mediation.initializer.persistence.ServiceBusPersistenceException:
>         Unable to persist the proxy service in the path :
>         /repository/synapse/proxy-services/FooProxy
>         at
>         
> org.wso2.carbon.mediation.initializer.persistence.registry.AbstractRegistryStore.handleException(AbstractRegistryStore.java:101)
>         at
>         
> org.wso2.carbon.mediation.initializer.persistence.registry.ProxyServiceRegistryStore.persistElement(ProxyServiceRegistryStore.java:72)
>         at
>         
> org.wso2.carbon.mediation.initializer.persistence.AbstractStore.saveToRegistry(AbstractStore.java:154)
>         at
>         
> org.wso2.carbon.mediation.initializer.persistence.AbstractStore.save(AbstractStore.java:82)
>         at
>         
> org.wso2.carbon.mediation.initializer.persistence.MediationPersistenceManager.persistElement(MediationPersistenceManager.java:335)
>         at
>         
> org.wso2.carbon.mediation.initializer.persistence.MediationPersistenceManager.access$1000(MediationPersistenceManager.java:48)
>         at
>         
> org.wso2.carbon.mediation.initializer.persistence.MediationPersistenceManager$MediationPersistenceWorker.run(MediationPersistenceManager.java:314)
>         Caused by:
>         org.wso2.carbon.registry.core.exceptions.RegistryException:
>         Unable to persist element
>         at
>         
> org.wso2.carbon.mediation.initializer.persistence.registry.AbstractRegistryStore.persistElement(AbstractRegistryStore.java:95)
>         at
>         
> org.wso2.carbon.mediation.initializer.persistence.registry.ProxyServiceRegistryStore.persistElement(ProxyServiceRegistryStore.java:69)
>         ... 5 more
>         Caused by:
>         org.wso2.carbon.registry.core.exceptions.RegistryException:
>         Failed to add log entry for resource
>         /_system/config/repository/synapse/proxy-services. Deadlock
>         detected. The current transaction was rolled back. Details: 
>         Session #9 (user: WSO2CARBON) is waiting to lock
>         PUBLIC.REG_RESOURCE while locking PUBLIC.REG_ASSOCIATION
>         (exclusive), PUBLIC.REG_LOG (exclusive).
>         Session #12 (user: WSO2CARBON) is waiting to lock
>         PUBLIC.REG_LOG while locking PUBLIC.REG_CONTENT_HISTORY
>         (exclusive), PUBLIC.REG_RESOURCE_HISTORY (exclusive),
>         PUBLIC.REG_RESOURCE (exclusive), PUBLIC.REG_CONTENT
>         (exclusive), PUBLIC.REG_SNAPSHOT (exclusive).; SQL statement:
>         INSERT INTO REG_LOG (REG_PATH, REG_USER_ID, REG_LOGGED_TIME,
>         REG_ACTION, REG_ACTION_DATA, REG_TENANT_ID) VALUES (?, ?, ?,
>         ?, ?, ?) [40001-112]
>         at
>         org.wso2.carbon.registry.core.jdbc.dao.LogsDAO.addLog(LogsDAO.java:79)
>         at
>         
> org.wso2.carbon.registry.core.jdbc.Repository.update(Repository.java:966)
>         at
>         
> org.wso2.carbon.registry.core.jdbc.Repository.updateParent(Repository.java:947)
>         at
>         
> org.wso2.carbon.registry.core.jdbc.Repository.delete(Repository.java:403)
>         at
>         
> org.wso2.carbon.registry.core.jdbc.EmbeddedRegistry.delete(EmbeddedRegistry.java:807)
>         at
>         
> org.wso2.carbon.registry.core.session.UserRegistry.delete(UserRegistry.java:625)
>         at
>         
> org.wso2.carbon.mediation.initializer.persistence.registry.AbstractRegistryStore.persistElement(AbstractRegistryStore.java:79)
>         ... 6 more
>         Caused by: org.h2.jdbc.JdbcSQLException: Deadlock detected.
>         The current transaction was rolled back. Details: 
>         Session #9 (user: WSO2CARBON) is waiting to lock
>         PUBLIC.REG_RESOURCE while locking PUBLIC.REG_ASSOCIATION
>         (exclusive), PUBLIC.REG_LOG (exclusive).
>         Session #12 (user: WSO2CARBON) is waiting to lock
>         PUBLIC.REG_LOG while locking PUBLIC.REG_CONTENT_HISTORY
>         (exclusive), PUBLIC.REG_RESOURCE_HISTORY (exclusive),
>         PUBLIC.REG_RESOURCE (exclusive), PUBLIC.REG_CONTENT
>         (exclusive), PUBLIC.REG_SNAPSHOT (exclusive).; SQL statement:
>         INSERT INTO REG_LOG (REG_PATH, REG_USER_ID, REG_LOGGED_TIME,
>         REG_ACTION, REG_ACTION_DATA, REG_TENANT_ID) VALUES (?, ?, ?,
>         ?, ?, ?) [40001-112]
>         at org.h2.message.Message.getSQLException(Message.java:107)
>         at org.h2.message.Message.getSQLException(Message.java:118)
>         at org.h2.message.Message.getSQLException(Message.java:77)
>         at org.h2.table.TableData.doLock(TableData.java:428)
>         at org.h2.table.TableData.lock(TableData.java:375)
>         at org.h2.command.dml.Insert.update(Insert.java:99)
>         at
>         org.h2.command.CommandContainer.update(CommandContainer.java:71)
>         at org.h2.command.Command.executeUpdate(Command.java:207)
>         at
>         
> org.h2.jdbc.JdbcPreparedStatement.executeUpdateInternal(JdbcPreparedStatement.java:139)
>         at
>         
> org.h2.jdbc.JdbcPreparedStatement.executeUpdate(JdbcPreparedStatement.java:128)
>         at
>         
> org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:102)
>         at
>         org.wso2.carbon.registry.core.jdbc.dao.LogsDAO.addLog(LogsDAO.java:72)
>         ... 12 more
>
>         Thanks
>         -- 
>         Hiranya Jayathilaka
>         Software Engineer;
>         WSO2 Inc.;  http://wso2.org
>         E-mail: [email protected] <mailto:[email protected]>;  Mobile:
>         +94 77 633 3491
>         Blog: http://techfeast-hiranya.blogspot.com
>
>         _______________________________________________
>         Carbon-dev mailing list
>         [email protected] <mailto:[email protected]>
>         https://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev
>
>
>
>     _______________________________________________
>     Carbon-dev mailing list
>     [email protected] <mailto:[email protected]>
>     https://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev
>
>
>
>
> -- 
> Senaka Fernando
> Software Engineer
> WSO2 Inc.
> E-mail: senaka AT wso2.com <http://wso2.com>;  Mobile: +94 77 322 1818
>
> http://www.wso2.com/ - "Lean . Enterprise . Middleware"
> ------------------------------------------------------------------------
>
> _______________________________________________
> Carbon-dev mailing list
> [email protected]
> https://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev
>   


-- 
Ruwan Linton
Technical Lead & Product Manager; WSO2 ESB; http://wso2.org/esb
WSO2 Inc.; http://wso2.org
email: [email protected]; cell: +94 77 341 3097
blog: http://blog.ruwan.org

Lean . Enterprise . Middleware


_______________________________________________
Carbon-dev mailing list
[email protected]
https://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev

Reply via email to