java - Transaction errors in JBoss AS 7.1 with MySQL database -
sometimes occurs errors in web application, these errors makes application slow , first end generating other errors.
usually regular application runs 100 + users, happens less.
this occurs few days after starting server.
when problem occurs, try restart jboss , mysql application slowly.
some characteristics of application:
constant database access (an example checking new messages in chat, each user checked every 10-60 seconds if there new message)
- we have average of 30 users online , may reach 300.
- we use amazon aws server (m.large)
- we use controller architecture -> business -> dao
here few lines error log generated jboss:
14:33:19,450 warn [com.arjuna.ats.arjuna] (transaction reaper) arjuna012117: transactionreaper::check timeout tx 0:ffffac1f18d6:69031402:540ce9d8:8c88e1 in state run
14:33:19,543 warn [com.arjuna.ats.arjuna] (transaction reaper worker 0) arjuna012095: abort of action id 0:ffffac1f18d6:69031402:540ce9d8:8c88e1 invoked while multiple threads active within it.
14:33:19,544 warn [com.arjuna.ats.arjuna] (transaction reaper worker 0) arjuna012108: checkedaction::check - atomic action 0:ffffac1f18d6:69031402:540ce9d8:8c88e1 aborting 1 threads active!
14:33:19,977 warn [com.arjuna.ats.arjuna] (transaction reaper) arjuna012117: transactionreaper::check timeout tx 0:ffffac1f18d6:69031402:540ce9d8:8c88e1 in state cancel
14:33:20,503 warn [com.arjuna.ats.arjuna] (transaction reaper) arjuna012117: transactionreaper::check timeout tx 0:ffffac1f18d6:69031402:540ce9d8:8c88e1 in state cancel_interrupted
14:33:20,513 warn [com.arjuna.ats.arjuna] (transaction reaper) arjuna012120: transactionreaper::check worker thread[transaction reaper worker 0,5,main] not responding interrupt when cancelling tx 0:ffffac1f18d6:69031402:540ce9d8:8c88e1 -- worker marked zombie , tx scheduled mark-as-rollback
14:33:20,517 warn [com.arjuna.ats.arjuna] (transaction reaper) arjuna012110: transactionreaper::check successfuly marked tx 0:ffffac1f18d6:69031402:540ce9d8:8c88e1 rollback only
14:33:26,037 warn [com.arjuna.ats.arjuna] (transaction reaper) arjuna012117: transactionreaper::check timeout tx 0:ffffac1f18d6:69031402:540ce9d8:8c8a92 in state run
14:33:45,711 error [org.jboss.ejb3.invocation] (http--0.0.0.0-8080-93) jbas014134: ejb invocation failed on component business/mensagembs method public abstract java.util.list br.com.coderpro.business.local.mensagembslocal.getmensagensrecebidasdousuario(java.lang.long,br.com.coderpro.entities.tipousuario) throws br.com.coderpro.exceptions.businessexception: javax.ejb.ejbtransactionrolledbackexception: transaction rolled @ org.jboss.as.ejb3.tx.cmttxinterceptor.handleendtransactionexception(cmttxinterceptor.java:115) [jboss-as-ejb3-7.1.1.final.jar:7.1.1.final] @ org.jboss.as.ejb3.tx.cmttxinterceptor.endtransaction(cmttxinterceptor.java:95) [jboss-as-ejb3-7.1.1.final.jar:7.1.1.final] @ org.jboss.as.ejb3.tx.cmttxinterceptor.invokeinourtx(cmttxinterceptor.java:232) [jboss-as-ejb3-7.1.1.final.jar:7.1.1.final] @ org.jboss.as.ejb3.tx.cmttxinterceptor.required(cmttxinterceptor.java:304) [jboss-as-ejb3-7.1.1.final.jar:7.1.1.final] @ org.jboss.as.ejb3.tx.cmttxinterceptor.processinvocation(cmttxinterceptor.java:190) [jboss-as-ejb3-7.1.1.final.jar:7.1.1.final] @ org.jboss.invocation.interceptorcontext.proceed(interceptorcontext.java:288) [jboss-invocation-1.1.1.final.jar:1.1.1.final] @ org.jboss.as.ejb3.component.interceptors.currentinvocationcontextinterceptor.processinvocation(currentinvocationcontextinterceptor.java:41) [jboss-as-ejb3-7.1.1.final.jar:7.1.1.final] @ org.jboss.invocation.interceptorcontext.proceed(interceptorcontext.java:288) [jboss-invocation-1.1.1.final.jar:1.1.1.final] @ org.jboss.as.ejb3.component.interceptors.logginginterceptor.processinvocation(logginginterceptor.java:59) [jboss-as-ejb3-7.1.1.final.jar:7.1.1.final] @ org.jboss.invocation.interceptorcontext.proceed(interceptorcontext.java:288) [jboss-invocation-1.1.1.final.jar:1.1.1.final] @ org.jboss.as.ee.component.namespacecontextinterceptor.processinvocation(namespacecontextinterceptor.java:50) [jboss-as-ee-7.1.1.final.jar:7.1.1.final] @ org.jboss.invocation.interceptorcontext.proceed(interceptorcontext.java:288) [jboss-invocation-1.1.1.final.jar:1.1.1.final] @ org.jboss.as.ejb3.component.interceptors.additionalsetupinterceptor.processinvocation(additionalsetupinterceptor.java:32) [jboss-as-ejb3-7.1.1.final.jar:7.1.1.final] @ org.jboss.invocation.interceptorcontext.proceed(interceptorcontext.java:288) [jboss-invocation-1.1.1.final.jar:1.1.1.final] @ org.jboss.as.ee.component.tcclinterceptor.processinvocation(tcclinterceptor.java:45) [jboss-as-ee-7.1.1.final.jar:7.1.1.final] @ org.jboss.invocation.interceptorcontext.proceed(interceptorcontext.java:288) [jboss-invocation-1.1.1.final.jar:1.1.1.final] @ org.jboss.invocation.chainedinterceptor.processinvocation(chainedinterceptor.java:61) [jboss-invocation-1.1.1.final.jar:1.1.1.final] @ org.jboss.as.ee.component.viewservice$view.invoke(viewservice.java:165) [jboss-as-ee-7.1.1.final.jar:7.1.1.final] @ org.jboss.as.ee.component.viewdescription$1.processinvocation(viewdescription.java:173) [jboss-as-ee-7.1.1.final.jar:7.1.1.final] @ org.jboss.invocation.interceptorcontext.proceed(interceptorcontext.java:288) [jboss-invocation-1.1.1.final.jar:1.1.1.final] @ org.jboss.invocation.chainedinterceptor.processinvocation(chainedinterceptor.java:61) [jboss-invocation-1.1.1.final.jar:1.1.1.final] @ org.jboss.as.ee.component.proxyinvocationhandler.invoke(proxyinvocationhandler.java:72) [jboss-as-ee-7.1.1.final.jar:7.1.1.final] @ br.com.coderpro.business.local.mensagembslocal$$$view165.getmensagensrecebidasdousuario(unknown source) [classes:] @ br.com.coderpro.services.consultaservice.listarmensagens(consultaservice.java:200) [classes:] @ br.com.coderpro.services.consultaservice$proxy$_$$weldclientproxy.listarmensagens(consultaservice$proxy$$$_weldclientproxy.java) [classes:] @ sun.reflect.generatedmethodaccessor452.invoke(unknown source) [:1.7.0_51] @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:43) [rt.jar:1.7.0_51] @ java.lang.reflect.method.invoke(method.java:606) [rt.jar:1.7.0_51] @ org.jboss.resteasy.core.methodinjectorimpl.invoke(methodinjectorimpl.java:155) [resteasy-jaxrs-2.3.2.final.jar:] @ org.jboss.resteasy.core.resourcemethod.invokeontarget(resourcemethod.java:257) [resteasy-jaxrs-2.3.2.final.jar:] @ org.jboss.resteasy.core.resourcemethod.invoke(resourcemethod.java:222) [resteasy-jaxrs-2.3.2.final.jar:] @ org.jboss.resteasy.core.resourcemethod.invoke(resourcemethod.java:211) [resteasy-jaxrs-2.3.2.final.jar:] @ org.jboss.resteasy.core.synchronousdispatcher.getresponse(synchronousdispatcher.java:525) [resteasy-jaxrs-2.3.2.final.jar:] @ org.jboss.resteasy.core.synchronousdispatcher.invoke(synchronousdispatcher.java:502) [resteasy-jaxrs-2.3.2.final.jar:] @ org.jboss.resteasy.core.synchronousdispatcher.invoke(synchronousdispatcher.java:119) [resteasy-jaxrs-2.3.2.final.jar:] @ org.jboss.resteasy.plugins.server.servlet.servletcontainerdispatcher.service(servletcontainerdispatcher.java:208) [resteasy-jaxrs-2.3.2.final.jar:] @ org.jboss.resteasy.plugins.server.servlet.httpservletdispatcher.service(httpservletdispatcher.java:55) [resteasy-jaxrs-2.3.2.final.jar:] @ org.jboss.resteasy.plugins.server.servlet.httpservletdispatcher.service(httpservletdispatcher.java:50) [resteasy-jaxrs-2.3.2.final.jar:] @ javax.servlet.http.httpservlet.service(httpservlet.java:847) [jboss-servlet-api_3.0_spec-1.0.0.final.jar:1.0.0.final] @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:329) [jbossweb-7.0.13.final.jar:] @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:248) [jbossweb-7.0.13.final.jar:] @ org.jboss.weld.servlet.conversationpropagationfilter.dofilter(conversationpropagationfilter.java:62) [weld-core-1.1.5.as71.final.jar:2012-02-10 15:31] @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:280) [jbossweb-7.0.13.final.jar:] @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:248) [jbossweb-7.0.13.final.jar:] @ br.com.coderpro.controller.filters.keepmeloggedinfiltercontroller.dofilter(keepmeloggedinfiltercontroller.java:64) [classes:] @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:280) [jbossweb-7.0.13.final.jar:] @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:248) [jbossweb-7.0.13.final.jar:] @ org.apache.catalina.core.standardwrappervalve.invoke(standardwrappervalve.java:275) [jbossweb-7.0.13.final.jar:] @ org.apache.catalina.core.standardcontextvalve.invoke(standardcontextvalve.java:161) [jbossweb-7.0.13.final.jar:] @ org.jboss.as.web.security.securitycontextassociationvalve.invoke(securitycontextassociationvalve.java:153) [jboss-as-web-7.1.1.final.jar:7.1.1.final] @ org.apache.catalina.core.standardhostvalve.invoke(standardhostvalve.java:155) [jbossweb-7.0.13.final.jar:] @ org.apache.catalina.valves.errorreportvalve.invoke(errorreportvalve.java:102) [jbossweb-7.0.13.final.jar:] @ org.apache.catalina.core.standardenginevalve.invoke(standardenginevalve.java:109) [jbossweb-7.0.13.final.jar:] @ org.apache.catalina.connector.coyoteadapter.service(coyoteadapter.java:368) [jbossweb-7.0.13.final.jar:] @ org.apache.coyote.http11.http11processor.process(http11processor.java:877) [jbossweb-7.0.13.final.jar:] @ org.apache.coyote.http11.http11protocol$http11connectionhandler.process(http11protocol.java:671) [jbossweb-7.0.13.final.jar:] @ org.apache.tomcat.util.net.jioendpoint$worker.run(jioendpoint.java:930) [jbossweb-7.0.13.final.jar:] @ java.lang.thread.run(thread.java:744) [rt.jar:1.7.0_51] caused by: javax.transaction.rollbackexception: arjuna016063: transaction not active! @ com.arjuna.ats.internal.jta.transaction.arjunacore.transactionimple.commitanddisassociate(transactionimple.java:1155) @ com.arjuna.ats.internal.jta.transaction.arjunacore.basetransaction.commit(basetransaction.java:117) @ com.arjuna.ats.jbossatx.basetransactionmanagerdelegate.commit(basetransactionmanagerdelegate.java:75) @ org.jboss.as.ejb3.tx.cmttxinterceptor.endtransaction(cmttxinterceptor.java:92) [jboss-as-ejb3-7.1.1.final.jar:7.1.1.final] ... 56 more
15:11:16,316 error [br.com.coderpro.dao.projetodao] (http--0.0.0.0-8080-112) com.mysql.jdbc.exceptions.jdbc4.mysqltransactionrollbackexception: deadlock found when trying lock; try restarting transaction 15:11:16,315 error [br.com.coderpro.dao.projetodao] (http--0.0.0.0-8080-252) com.mysql.jdbc.exceptions.jdbc4.mysqltransactionrollbackexception: deadlock found when trying lock; try restarting transaction 15:11:16,315 error [br.com.coderpro.dao.projetodao] (http--0.0.0.0-8080-369) com.mysql.jdbc.exceptions.jdbc4.mysqltransactionrollbackexception: deadlock found when trying lock; try restarting transaction 15:11:16,815 error [br.com.coderpro.business.projetobs] (http--0.0.0.0-8080-252) br.com.coderpro.exceptions.daoexception: com.mysql.jdbc.exceptions.jdbc4.mysqltransactionrollbackexception: deadlock found when trying lock; try restarting transaction 15:11:16,241 warn [com.arjuna.ats.arjuna] (transaction reaper) arjuna012117: transactionreaper::check timeout tx 0:ffffac1f18d6:69031402:540ce9d8:8ee30a in state run
summarizing errors [com.arjuna.ats.arjuna], errors in bs classes , dao (transaction rolled caused transaction not active!) , deadlocks.
are using bean-managed transactions? "usertransaction" references in code. stack trace mentions "cmttxinterceptor" there may container-managed transactions involved (they default beans in j-boss).
i've seen symptom when both container , bean-managed transaction beans mixed. oracle documentation mentioned unsupported; though, can't find @ present. @ times arrangement worked fine, when timeouts came or other unexpected errors occurred fail in , other troublesome ways.
edit: if both bean , container-managed in use go 1 or other.
Comments
Post a Comment