JTA transaction timeout exception - weblogic 10.X

I changed the JTA transaction timeout from the admin console and set the value to 300, even after changing it, stating that the JTA transaction unexpectedly rolled back (possibly due to a timeout) using

weblogic.transaction.RollbackException: Transaction timed out after 181 seconds` 

To make sure that my changes (timeout value 300) were reflected in this domain or not, I checked config.xml in the domain, it was reflected in 300.

My question is: is there any other place to update the transaction timeout value and do I need to restart the server?

Full stack trace after exception from the server below:

  Caused by: org.springframework.transaction.UnexpectedRollbackException: JTA transaction unexpectedly rolled back (maybe due to a timeout);  nested exception is weblogic.transaction.RollbackException: Transaction
  timed out after 180 seconds
 BEA1-160A800A149091F72E5E
     at org.springframework.transaction.jta.JtaTransactionManager.doCommit (JtaTransactionManager.java:1031)
     at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit (AbstractPlatformTransactionManager.java:709)
     at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit (AbstractPlatformTransactionManager.java:678)
     at org.springframework.transaction.interceptor.TransactionAspectSupport.completeTransactionAfterThrowing (TransactionAspectSupport.javahaps59)
     at org.springframework.transaction.interceptor.TransactionInterceptor.invoke (TransactionInterceptor.java:110)
     at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed (ReflectiveMethodInvocation.java:171)
     at org.springframework.aop.framework.JdkDynamicAopProxy.invoke (JdkDynamicAopProxy.java:204)
     at $ Proxy103.saveRegistryData (Unknown Source)
     at gov.cms.pqri.arch.submission.registry.bean.RegDataAccessManager.persistRegistry (RegDataAccessManager.java:54)
     ... 14 more
 Caused by: weblogic.transaction.RollbackException: Transaction timed out after 180 seconds
 BEA1-160A800A149091F72E5E
     at weblogic.transaction.internal.TransactionImpl.throwRollbackException (TransactionImpl.java:1818)
     at weblogic.transaction.internal.ServerTransactionImpl.internalCommit (ServerTransactionImpl.javahaps33)
     at weblogic.transaction.internal.ServerTransactionImpl.commit (ServerTransactionImpl.java:227)
     at weblogic.transaction.internal.TransactionManagerImpl.commit (TransactionManagerImpl.java:281)
     at org.springframework.transaction.jta.JtaTransactionManager.doCommit (JtaTransactionManager.java:1028)
     ... 22 more
+4
source share
3 answers

after changing the stuck stream Maximum time up to 300 under the servers β†’ configuration β†’ settings (tab) from the administrator console, it is updated and works fine.

+4
source

I also ran into this problem and solved the same, as it is related to the JTA transaction, so we need to increase the JTA timeout along with the timeout for the stuck maximum thread. Please click JTA on the home panel and increase the JTA timeout from 30(by default) to 300 .

+2
source

We encountered the same problem in Weblogic 12.1.2 [the JTA transaction unexpectedly rolled back (possibly due to a timeout)] after all the investigations, we found the root cause of the problem. In my opinion, this is due to the huge process of processing transaction data and closer to the end of the process. If an exception is thrown, the JTA rolls back the data as expected. But this does not give error details. In our case, this is mainly due to the integrity of the database (for example, we are trying to insert a smaller column data than data.)

Thus, this is the best way to examine db logs, rather than increase the damping time of Thread Max. This maximum time may be a solution, but not a suitable solution for real enterprise systems.

This issue was also discussed on another stacking link and hibernate jira issue

And the proposed solution:

This is the default behavior for implementing JTA Weblogic. To get root, you must set the weblogic.transaction.allowOverrideSetRollbackReason system property to true.

One solution is to add this line to /bin/setDomainEnv.cmd:

 set JAVA_OPTIONS=%JAVA_OPTIONS% -Dweblogic.transaction.allowOverrideSetRollbackReason=true 
+1
source

Source: https://habr.com/ru/post/1301036/


All Articles