Hi Neeraj,
We have logged similar issue in JIRA
https://mifosforge.jira.com/browse/MIFOSX-968.
But not at this volume, this was for some where around 1000+ concurrent
users and for collection sheet and each collection sheet was equivalent to
40 repayments so concurrency was 40k repayments.
Try looking at mysql process list during the load testing, may be useful.
And also can you please give more context on your work (objectives), I am
very much interested to work with you if possible.
Thanks
Nayan Ambali
Thanks and Regards,
Nayan Ambali
+91 9591996042
skype: nayangambali
On Thu, Mar 13, 2014 at 5:45 PM, sparkmydream <[email protected]> wrote:
> Hi Nayan,
>
> Thanks for the reply.
>
> max_connection of mysql is currently 151 set.
>
> Event with concurrent 2 users, 1 transaction get failed with mysql
> deadlock.
>
> In the jmeter response I can see the json response of success cases and
> exception log with error 500 for failure cases.
> I am posting on mifosng-provider/api/v1/loans with payload like
>
> {
> "dateFormat": "dd MMMM yyyy",
> "locale": "en_GB",
> "clientId": 1,
> "productId": 1,
> "principal": "1000.00",
> "loanTermFrequency": 1000,
> "loanTermFrequencyType": 2,
> "loanType": "individual",
> "numberOfRepayments": 10,
> "repaymentEvery": 1,
> "repaymentFrequencyType": 2,
> "interestRatePerPeriod": 9,
> "amortizationType": 1,
> "interestType": 0,
> "interestCalculationPeriodType": 1,
> "transactionProcessingStrategyId": 1,
> "expectedDisbursementDate": "07 March 2014",
> "submittedOnDate": "05 March 2014"
> }
>
> When I create concurrent client with the API's I do not get any dead lock
> issues. With transactions I am getting deadlock.
>
> Thanks
> Neeraj
>
> On Thursday, March 13, 2014 5:04:52 PM UTC+5:30, Nayan Ambali wrote:
>
>> Hi Neeraj,
>>
>> That is great to know that you trying for load testing.
>> One quick things look at is max_connection value of mysql.
>>
>> Also refer https://mifosforge.jira.com/browse/MIFOSX-949, may help you
>> understand issue better.
>>
>> few more question, when you hit demo server how did you know that there
>> were no such issues? do you have access to server logs :) or based on
>> Jmeter response? And which request did you hit (x: login, viewclient etc)
>>
>> Thanks
>> Nayan Ambali
>>
>>
>>
>>
>>
>>
>> Thanks and Regards,
>> Nayan Ambali
>> +91 9591996042
>> skype: nayangambali
>>
>>
>> On Thu, Mar 13, 2014 at 4:46 PM, Neeraj kushwaha <[email protected]>wrote:
>>
>>> Hi,
>>>
>>> I have deployed mifos-x on my centos local machine. Using jmeter when i
>>> fire concurrent users (10 users), I am seeing failure with logs as shown
>>> below.
>>>
>>> If i hit the https://demo.openmf.org server with jmeter I do not get
>>> that deadlock issue.
>>>
>>> Is I am my missing some setting for tomcat or mysql.
>>>
>>> Pl. help me resolve it.
>>>
>>> Thanks
>>> Neeraj
>>>
>>> org.springframework.dao.CannotAcquireLockException: Deadlock found when
>>> trying to get lock; try restarting transaction; SQL [n/a]; nested exception
>>> is org.hibernate.exception.LockAcquisitionException: Deadlock found when
>>> trying to get lock; try restarting transaction
>>>
>>> org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:639)
>>>
>>> org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:104)
>>>
>>> org.springframework.orm.jpa.JpaTransactionManager.doCommit(JpaTransactionManager.java:516)
>>>
>>> org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:754)
>>>
>>> org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:723)
>>>
>>> org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:387)
>>>
>>> org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:120)
>>>
>>> org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
>>>
>>> org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
>>> com.sun.proxy.$Proxy66.processAndLogCommand(Unknown Source)
>>>
>>> org.mifosplatform.commands.service.PortfolioCommandSourceWritePlatformServiceImpl.logCommandSource(PortfolioCommandSourceWritePlatformServiceImpl.java:72)
>>> sun.reflect.GeneratedMethodAccessor150.invoke(Unknown Source)
>>>
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>> java.lang.reflect.Method.invoke(Method.java:606)
>>>
>>> org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
>>>
>>> org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:198)
>>> com.sun.proxy.$Proxy67.logCommandSource(Unknown Source)
>>>
>>> org.mifosplatform.portfolio.loanaccount.api.LoansApiResource.calculateLoanScheduleOrSubmitLoanApplication(LoansApiResource.java:493)
>>> sun.reflect.GeneratedMethodAccessor167.invoke(Unknown Source)
>>>
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>> java.lang.reflect.Method.invoke(Method.java:606)
>>>
>>> com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
>>>
>>> com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:185)
>>>
>>> com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
>>>
>>> com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)
>>>
>>> com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
>>>
>>> com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
>>>
>>> com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
>>>
>>> com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1511)
>>>
>>> com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1442)
>>>
>>> com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1391)
>>>
>>> com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1381)
>>>
>>> com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416)
>>>
>>> com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:538)
>>>
>>> com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:716)
>>> javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
>>> org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
>>>
>>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
>>>
>>> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
>>>
>>> org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
>>>
>>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>>>
>>> org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
>>>
>>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>>>
>>> org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
>>>
>>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>>>
>>> org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
>>>
>>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>>>
>>> org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:201)
>>>
>>> org.mifosplatform.infrastructure.security.filter.TenantAwareBasicAuthenticationFilter.doFilter(TenantAwareBasicAuthenticationFilter.java:118)
>>>
>>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>>>
>>> org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
>>>
>>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>>>
>>> org.springframework.security.web.access.channel.ChannelProcessingFilter.doFilter(ChannelProcessingFilter.java:144)
>>>
>>> org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
>>>
>>> org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
>>>
>>> org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
>>>
>>> org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:343)
>>>
>>> org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:260)
>>>
>>>
>>> ------------------------------------------------------------
>>> ------------------
>>> Learn Graph Databases - Download FREE O'Reilly Book
>>> "Graph Databases" is the definitive new guide to graph databases and
>>> their
>>> applications. Written by three acclaimed leaders in the field,
>>> this first edition is now available. Download your free book today!
>>> http://p.sf.net/sfu/13534_NeoTech
>>> _______________________________________________
>>> Mifos-users mailing list
>>> [email protected]
>>> https://lists.sourceforge.net/lists/listinfo/mifos-users
>>>
>>>
>>
>
> ------------------------------------------------------------------------------
> Learn Graph Databases - Download FREE O'Reilly Book
> "Graph Databases" is the definitive new guide to graph databases and their
> applications. Written by three acclaimed leaders in the field,
> this first edition is now available. Download your free book today!
> http://p.sf.net/sfu/13534_NeoTech
> _______________________________________________
> Mifos-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/mifos-users
>
>
------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/13534_NeoTech
_______________________________________________
Mifos-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mifos-users