I wonder whether the changes made by Sumedha went into alpha2. Anyway, the
results don't seem very informative to understand what actually happened.
Can you do the same tests on H2 and paste any issues you see.

Thanks,
Senaka.

On Thu, Feb 25, 2010 at 11:16 PM, Krishantha Samaraweera <
[email protected]> wrote:

> Since it will take time to setup perf tests with embedded registry,
> APP based perf tests have been executed with alpha2 build using
> Oracle. Following dead lock situation occurred just after starting the
> worker1 class with 500 iterations and 20 concurrent users. Please
> refer to [1] detail error log.
>
> [2010-02-25 22:39:25,171] ERROR -  A SQLException error has occurred
> when trying to close result set or prepared statement
> java.sql.SQLException: ORA-00060: deadlock detected while waiting for
> resource
>
>        at
> oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
>        at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
>        at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
>        at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743)
>        at
> oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:216)
>        at
> oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:955)
>        at
> oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1168)
>        at
> oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3285)
>        at
> oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3368)
>         at
> org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:102)
>         at
> org.wso2.carbon.registry.core.jdbc.dao.ResourceDAO.deleteContentStream(ResourceDAO.java:658)
>        at
> org.wso2.carbon.registry.core.jdbc.dao.ResourceVersionDAO.versionResource(ResourceVersionDAO.java:1052)
>        at
> org.wso2.carbon.registry.core.jdbc.VersionRepository.createVersionForResource(VersionRepository.java:191)
>        at
> org.wso2.carbon.registry.core.jdbc.VersionRepository.createSnapshot(VersionRepository.java:77)
>        at
> org.wso2.carbon.registry.core.jdbc.Repository.deleteSubTree(Repository.java:471)
>         at
> org.wso2.carbon.registry.core.jdbc.Repository.delete(Repository.java:403)
>         at
> org.wso2.carbon.registry.core.jdbc.EmbeddedRegistry.delete(EmbeddedRegistry.java:805)
>         at
> org.wso2.carbon.registry.core.session.UserRegistry.delete(UserRegistry.java:625)
>         at
> org.wso2.carbon.registry.app.RegistryAdapter.processDeleteRequest(RegistryAdapter.java:602)
>        at
> org.wso2.carbon.registry.app.RegistryAdapter.extensionRequest(RegistryAdapter.java:124)
>        at
> org.apache.abdera.protocol.server.impl.AbstractProvider.processExtensionRequest(AbstractProvider.java:196)
>        at
> org.apache.abdera.protocol.server.impl.AbstractProvider.process(AbstractProvider.java:137)
>        at
> org.apache.abdera.protocol.server.FilterChain.next(FilterChain.java:42)
>        at
> org.apache.abdera.protocol.server.servlet.AbderaServlet.service(AbderaServlet.java:90)
>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>        at
> org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
>        at
> org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:111)
>        at
> org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:67)
>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>        at
> org.wso2.carbon.bridge.BridgeServlet.service(BridgeServlet.java:135)
>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>        at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
>        at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
>        at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
>        at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
>        at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
>        at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
>        at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
>        at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
>        at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
>        at
> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
>        at
> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
>        at
> org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
>        at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
>        at java.lang.Thread.run(Thread.java:619)
>
> Thanks,
> Krishantha.
>
> [1] http://pastebin.com/Wi5RADvm
>
>
> On Wed, Feb 24, 2010 at 1:08 PM, Krishantha Samaraweera
> <[email protected]> wrote:
> > On Wed, Feb 24, 2010 at 12:18 PM, Dimuthu Gamage <[email protected]>
> wrote:
> >> +1 for running perf tests. We can't rely on the atom based remote
> registry
> >> based perf tests that we used to run earlier, which doesn't have the
> >> transactional database access across registry operations. We can use the
> >> same tests to run with embedded registry.
> >
> > Dimuthu, Can you help me to convert exiting  APP based pref tests to
> > run with embedded registry.
> >
> > We delayed perf test execution until we resolve oracle and MSSQL
> > support with G-Reg. However, It is not good to delay this further
> > anymore.
> >
> > So I will start perf tests with mysql within today.
> >
> > Thanks,
> > Krishantha.
> >
> >>
> >> With multiple registry operations are runing in one transaction, this
> kind
> >> of deadlock are possible. As senaka pointed out the solution can be
> >> introducing a retry mechanism (handle exception and retry after a random
> >> interval).
> >>
> >> Thanks
> >> Dimuthu
> >>
> >>
> >> On Wed, Feb 24, 2010 at 12:08 PM, Senaka Fernando <[email protected]>
> wrote:
> >>>
> >>> Hi it seems that you have persisted a resource + created an association
> at
> >>> the same time in two threads. 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]
> >
> >>> 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]>
> >>>> 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];  Mobile: +94 77 633 3491
> >>>>> Blog: http://techfeast-hiranya.blogspot.com
> >>>>>
> >>>>> _______________________________________________
> >>>>> Carbon-dev mailing list
> >>>>> [email protected]
> >>>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev
> >>>>>
> >>>>
> >>>>
> >>>> _______________________________________________
> >>>> Carbon-dev mailing list
> >>>> [email protected]
> >>>> https://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev
> >>>>
> >>>
> >>>
> >>>
> >>> --
> >>> Senaka Fernando
> >>> Software Engineer
> >>> WSO2 Inc.
> >>> E-mail: senaka AT 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
> >>>
> >>
> >>
> >> _______________________________________________
> >> Carbon-dev mailing list
> >> [email protected]
> >> https://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev
> >>
> >>
> >
>
> _______________________________________________
> Carbon-dev mailing list
> [email protected]
> https://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev
>



-- 
Senaka Fernando
Software Engineer
WSO2 Inc.
E-mail: senaka AT 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

Reply via email to