Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
Bug 456524 - Broker crashes during recovery when XA tx are indoubt
Summary: Broker crashes during recovery when XA tx are indoubt
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: qpid-cpp
Version: 1.0
Hardware: All
OS: Linux
urgent
high
Target Milestone: 1.0.1
: ---
Assignee: Kim van der Riet
QA Contact: Kim van der Riet
URL:
Whiteboard:
Depends On:
Blocks: 460108
TreeView+ depends on / blocked
 
Reported: 2008-07-24 12:56 UTC by Arnaud Simon
Modified: 2008-10-06 19:08 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2008-10-06 19:08:24 UTC


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2008:0640 normal SHIPPED_LIVE Red Hat Enterprise MRG bug fix and enhancement update 2008-10-06 19:08:07 UTC

Description Arnaud Simon 2008-07-24 12:56:05 UTC
Description of problem:
Broker crashes during recovery when XA tx are in-doubt 

To reproduce: 
run the java test: org.apache.qpid.test.unit.xa.QueueTest test: testRecover
When the broker recovers it displays: 
 qpidt
2008-jul-24 14:34:11 info Loaded Module:
/home/asimon/Projects/cppStore/cpp/lib/.libs/libbdbstore.so
2008-jul-24 14:34:11 info Management enabled
2008-jul-24 14:34:11 debug ManagementBroker restored broker ID:
5f319d37-d9ad-4d26-91f5-acabdad8ccb6
2008-jul-24 14:34:11 debug ManagementBroker boot sequence: 118
2008-jul-24 14:34:11 debug ManagementBroker added package qpid
2008-jul-24 14:34:11 debug ManagementBroker added class qpid.system
2008-jul-24 14:34:11 debug ManagementBroker added class qpid.broker
2008-jul-24 14:34:11 debug ManagementBroker added class qpid.agent
2008-jul-24 14:34:11 debug ManagementBroker added class qpid.vhost
2008-jul-24 14:34:11 debug ManagementBroker added class qpid.queue
2008-jul-24 14:34:11 debug ManagementBroker added class qpid.exchange
2008-jul-24 14:34:11 debug ManagementBroker added class qpid.binding
2008-jul-24 14:34:11 debug ManagementBroker added class qpid.connection
2008-jul-24 14:34:11 debug ManagementBroker added class qpid.link
2008-jul-24 14:34:11 debug ManagementBroker added class qpid.bridge
2008-jul-24 14:34:11 debug ManagementBroker added class qpid.session
2008-jul-24 14:34:11 notice Journal "TplStore": Instantiation
2008-jul-24 14:34:11 debug Journal "TplStore": Journal directory =
"/home/asimon/Projects/store//rhm/tpl/"; Base file name = "tpl"
2008-jul-24 14:34:11 notice Store module initialized;
dir=/home/asimon/Projects/store/
2008-jul-24 14:34:11 info > Default files per journal: 8
2008-jul-24 14:34:11 info > Default jrournal file size: 24 (wpgs)
2008-jul-24 14:34:11 info > Default write cache page size: 32 (Kib)
2008-jul-24 14:34:11 info > Default number of write cache pages: 32
2008-jul-24 14:34:11 info > TPL files per journal: 8
2008-jul-24 14:34:11 info > TPL jrournal file size: 24 (wpgs)
2008-jul-24 14:34:11 info > TPL write cache page size: 4 (Kib)
2008-jul-24 14:34:11 info > TPL number of write cache pages: 64
2008-jul-24 14:34:11 debug Journal "TplStore": Recover; num_jfiles=8
jfsize_sblks=3072 queue_id = 0x0 wcache_pgsize_sblks=64 wcache_num_pages=8
2008-jul-24 14:34:11 debug Journal "TplStore": Recover file analysis
(jid="TplStore"): owi=FALSE frot=TRUE empty=FALSE ffid=0 fro=0x200 (4 dblks)
lfid=0 eo=0xa00 (20 dblks) h_rid=0x9 full=FALSE Enqueued records (txn &
non-txn): [ fid_00=2 fid_01=0 fid_02=0 fid_03=0 fid_04=0 fid_05=0 fid_06=0
fid_07=0 ]
2008-jul-24 14:34:11 debug Journal "TplStore": Recover phase I complete; highest
rid found = 0x9; emap.size=0; tmap.size=2; journal now read-only.
2008-jul-24 14:34:11 debug Journal "TplStore": Recover phase II complete;
journal now writable.
2008-jul-24 14:34:11 debug Configured queue with no-local=0
2008-jul-24 14:34:11 debug Configured queue xaQueue with qpid.trace.id='' and
qpid.trace.exclude='' i.e. 0 elements
2008-jul-24 14:34:11 notice Journal "xaQueue": Instantiation
2008-jul-24 14:34:11 debug Journal "xaQueue": Journal directory =
"/home/asimon/Projects/store//rhm/jrnl/0014/xaQueue/"; Base file name =
"JournalData"
2008-jul-24 14:34:11 debug Journal "xaQueue": Recover; num_jfiles=8
jfsize_sblks=3072 queue_id = 0x2 wcache_pgsize_sblks=64 wcache_num_pages=32
2008-jul-24 14:34:12 debug Journal "xaQueue": Recover file analysis
(jid="xaQueue"): owi=FALSE frot=TRUE empty=FALSE ffid=0 fro=0x200 (4 dblks)
lfid=0 eo=0x800 (16 dblks) h_rid=0x8 full=FALSE Enqueued records (txn &
non-txn): [ fid_00=2 fid_01=0 fid_02=0 fid_03=0 fid_04=0 fid_05=0 fid_06=0
fid_07=0 ]
2008-jul-24 14:34:12 debug Journal "xaQueue": Recover phase I complete; highest
rid found = 0x8; emap.size=1; tmap.size=2; journal now read-only.
2008-jul-24 14:34:12 debug Exception constructed: XID not found in tplRecoverMap
(BdbMessageStore.cpp:762)
2008-jul-24 14:34:12 debug Journal "xaQueue": Destroyed
XID not found in tplRecoverMap (BdbMessageStore.cpp:762)

Comment 1 Kim van der Riet 2008-07-25 20:44:56 UTC
Fixed

r.2229 for trunk; r.2230 for 1.0 branch

Comment 3 Frantisek Reznicek 2008-09-18 11:19:12 UTC
Manual qpid java test QueueTest run on RHEL5.2/4.7 i386/x86_64 proves
the issue has been fixed. (->VERIFIED)

Shortened log report:
    [junit] Running org.apache.qpid.test.unit.xa.QueueTest
    [junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 2.168 sec

Comment 5 errata-xmlrpc 2008-10-06 19:08:24 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2008-0640.html


Note You need to log in before you can comment on or make changes to this bug.