Bug 460108 - Broker crashes during recovery when XA tx are indoubt (RHEL 4)
Summary: Broker crashes during recovery when XA tx are indoubt (RHEL 4)
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: messaging-bugs
QA Contact: Kim van der Riet
URL:
Whiteboard:
Depends On: 456524
Blocks:
TreeView+ depends on / blocked
 
Reported: 2008-08-26 08:45 UTC by Gordon Sim
Modified: 2008-10-06 18:59 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2008-10-06 18:59:25 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2008:0867 0 normal SHIPPED_LIVE Red Hat Enterprise MRG bug fix and enhancement update 2008-10-06 18:58:51 UTC

Description Gordon Sim 2008-08-26 08:45:14 UTC
+++ This bug was initially created as a clone of Bug #456524 +++

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)

--- Additional comment from kim.vdriet on 2008-07-25 16:44:56 EDT ---

Fixed

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

Comment 2 Frantisek Reznicek 2008-09-18 11:18:47 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 4 errata-xmlrpc 2008-10-06 18:59:25 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-0867.html


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