Thanks Adrian Crum, Scott.

Yes, we are refactoring the GlAccountOrganization related services.

With regards,
Pradeep Kumar

With regards,
S K Pradeep Kumar,
9035009495


On Mon, May 19, 2014 at 6:44 PM, Scott Gray <scott.g...@hotwaxmedia.com>wrote:

> GlAccountOrganization looks like it could be contentious for locks due to
> the postedBalance field (lots of separate long running transactions trying
> to update multiple rows at the same time).  The service updating it
> probably needs refactoring so that the update is moved to a smaller
> transaction that executes after the main one has committed successfully.
>
> Regards
> Scott
>
> On 17/05/2014, at 3:46 pm, Adrian Crum <adrian.c...@sandglass-software.com>
> wrote:
>
> > Deadlock issues are hard to reproduce because they are usually timing
> dependent. If your issue is easily reproducible, then most likely it is
> caused by an action (SECA) trying to change data that is being iterated
> over by another action (the service invoking the SECA).
> >
> > Look through the stack trace and see if there is a situation where the
> EntityListIterator is being used, and during iteration another service
> tries to change the table being iterated over. If yes, then the
> EntityListIterator needs to be converted to a java.util.List.
> >
> > Adrian Crum
> > Sandglass Software
> > www.sandglass-software.com
> >
> > On 5/7/2014 11:47 AM, S K Pradeep Kumar wrote:
> >> Hi All,
> >>
> >> What might be the possible reason for this issue :
> >>
> >> This issue starts only when we have the separate servers for Database
> and
> >> Application. but this issue is not coming on the single server.
> >>
> >> We have deployed the application on Amazon EC2 servers.
> >>
> >> Application is deployed on : EC2 Medium instance with 3.75 GB RAM
> >> MySql Database is on : EC2 Medium instance with 3.75 GB RAM
> >>
> >> 2014-05-07 19:36:54,593 (TP-Processor107) [ CallService.java:333:ERROR]
> >> ---- exception report
> >> ---------------------------------------------------------- Exception:
> >> java.lang.Exception Message: Error: ERROR: Could not complete the Update
> >> GlAccountOrganization
> >>
> [file:/applications/accounting/script/org/ofbiz/accounting/ledger/GeneralLedgerServices.xml#updateGlAccountOrganization]
> >> process [problem storing the lookedUpValue value: Error while updating:
> >> [GenericEntity:GlAccountOrganization][createdStamp,2013-08-19
> >> 12:32:25.0(java.sql.Timestamp)][createdTxStamp,2013-08-19
> >> 12:32:25.0(java.sql.Timestamp)][fromDate,2001-01-01
> >>
> 00:00:00.0(java.sql.Timestamp)][glAccountId,214000(java.lang.String)][lastUpdatedStamp,2014-05-07
> >> 19:36:54.579(java.sql.Timestamp)][lastUpdatedTxStamp,2014-05-07
> >>
> 19:36:54.334(java.sql.Timestamp)][organizationPartyId,Company(java.lang.String)][postedBalance,701133.69(java.math.BigDecimal)][roleTypeId,null()][thruDate,null()]
> >> (SQL Exception while executing the following:UPDATE
> GL_ACCOUNT_ORGANIZATION
> >> SET ROLE_TYPE_ID=?, FROM_DATE=?, THRU_DATE=?, POSTED_BALANCE=?,
> >> LAST_UPDATED_STAMP=?, LAST_UPDATED_TX_STAMP=?, CREATED_STAMP=?,
> >> CREATED_TX_STAMP=? WHERE GL_ACCOUNT_ID=? AND ORGANIZATION_PARTY_ID=?
> >> (Deadlock found when trying to get lock; try restarting
> >> transaction))]  calling service updateGlAccountOrganization in
> >> postAcctgTrans ---- stack trace
> >> ---------------------------------------------------------------
> >> java.lang.Exception: Error: ERROR: Could not complete the Update
> >> GlAccountOrganization
> >>
> [file:/applications/accounting/script/org/ofbiz/accounting/ledger/GeneralLedgerServices.xml#updateGlAccountOrganization]
> >> process [problem storing the lookedUpValue value: Error while updating:
> >> [GenericEntity:GlAccountOrganization][createdStamp,2013-08-19
> >> 12:32:25.0(java.sql.Timestamp)][createdTxStamp,2013-08-19
> >> 12:32:25.0(java.sql.Timestamp)][fromDate,2001-01-01
> >>
> 00:00:00.0(java.sql.Timestamp)][glAccountId,214000(java.lang.String)][lastUpdatedStamp,2014-05-07
> >> 19:36:54.579(java.sql.Timestamp)][lastUpdatedTxStamp,2014-05-07
> >>
> 19:36:54.334(java.sql.Timestamp)][organizationPartyId,Company(java.lang.String)][postedBalance,701133.69(java.math.BigDecimal)][roleTypeId,null()][thruDate,null()]
> >> (SQL Exception while executing the following:UPDATE
> GL_ACCOUNT_ORGANIZATION
> >> SET ROLE_TYPE_ID=?, FROM_DATE=?, THRU_DATE=?, POSTED_BALANCE=?,
> >> LAST_UPDATED_STAMP=?, LAST_UPDATED_TX_STAMP=?, CREATED_STAMP=?,
> >> CREATED_TX_STAMP=? WHERE GL_ACCOUNT_ID=? AND ORGANIZATION_PARTY_ID=?
> >> (Deadlock found when trying to get lock; try restarting
> >> transaction))]  calling service updateGlAccountOrganization in
> >> postAcctgTrans
> >> org.ofbiz.minilang.method.callops.CallService.exec(CallService.java:333)
> >> org.ofbiz.minilang.SimpleMethod.runSubOps(SimpleMethod.java:920)
> >> org.ofbiz.minilang.method.envops.Iterate.exec(Iterate.java:118)
> >> org.ofbiz.minilang.SimpleMethod.runSubOps(SimpleMethod.java:920)
> >> org.ofbiz.minilang.method.ifops.IfCompare.exec(IfCompare.java:135)
> >> org.ofbiz.minilang.SimpleMethod.runSubOps(SimpleMethod.java:920)
> >> org.ofbiz.minilang.SimpleMethod.exec(SimpleMethod.java:739)
> >> org.ofbiz.minilang.SimpleMethod.runSimpleMethod(SimpleMethod.java:160)
> >> org.ofbiz.minilang.SimpleMethod.runSimpleService(SimpleMethod.java:142)
> >>
> org.ofbiz.minilang.SimpleServiceEngine.serviceInvoker(SimpleServiceEngine.java:78)
> >>
> org.ofbiz.minilang.SimpleServiceEngine.runSync(SimpleServiceEngine.java:53)
> >>
> org.ofbiz.service.ModelServiceReader$GenericInvokerImpl.runSync(ModelServiceReader.java:761)
> >>
> _$gen.file_58$.youmart.youmart_95$v3.trunk.applications.accounting.servicedef.services_95$ledger_46$xml_35$postAcctgTrans.runSync(file:/youmart/youmart_v3/trunk/applications/accounting/servicedef/services_ledger.xml#postAcctgTrans:283)
> >> org.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:399)
> >> org.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:226)
> >> org.ofbiz.service.GenericDispatcher.runSync(GenericDispatcher.java:163)
> >>
> org.ofbiz.service.eca.ServiceEcaAction.runAction(ServiceEcaAction.java:138)
> >> org.ofbiz.service.eca.ServiceEcaRule.eval(ServiceEcaRule.java:151)
> >> org.ofbiz.service.eca.ServiceEcaUtil.evalRules(ServiceEcaUtil.java:162)
> >> org.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:500)
> >> org.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:226)
> >> org.ofbiz.service.GenericDispatcher.runSync(GenericDispatcher.java:177)
> >> org.ofbiz.minilang.method.callops.CallService.exec(CallService.java:247)
> >> org.ofbiz.minilang.SimpleMethod.runSubOps(SimpleMethod.java:920)
> >> org.ofbiz.minilang.SimpleMethod.exec(SimpleMethod.java:739)
> >> org.ofbiz.minilang.SimpleMethod.runSimpleMethod(SimpleMethod.java:160)
> >> org.ofbiz.minilang.SimpleMethod.runSimpleService(SimpleMethod.java:142)
> >>
> org.ofbiz.minilang.SimpleServiceEngine.serviceInvoker(SimpleServiceEngine.java:78)
> >>
> org.ofbiz.minilang.SimpleServiceEngine.runSync(SimpleServiceEngine.java:53)
> >>
> org.ofbiz.service.ModelServiceReader$GenericInvokerImpl.runSync(ModelServiceReader.java:761)
> >>
> _$gen.file_58$.youmart.youmart_95$v3.trunk.applications.accounting.servicedef.services_95$ledger_46$xml_35$createAcctgTransForShipmentReceipt.runSync(file:/youmart/youmart_v3/trunk/applications/accounting/servicedef/services_ledger.xml#createAcctgTransForShipmentReceipt:357)
> >> org.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:399)
> >> org.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:226)
> >> org.ofbiz.service.GenericDispatcher.runSync(GenericDispatcher.java:163)
> >>
> org.ofbiz.service.eca.ServiceEcaAction.runAction(ServiceEcaAction.java:138)
> >> org.ofbiz.service.eca.ServiceEcaRule.eval(ServiceEcaRule.java:151)
> >> org.ofbiz.service.eca.ServiceEcaUtil.evalRules(ServiceEcaUtil.java:162)
> >> org.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:500)
> >> org.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:226)
> >> org.ofbiz.service.GenericDispatcher.runSync(GenericDispatcher.java:177)
> >> org.ofbiz.minilang.method.callops.CallService.exec(CallService.java:247)
> >> org.ofbiz.minilang.SimpleMethod.runSubOps(SimpleMethod.java:920)
> >> org.ofbiz.minilang.method.envops.Loop.exec(Loop.java:82)
> >> org.ofbiz.minilang.SimpleMethod.runSubOps(SimpleMethod.java:920)
> >> org.ofbiz.minilang.SimpleMethod.exec(SimpleMethod.java:739)
> >> org.ofbiz.minilang.SimpleMethod.runSimpleMethod(SimpleMethod.java:160)
> >> org.ofbiz.minilang.SimpleMethod.runSimpleService(SimpleMethod.java:142)
> >>
> org.ofbiz.minilang.SimpleServiceEngine.serviceInvoker(SimpleServiceEngine.java:78)
> >>
> org.ofbiz.minilang.SimpleServiceEngine.runSync(SimpleServiceEngine.java:53)
> >>
> org.ofbiz.service.ModelServiceReader$GenericInvokerImpl.runSync(ModelServiceReader.java:761)
> >>
> _$gen.file_58$.youmart.youmart_95$v3.trunk.applications.product.servicedef.services_95$shipment_46$xml_35$receiveInventoryProduct.runSync(file:/youmart/youmart_v3/trunk/applications/product/servicedef/services_shipment.xml#receiveInventoryProduct:775)
> >> org.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:399)
> >> org.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:226)
> >> org.ofbiz.service.GenericDispatcher.runSync(GenericDispatcher.java:163)
> >>
> org.ofbiz.order.shoppinglist.ShoppingListEvents.dailyUpload(ShoppingListEvents.java:1423)
> >> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> >>
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> >>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> >> java.lang.reflect.Method.invoke(Method.java:597)
> >> org.ofbiz.webapp.event.JavaEventHandler.invoke(JavaEventHandler.java:92)
> >> org.ofbiz.webapp.event.JavaEventHandler.invoke(JavaEventHandler.java:78)
> >>
> org.ofbiz.webapp.control.RequestHandler.runEvent(RequestHandler.java:642)
> >>
> org.ofbiz.webapp.control.RequestHandler.doRequest(RequestHandler.java:388)
> >> org.ofbiz.webapp.control.ControlServlet.doGet(ControlServlet.java:226)
> >> org.ofbiz.webapp.control.ControlServlet.doPost(ControlServlet.java:89)
> >> javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
> >> javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> >>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> >>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> >> org.ofbiz.webapp.control.ContextFilter.doFilter(ContextFilter.java:339)
> >>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> >>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> >>
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
> >>
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
> >>
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> >>
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> >>
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> >>
> org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:554)
> >>
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
> >> org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
> >> org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)
> >> org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:776)
> >>
> org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:705)
> >>
> org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:898)
> >>
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
> >> java.lang.Thread.run(Thread.java:619)
> >>
> --------------------------------------------------------------------------------
> >>
> >>
> >>
> >> With regards,
> >> S K Pradeep Kumar,
> >> 9035009495
> >>
>
>

Reply via email to