[jboss-jira] [JBoss JIRA] (WFWIP-118) Transaction remained in prepared state

Clebert Suconic (JIRA) issues at jboss.org
Wed Aug 22 08:12:00 EDT 2018


    [ https://issues.jboss.org/browse/WFWIP-118?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13622594#comment-13622594 ] 

Clebert Suconic commented on WFWIP-118:
---------------------------------------

The auto-registry expects a cluster, this is not clustered.

both artemis 1.x, master and
2.6.x are the same...

last change into
https://github.com/rh-messaging/artemis-wildfly-integration.git was back in 2015. The integration here did not need to be changed.

What happens:

MDB connects with a connectionFactory(initialConnectors=server1,server2);

Recovery registers a connectionFactory(initialConnectors=server1, server2);

The Serverlocator will randomly choose one of the 2 connectors. But the topology will return a single node.

Only one will be used for recovery.

The MDBs may connect to a different node. I'm not sure they will
ballance or not now. (I believe they won't, I believe they will stick
to a single node).

You could either register recovery manually to both servers. or we
could improve the Recovery Discovery to also register the connections
on the initialConnectors... but this would be an improvement and it
would be far away from the upgrade.


> Transaction remained in prepared state
> --------------------------------------
>
>                 Key: WFWIP-118
>                 URL: https://issues.jboss.org/browse/WFWIP-118
>             Project: WildFly WIP
>          Issue Type: Bug
>            Reporter: Erich Duda
>            Assignee: Kabir Khan
>            Priority: Blocker
>
> *Scenario*
> * Start group A of two servers (node-1 and node-3) Servers are not in cluster.
> * Send messages to queue on node-1.
> * Start another group B of two servers(node-2 and node-4). Servers are not in cluster.
> * Deploy mdb on both servers in A group. This mdb reads messages from local queue and perform insert into oracle 11 gr2 database, and also sends messages to remote queue on group B.
> * Mdb deployed on nodes in group B inserts messages from local queue to oracle 11 gr2 database.
> * Kill server node-1. Restart failed node. Process all messages and verify both mdbs performed database insert
> After node-1 is killed and restarted, there are still transactions in prepare state and they are not cleared in 10 minutes. The transactions remains on servers from group B.
> Logs from test can be found in build - https://jenkins.hosts.mwqe.eng.bos.redhat.com/hudson/job/mnovak-verifier-artemis2x/12/
> *Investigation of issue is in progress. It is not known what component causes it.*
> Clebert looked at the logs but there weren't traces from Arjuna. The above build contains also Arjuna traces. Copy paste Clebert's analyses.
> {quote}I looked at the output from the clients, and filtered the processing
> for one XA that's never commited..
> I looked for the XID on
> base64:AAAAAAAAAAAAAP__ChBkGmqipH1benkDAAAJdQAAAAMAAAAAAAAAAAAAAAAAAP__ChBkGmqipH1benkDAAAJaDUyODcHAgIA
> and filtered the onMessage that generated it (attached the log as
> processingOneMessage.txt):
> This XID was never commited simply because the TM never did it.
> Probably because of some issue on the JDBC.. but there are no errors,
> no exceptions.. totally clean on artemis side.
> There are no logging for TM or the MDB itself to correlate other
> failures. With the information I have I am certain there were nothing
> from Artemis side that would have caused it.
> In any case.. this is not replicated at all.. and not related to 87.
> This is simply the TM getting confused for some issue on the JDBC.
> As far as I am concerned I have fixed the replicated shutdown case.
> and i will send PRs upstream now.{quote}



--
This message was sent by Atlassian JIRA
(v7.5.0#75005)


More information about the jboss-jira mailing list