-
1. Re: Method end on PGXAConnection has been called twice
jaikiran Jun 16, 2016 12:37 AM (in response to alameda)This stacktrace looks something that's more JBoss Transactions than WildFly. I don't seem to have permissions to move this thread to that forum. Maybe tomjenkinson can help with the exception you are seeing?
-
2. Re: Method end on PGXAConnection has been called twice
tomjenkinson Jun 16, 2016 4:59 AM (in response to alameda)Hi Florian,
WildFly 8 is already quite old, please can you try to replicate this on WildFly 10?
As you can see here: https://github.com/jbosstm/narayana/blob/master/ArjunaJTS/jtax/classes/com/arjuna/ats/internal/jta/resources/jts/orbspecific/XAResourceRecord.java#L339
The xa_end is well guarded so it shouldn't be happening. Also, I wonder why it is going via the rollback route? Did your transaction timeout?
If you don't have a test case that is reproducible please can you supply a log file with com.arjuna on trace.
Thanks!
Tom
PS Transaction queries are best asked over here: Narayana
-
3. Re: Method end on PGXAConnection has been called twice
alameda Jun 16, 2016 6:38 AM (in response to tomjenkinson)Hi Tom,
Unfortunately, I cannot migrate to Wildfly 10, others products have already migrate to Wildfly 8 and we are trying to standardize version.
Do you think this problem could be come from bad configuration of datasource ?
Transaction is'nt too long, just after get information from database, transaction was closed.
Please see below log with arjuna :
2016-06-16 11:43:49,726 ERROR [stderr] (undertow task-26) org.omg.CORBA.TRANSACTION_ROLLEDBACK
2016-06-16 11:43:49,727 ERROR [stderr] (undertow task-26) at com.arjuna.ats.internal.jts.orbspecific.coordinator.ArjunaTransactionImple.commit(ArjunaTransactionImple.java:414)
2016-06-16 11:43:49,727 ERROR [stderr] (undertow task-26) at com.arjuna.ats.internal.jts.ControlWrapper.commit(ControlWrapper.java:243)
2016-06-16 11:43:49,728 ERROR [stderr] (undertow task-26) at com.arjuna.ats.internal.jts.orbspecific.CurrentImple.commit(CurrentImple.java:247)
2016-06-16 11:43:49,728 ERROR [stderr] (undertow task-26) at com.arjuna.ats.jts.extensions.AtomicTransaction.commit(AtomicTransaction.java:276)
2016-06-16 11:43:49,728 ERROR [stderr] (undertow task-26) at com.arjuna.ats.internal.jta.transaction.jts.TransactionImple.commitAndDisassociate(TransactionImple.java:1310)
2016-06-16 11:43:49,728 ERROR [stderr] (undertow task-26) at com.arjuna.ats.internal.jta.transaction.jts.BaseTransaction.commit(BaseTransaction.java:130)
2016-06-16 11:43:49,728 ERROR [stderr] (undertow task-26) at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:75)
2016-06-16 11:43:49,728 ERROR [stderr] (undertow task-26) at org.jboss.as.ejb3.tx.CMTTxInterceptor.endTransaction(CMTTxInterceptor.java:93)
2016-06-16 11:43:49,729 ERROR [stderr] (undertow task-26) at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:277)
2016-06-16 11:43:49,729 ERROR [stderr] (undertow task-26) at org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:340)
2016-06-16 11:43:49,729 ERROR [stderr] (undertow task-26) at org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:239)
2016-06-16 11:43:49,729 ERROR [stderr] (undertow task-26) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
2016-06-16 11:43:49,729 ERROR [stderr] (undertow task-26) at org.jboss.as.ejb3.remote.EJBRemoteTransactionPropagatingInterceptor.processInvocation(EJBRemoteTransactionPropagatingInterceptor.java:79)
2016-06-16 11:43:49,730 ERROR [stderr] (undertow task-26) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
2016-06-16 11:43:49,730 ERROR [stderr] (undertow task-26) at org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41)
2016-06-16 11:43:49,730 ERROR [stderr] (undertow task-26) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
2016-06-16 11:43:49,730 ERROR [stderr] (undertow task-26) at org.jboss.as.ejb3.component.invocationmetrics.WaitTimeInterceptor.processInvocation(WaitTimeInterceptor.java:43)
2016-06-16 11:43:49,730 ERROR [stderr] (undertow task-26) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
2016-06-16 11:43:49,731 ERROR [stderr] (undertow task-26) at org.jboss.as.ejb3.security.SecurityContextInterceptor.processInvocation(SecurityContextInterceptor.java:95)
2016-06-16 11:43:49,731 ERROR [stderr] (undertow task-26) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
2016-06-16 11:43:49,731 ERROR [stderr] (undertow task-26) at org.jboss.as.ejb3.component.interceptors.ShutDownInterceptorFactory$1.processInvocation(ShutDownInterceptorFactory.java:64)
2016-06-16 11:43:49,731 ERROR [stderr] (undertow task-26) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
2016-06-16 11:43:49,731 ERROR [stderr] (undertow task-26) at org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processInvocation(LoggingInterceptor.java:59)
2016-06-16 11:43:49,732 ERROR [stderr] (undertow task-26) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
2016-06-16 11:43:49,732 ERROR [stderr] (undertow task-26) at org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50)
2016-06-16 11:43:49,732 ERROR [stderr] (undertow task-26) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
2016-06-16 11:43:49,732 ERROR [stderr] (undertow task-26) at org.jboss.as.ejb3.component.interceptors.AdditionalSetupInterceptor.processInvocation(AdditionalSetupInterceptor.java:55)
2016-06-16 11:43:49,732 ERROR [stderr] (undertow task-26) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
2016-06-16 11:43:49,733 ERROR [stderr] (undertow task-26) at org.jboss.invocation.ContextClassLoaderInterceptor.processInvocation(ContextClassLoaderInterceptor.java:64)
2016-06-16 11:43:49,733 ERROR [stderr] (undertow task-26) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
2016-06-16 11:43:49,733 ERROR [stderr] (undertow task-26) at org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:326)
2016-06-16 11:43:49,733 ERROR [stderr] (undertow task-26) at org.wildfly.security.manager.WildFlySecurityManager.doChecked(WildFlySecurityManager.java:448)
2016-06-16 11:43:49,734 ERROR [stderr] (undertow task-26) at org.jboss.invocation.AccessCheckingInterceptor.processInvocation(AccessCheckingInterceptor.java:61)
2016-06-16 11:43:49,734 ERROR [stderr] (undertow task-26) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
2016-06-16 11:43:49,734 ERROR [stderr] (undertow task-26) at org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:326)
2016-06-16 11:43:49,734 ERROR [stderr] (undertow task-26) at org.jboss.invocation.PrivilegedWithCombinerInterceptor.processInvocation(PrivilegedWithCombinerInterceptor.java:80)
2016-06-16 11:43:49,734 ERROR [stderr] (undertow task-26) at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
2016-06-16 11:43:49,735 ERROR [stderr] (undertow task-26) at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
2016-06-16 11:43:49,735 ERROR [stderr] (undertow task-26) at org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:185)
2016-06-16 11:43:49,735 ERROR [stderr] (undertow task-26) at org.jboss.as.ejb3.remote.LocalEjbReceiver.processInvocation(LocalEjbReceiver.java:245)
2016-06-16 11:43:49,735 ERROR [stderr] (undertow task-26) at org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:184)
2016-06-16 11:43:49,735 ERROR [stderr] (undertow task-26) at org.jboss.ejb.client.EJBObjectInterceptor.handleInvocation(EJBObjectInterceptor.java:58)
2016-06-16 11:43:49,736 ERROR [stderr] (undertow task-26) at org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:186)
2016-06-16 11:43:49,736 ERROR [stderr] (undertow task-26) at org.jboss.ejb.client.EJBHomeInterceptor.handleInvocation(EJBHomeInterceptor.java:83)
2016-06-16 11:43:49,736 ERROR [stderr] (undertow task-26) at org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:186)
2016-06-16 11:43:49,736 ERROR [stderr] (undertow task-26) at org.jboss.ejb.client.TransactionInterceptor.handleInvocation(TransactionInterceptor.java:42)
2016-06-16 11:43:49,736 ERROR [stderr] (undertow task-26) at org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:186)
2016-06-16 11:43:49,736 ERROR [stderr] (undertow task-26) at org.jboss.ejb.client.ReceiverInterceptor.handleInvocation(ReceiverInterceptor.java:125)
2016-06-16 11:43:49,737 ERROR [stderr] (undertow task-26) at org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:186)
2016-06-16 11:43:49,737 ERROR [stderr] (undertow task-26) at org.jboss.ejb.client.EJBInvocationHandler.sendRequestWithPossibleRetries(EJBInvocationHandler.java:253)
2016-06-16 11:43:49,737 ERROR [stderr] (undertow task-26) at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:198)
2016-06-16 11:43:49,738 ERROR [stderr] (undertow task-26) at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:181)
2016-06-16 11:43:49,738 ERROR [stderr] (undertow task-26) at org.jboss.ejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:144)
2016-06-16 11:43:49,738 ERROR [stderr] (undertow task-26) at com.sun.proxy.$Proxy142.getMandatActeurListe(Unknown Source)
2016-06-16 11:43:50,383 ERROR [com.ideosante.ideoforms.servlet.FrontServlet] (undertow task-26) Transaction rolled back: javax.ejb.EJBTransactionRolledbackException: Transaction rolled back
at org.jboss.as.ejb3.tx.CMTTxInterceptor.handleEndTransactionException(CMTTxInterceptor.java:139)
at org.jboss.as.ejb3.tx.CMTTxInterceptor.endTransaction(CMTTxInterceptor.java:119)
at org.jboss.as.ejb3.tx.CMTTxInterceptor.invokeInOurTx(CMTTxInterceptor.java:277)
at org.jboss.as.ejb3.tx.CMTTxInterceptor.required(CMTTxInterceptor.java:340)
at org.jboss.as.ejb3.tx.CMTTxInterceptor.processInvocation(CMTTxInterceptor.java:239)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
at org.jboss.as.ejb3.remote.EJBRemoteTransactionPropagatingInterceptor.processInvocation(EJBRemoteTransactionPropagatingInterceptor.java:79)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
at org.jboss.as.ejb3.component.interceptors.CurrentInvocationContextInterceptor.processInvocation(CurrentInvocationContextInterceptor.java:41)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
at org.jboss.as.ejb3.component.invocationmetrics.WaitTimeInterceptor.processInvocation(WaitTimeInterceptor.java:43)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
at org.jboss.as.ejb3.security.SecurityContextInterceptor.processInvocation(SecurityContextInterceptor.java:95)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
at org.jboss.as.ejb3.component.interceptors.ShutDownInterceptorFactory$1.processInvocation(ShutDownInterceptorFactory.java:64)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
at org.jboss.as.ejb3.component.interceptors.LoggingInterceptor.processInvocation(LoggingInterceptor.java:59)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
at org.jboss.as.ee.component.NamespaceContextInterceptor.processInvocation(NamespaceContextInterceptor.java:50)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
at org.jboss.as.ejb3.component.interceptors.AdditionalSetupInterceptor.processInvocation(AdditionalSetupInterceptor.java:55)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
at org.jboss.invocation.ContextClassLoaderInterceptor.processInvocation(ContextClassLoaderInterceptor.java:64)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
at org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:326)
at org.wildfly.security.manager.WildFlySecurityManager.doChecked(WildFlySecurityManager.java:448)
at org.jboss.invocation.AccessCheckingInterceptor.processInvocation(AccessCheckingInterceptor.java:61)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
at org.jboss.invocation.InterceptorContext.run(InterceptorContext.java:326)
at org.jboss.invocation.PrivilegedWithCombinerInterceptor.processInvocation(PrivilegedWithCombinerInterceptor.java:80)
at org.jboss.invocation.InterceptorContext.proceed(InterceptorContext.java:309)
at org.jboss.invocation.ChainedInterceptor.processInvocation(ChainedInterceptor.java:61)
at org.jboss.as.ee.component.ViewService$View.invoke(ViewService.java:185)
at org.jboss.as.ejb3.remote.LocalEjbReceiver.processInvocation(LocalEjbReceiver.java:245)
at org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:184)
at org.jboss.ejb.client.EJBObjectInterceptor.handleInvocation(EJBObjectInterceptor.java:58)
at org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:186)
at org.jboss.ejb.client.EJBHomeInterceptor.handleInvocation(EJBHomeInterceptor.java:83)
at org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:186)
at org.jboss.ejb.client.TransactionInterceptor.handleInvocation(TransactionInterceptor.java:42)
at org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:186)
at org.jboss.ejb.client.ReceiverInterceptor.handleInvocation(ReceiverInterceptor.java:125)
at org.jboss.ejb.client.EJBClientInvocationContext.sendRequest(EJBClientInvocationContext.java:186)
at org.jboss.ejb.client.EJBInvocationHandler.sendRequestWithPossibleRetries(EJBInvocationHandler.java:253)
at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:198)
at org.jboss.ejb.client.EJBInvocationHandler.doInvoke(EJBInvocationHandler.java:181)
at org.jboss.ejb.client.EJBInvocationHandler.invoke(EJBInvocationHandler.java:144)
at com.sun.proxy.$Proxy142.getMandatActeurListe(Unknown Source)
at com.ideosante.worklist.provider.MyEhrProvider.searchEhrWithMandate(MyEhrProvider.java:202)
at com.ideosante.worklist.provider.MyEhrProvider.provider(MyEhrProvider.java:68)
at com.sqli.sante.common.tablelist.worklist.ToJson.getData(ToJson.java:1192)
at com.sqli.sante.common.tablelist.worklist.ToJson.getWkskData(ToJson.java:1050)
at com.sqli.sante.common.tablelist.worklist.ToJson.getWksPojoDataTable(ToJson.java:616)
at com.ideosante.controller.common.tablelist.worklist.controller.DatatableJsonFromWksConfController.process(DatatableJsonFromWksConfController.java:83)
at com.ideosante.controller.common.tablelist.worklist.controller.DatatableJsonFromWksConfController.process(DatatableJsonFromWksConfController.java:35)
at com.ideosante.ideoforms.utils.handler.impl.ControllerCallHandler.handle(ControllerCallHandler.java:33)
at com.ideosante.ideoforms.utils.handler.impl.ControllerCallHandler.handle(ControllerCallHandler.java:15)
at com.ideosante.ideoforms.controller.impl.controller.GenericController.perform(GenericController.java:50)
at com.ideosante.ideoforms.servlet.FrontServlet.service(FrontServlet.java:96)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:130)
at com.sqli.sante.ideomed.socle.clinicalcontext.filter.IdeoMedClinicalContextV3Filter.doFilter(IdeoMedClinicalContextV3Filter.java:223)
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:60)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:132)
at com.sqli.ideosso.cas.client3.filter.IdeoSSOFilter.doFilter(IdeoSSOFilter.java:157)
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:60)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:132)
at com.sqli.sante.ideomed.socle.clinicalcontext.filter.IdeoMedSSOFilter.doFilter(IdeoMedSSOFilter.java:122)
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:60)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:132)
at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:85)
at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:61)
at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131)
at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:56)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:45)
at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:63)
at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:58)
at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:70)
at io.undertow.security.handlers.SecurityInitialHandler.handleRequest(SecurityInitialHandler.java:76)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:261)
at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:247)
at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:76)
at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:166)
at io.undertow.server.Connectors.executeRootHandler(Connectors.java:197)
at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:759)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_40]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_40]
at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_40]
Caused by: javax.transaction.RollbackException: org.omg.CORBA.TRANSACTION_ROLLEDBACK
at com.arjuna.ats.internal.jta.transaction.jts.TransactionImple.commitAndDisassociate(TransactionImple.java:1338)
at com.arjuna.ats.internal.jta.transaction.jts.BaseTransaction.commit(BaseTransaction.java:130)
at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:75)
at org.jboss.as.ejb3.tx.CMTTxInterceptor.endTransaction(CMTTxInterceptor.java:93)
... 95 more
-
4. Re: Method end on PGXAConnection has been called twice
tomjenkinson Jun 16, 2016 6:45 AM (in response to alameda)Hi Florian,
Please can you enable TRACE logging for com.arjuna and attach a log?
Thanks,Tom
-
5. Re: Method end on PGXAConnection has been called twice
alameda Jun 16, 2016 9:36 AM (in response to tomjenkinson)Please find log file attach to this message.
After analyze postgresql.conf, max_prepared_statement isn't activate.
Do you know why max_prepared_statement is required ? It's a "new" requirement for Wildfly ?
After activate max_prepared_statement, it's work fine but I didn't know why
-
arjuna.log.zip 3.8 KB
-
-
6. Re: Method end on PGXAConnection has been called twice
tomjenkinson Jun 16, 2016 11:25 AM (in response to alameda)I am not sure about the max_prepared_statement, maybe maeste is aware?
But I take it you are saying that when your config is right the case is closed?
-
7. Re: Method end on PGXAConnection has been called twice
tomjenkinson Jun 16, 2016 11:30 AM (in response to tomjenkinson)OK, so I can see in the log that prepare failed due to the max_prepared_transactions issue you mentioned. That looks like raw postgres config to me.
Caused by: org.postgresql.util.PSQLException: ERREUR: les transactions préparées sont désactivées
Indice : Configure max_prepared_transactions à une valeur différente de zéro.
Anyway it explains why the code goes via the rollback route.
The attached log doesn't look to have TRACE and it looks like it was snipped before the xa_end error?
-
8. Re: Method end on PGXAConnection has been called twice
alameda Jun 17, 2016 3:20 AM (in response to tomjenkinson)Yep, this case is closed
-
9. Re: Method end on PGXAConnection has been called twice
alameda Jun 17, 2016 3:56 AM (in response to tomjenkinson)Sorry to delay.
This is the log, I'm apologizing, I'm a newbie with standalone config
-
arjuna.log.zip 639.1 KB
-
-
10. Re: Method end on PGXAConnection has been called twice
tomjenkinson Jun 17, 2016 5:29 AM (in response to alameda)From looking at the log I can see that the prepare failed with RMERR:
XA Spec:
"[XAER_RMERR] The resource manager encountered an error in preparing to commit the transaction branch’s work. The specified XID may or may not have been prepared."
So we have to call rollback to be sure.
I think given that you are getting XA_PROTO it means that we should be calling rollback.
The defect is the check here:
narayana/XAResourceRecord.java at master · jbosstm/narayana · GitHub
Won't pick up XA resources that were successfully xa_ended previously.
When xa_end _is_ successful we need to change the TxInfo association.
I have a patch for this, please can you try it to see if it addresses your issue (you will need to revert your max_prepared fix temporarily to be able to replicate): Only call xa_end if the XAResource is associated by tomjenkinson · Pull Request #1025 · jbosstm/narayana · GitHub
Also, please can you raise a Agile Board - JBoss Issue Tracker issue with a link to this discussion?
-
11. Re: Method end on PGXAConnection has been called twice
alameda Jun 21, 2016 3:47 AM (in response to tomjenkinson)Hi Tom,
Sorry to delay, I have create an issue on KB : https://issues.jboss.org/browse/WFLY-6748
I'll test your patch as soon as possible
-
12. Re: Method end on PGXAConnection has been called twice
tomjenkinson Jun 21, 2016 12:54 PM (in response to alameda)Thanks!