Effective October 27, 2012, online and email support for FuseSource products will move to Red Hat support channels. For more information, please see the JIRA Migration to Red Hat FAQ.
As of October 27th, please open all new issues in the Red Hat Customer Portal .
Issue Details (XML | Word | Printable)

Key: ESB-1732
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Critical Critical
Assignee: Gary Tully
Reporter: Pat Fox
Votes: 0
Watchers: 1
Operations

If you were logged in you would be able to see more operations.
FUSE ESB

Missing messages under XA transactions

Created: 05/Jul/12 11:47 AM   Updated: 03/Sep/12 10:39 AM
Component/s: Core
Affects Version/s: 4.4.1-fuse-07-11
Fix Version/s: 4.4.1-fuse-08-15

File Attachments: 1. Zip Archive Broker1_ESB_IN.zip (216 kB)
2. Zip Archive Broker2_ESB_OUT.zip (66 kB)
3. Zip Archive DAB_test.zip (42 kB)
4. Zip Archive servicemix_logs.zip (306 kB)

Environment: tested using apache-servicemix-4.4.1-fuse-07-11 with apache-activemq-5.5.1-fuse-07-11
Issue Links:
Blockers
 


 Description  « Hide
When I used the test case attached to MB-1181 on windows XP running on dual core machine (2.53GHz) I noted that 10-30 of the 10,000 messages where not present on the out queue ("ESB_OUT").

When the testcase was run on macbook pro running"Mac OS X Lion 10.7.2" on a 4 core 2.3 GHz processor I consistently got all expected messages on the outgoing queue.



 All   Comments   Change History      Sort Order: Ascending order - Click to sort in descending order
Gary Tully added a comment - 06/Jul/12 11:11 AM
TRACE level logging of org.apache.geronimo.transaction.manager.RecoveryImpl will help point to the problem.

I think the root cause is a call to recover on the broker. it will return all prepared transactions, irrespective if they were inboubt from recovery or from current in progress transactions.
the TM, sees the xid and does not have a reference to it so it calls rollback. Then the commit fails.

Need to check what is the correct behavior here. I think the Tm should only recover or complete what it knows about, what it knows it has an outcome for. Or the broker needs to filter recovery from in progress in some way.



Gary Tully added a comment - 09/Jul/12 01:41 PM
fix to Geronimo generation and matching of global and branch xids on: ssh://git@forge.fusesource.com/aries.git
589166a..6b9d299 0.3.1.fuse-7-0-x-stable -> 0.3.1.fuse-7-0-x-stable

snapshot: http://repo.fusesource.com/nexus/content/repositories/snapshots/org/apache/aries/transaction/org.apache.aries.transaction.manager/0.3.1.fuse-7-0-x-SNAPSHOT/org.apache.aries.transaction.manager-0.3.1.fuse-7-0-x-20120709.095949-3.jar


Torsten Mielke added a comment - 31/Jul/12 02:55 PM
Fixed by Aries patch. Confirmed by customer.