arjuna: TransactionReaper::check timeout for TX
-
-
Number of slices to send:Optional 'thank-you' note:
-
-
Also part of the code from the audit.jsp where the error comes from:
But according to the log file, the root of the problem is in two places, namely here:
And here:
If clients try to execute an SQL query, that does not work, manually, through MS SQL Server, it works fine.
But what is worse is that there is no such problem on the localhost as well as on our UAT, when the client has it both on Prod and UAT.
We tried the solution from this question, namely the first post, but it didn't help.
If you need, I can provide more logs or some additional information.
Thank you!
-
-
Number of slices to send:Optional 'thank-you' note:
-
-
Add a link to the log file at OP.
-
1 -
-
Number of slices to send:Optional 'thank-you' note:
-
-
I'm sorry, I disabled the link to your stack trace. We do not want our users to download files from unknown origins, especially not when the origins are non-English.
Please share your stack trace by posting it (or if it's too big, only the relevant part) on our website directly, or use a site like Paste Bin.
It would also be helpful if you posted the EJB class you're calling, and your transaction configuration.
-
-
Number of slices to send:Optional 'thank-you' note:
-
-
(again) Please don't quote the whole of the preceding post; that adds nothing new and is liable to removal. I could see a stack trace in your pastebin link. Some of the entries seem to be only WARN, however. I have copied it for the convenience of readers; I am presuming there is nothing confidential in it.
2024-01-25 13:55:28,088 WARN [com.arjuna.ats.arjuna] (Transaction Reaper) ARJUNA012117: TransactionReaper::check timeout for TX 0:ffffc0a864c9:30ba8c4b:65afc50d:52dd2c8 in state RUN
2024-01-25 13:55:28,088 WARN [com.arjuna.ats.arjuna] (Transaction Reaper Worker 1) ARJUNA012095: Abort of action id 0:ffffc0a864c9:30ba8c4b:65afc50d:52dd2c8 invoked while multiple threads active within it.
2024-01-25 13:55:28,088 WARN [com.arjuna.ats.arjuna] (Transaction Reaper Worker 1) ARJUNA012381: Action id 0:ffffc0a864c9:30ba8c4b:65afc50d:52dd2c8 completed with multiple threads - thread default task-10662 was in progress with [email protected]/java.net.SocketInputStream.socketRead0(Native Method)
[email protected]/java.net.SocketInputStream.socketRead(SocketInputStream.java:115)
[email protected]/java.net.SocketInputStream.read(SocketInputStream.java:168)
[email protected]/java.net.SocketInputStream.read(SocketInputStream.java:140)
com.microsoft.sqlserver//com.microsoft.sqlserver.jdbc.TDSChannel.read(IOBuffer.java:2026)
com.microsoft.sqlserver//com.microsoft.sqlserver.jdbc.TDSReader.readPacket(IOBuffer.java:6446)
com.microsoft.sqlserver//com.microsoft.sqlserver.jdbc.TDSCommand.startResponse(IOBuffer.java:7610)
com.microsoft.sqlserver//com.microsoft.sqlserver.jdbc.SQLServerStatement.doExecuteCursored(SQLServerStatement.java:2028)
com.microsoft.sqlserver//com.microsoft.sqlserver.jdbc.SQLServerStatement.doExecuteStatement(SQLServerStatement.java:846)
com.microsoft.sqlserver//com.microsoft.sqlserver.jdbc.SQLServerStatement$StmtExecCmd.doExecute(SQLServerStatement.java:767)
com.microsoft.sqlserver//com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:7225)
com.microsoft.sqlserver//com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:3053)
com.microsoft.sqlserver//com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:247)
com.microsoft.sqlserver//com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:222)
com.microsoft.sqlserver//com.microsoft.sqlserver.jdbc.SQLServerStatement.executeQuery(SQLServerStatement.java:692)
[email protected]//org.jboss.jca.adapters.jdbc.WrappedStatement.executeQuery(WrappedStatement.java:397)
deployment.CMS.ear.cmsEJB.jar//com.bebra.util.ModelLoader.load(ModelLoader.java:45)
deployment.CMS.ear.cmsEJB.jar//com.bebra.util.ModelLoader.loadList(ModelLoader.java:37)
deployment.CMS.ear.cmsEJB.jar//com.bebra.cms.ejb.CmsCaseEJB$DAO.getTables(CmsCaseEJB.java:3121)
deployment.CMS.ear.cmsEJB.jar//com.bebra.cms.ejb.CmsCaseEJB.getTables(CmsCaseEJB.java:158)
jdk.internal.reflect.GeneratedMethodAccessor1309.invoke(Unknown Source)
[email protected]/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[email protected]/java.lang.reflect.Method.invoke(Method.java:566)
[email protected]//org.jboss.as.ee.component.ManagedReferenceMethodInterceptor.processInvocation(ManagedReferenceMethodInterceptor.java:52)
[email protected]//org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
[email protected]//org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:509)
[email protected]//org.jboss.as.weld.interceptors.Jsr299BindingsInterceptor.delegateInterception(Jsr299BindingsInterceptor.java:79)
[email protected]//org.jboss.as.weld.interceptors.Jsr299BindingsInterceptor.doMethodInterception(Jsr299BindingsInterceptor.java:89)
[email protected]//org.jboss.as.weld.interceptors.Jsr299BindingsInterceptor.processInvocation(Jsr299BindingsInterceptor.java:102)
[email protected]//org.jboss.as.ee.component.interceptors.UserInterceptorFactory$1.processInvocation(UserInterceptorFactory.java:63)
[email protected]//org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
[email protected]//org.jboss.as.ejb3.component.invocationmetrics.ExecutionTimeInterceptor.processInvocation(ExecutionTimeInterceptor.java:43)
[email protected]//org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
[email protected]//org.jboss.as.jpa.interceptor.SBInvocationInterceptor.processInvocation(SBInvocationInterceptor.java:47)
[email protected]//org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
[email protected]//org.jboss.as.ee.concurrent.ConcurrentContextInterceptor.processInvocation(ConcurrentContextInterceptor.java:45)
[email protected]//org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
[email protected]//org.jboss.invocation.InitialInterceptor.processInvocation(InitialInterceptor.java:40)
[email protected]//org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
[email protected]//org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:53)
[email protected]//org.jboss.as.ee.component.interceptors.ComponentDispatcherInterceptor.processInvocation(ComponentDispatcherInterceptor.java:52)
[email protected]//org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
[email protected]//org.jboss.as.ejb3.component.pool.PooledInstanceInterceptor.processInvocation(PooledInstanceInterceptor.java:51)
[email protected]//org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
[email protected]//org.jboss.as.ejb3.component.interceptors.AdditionalSetupInterceptor.processInvocation(AdditionalSetupInterceptor.java:54)
[email protected]//org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
[email protected]//org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:252)
[email protected]//org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:388)
[email protected]//org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:158)
[email protected]//org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
[email protected]//org.jboss.invocation.InterceptorContext$Invocation.proceed(InterceptorContext.java:509)
[email protected]//org.jboss.weld.module.ejb.AbstractEJBRequestScopeActivationInterceptor.aroundInvoke(AbstractEJBRequestScopeActivationInterceptor.java:72)
[email protected]//org.jboss.as.weld.ejb.EjbRequestScopeActivationInterceptor.processInvocation(EjbRequestScopeActivationInterceptor.java:89)
[email protected]//org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
[email protected]//org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41)
[email protected]//org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
[email protected]//org.jboss.as.ejb3.component.invocationmetrics.WaitTimeInterceptor.processInvocation(WaitTimeInterceptor.java:47)
[email protected]//org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
[email protected]//org.jboss.as.ejb3.security.SecurityContextInterceptor.processInvocation(SecurityContextInterceptor.java:100)
[email protected]//org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
[email protected]//org.jboss.as.ejb3.deployment.processors.StartupAwaitInterceptor.processInvocation(StartupAwaitInterceptor.java:22)
[email protected]//org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
[email protected]//org.jboss.as.ejb3.component.interceptors.ShutDownInterceptorFactory$1.processInvocation(ShutDownInterceptorFactory.java:64)
[email protected]//org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
[email protected]//org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processInvocation(LoggingInterceptor.java:67)
[email protected]//org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
[email protected]//org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50)
[email protected]//org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
[email protected]//org.jboss.invocation.ContextClassLoaderInterceptor.processInvocation(ContextClassLoaderInterceptor.java:60)
[email protected]//org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
[email protected]//org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:438)
[email protected]//org.wildfly.security.manager.WildFlySecurityManager.doChecked(WildFlySecurityManager.java:627)
[email protected]//org.jboss.invocation.AccessCheckingInterceptor.processInvocation(AccessCheckingInterceptor.java:57)
[email protected]//org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:422)
[email protected]//org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:53)
[email protected]//org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:198)
[email protected]//org.jboss.as.ee.component.ViewDescription$1.processInvocation(ViewDescription.java:191)
[email protected]//org.jboss.as.ee.component.ProxyInvocationHandler.invoke(ProxyInvocationHandler.java:81)
deployment.CMS.ear.cmsEJB.jar//com.bebra.cms.ejb.CmsCaseEJB$$$view29.getTables(Unknown Source)
jdk.internal.reflect.GeneratedMethodAccessor1308.invoke(Unknown Source)
[email protected]/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[email protected]/java.lang.reflect.Method.invoke(Method.java:566)
deployment.CMS.ear.cmsWEB.war//com.bebra.taglib.ejbexec.EJBExecTag.initObjectModelList(EJBExecTag.java:115)
-
-
Number of slices to send:Optional 'thank-you' note:
-
-

-
-
Number of slices to send:Optional 'thank-you' note:
-
-
-
-
Number of slices to send:Optional 'thank-you' note:
-
-
DAO.getTables():
ModelLoader.loadList():
-
-
Number of slices to send:Optional 'thank-you' note:
-
-
How is connection initialized in DAO?
Also, are there any annotations present on these classes and fields?
-
-
Number of slices to send:Optional 'thank-you' note:
-
-
That cam happen if you ask the server to do too much processing within a single JDBC request. "Too much processing" meaning that you're doing something that, for example, will return 1 lakh rows while doing multiple joins without suitable indexes.
It's possible that the SQL Server DBA can provide you with diagnostic and tuning information that will improve the efficiency of your SQL request.
The other alternative is to tune the Connection Pool parameters to permit a longer iimeout interval.
I must note, however, that since this is WildFly that webapps should generally not make excessively-ambitious requests as you can bog down WildFly's ability to service other user requests. An HTTP request/response must always strive to take as little time as possible. Plus, the client itself may timeout if an HTTP response doesn't come back before its own timeout limit expires.
As a standard side note, I am also obliged to note that you should be using a Connection Pool in webapps that use JDBC and not Driver getConnection and NEVER store a Connection between requests. Always obtain your Connections from the server Connection pool, use them and close them as soon as possible before returning from your request handler.
Experience keeps a dear School, but Fools will learn in no other.
---
Benjamin Franklin - Postal official and Weather observer
| What's a year in metric? Do you know this metric stuff tiny ad? The new gardening playing cards kickstarter is now live! https://www.kickstarter.com/projects/paulwheaton/garden-cards |







