Bug 460112

Summary: List of xids from dtx.recover is not as expected (RHEL 4)
Product: Red Hat Enterprise MRG Reporter: Gordon Sim <gsim>
Component: qpid-cppAssignee: messaging-bugs <messaging-bugs>
Status: CLOSED ERRATA QA Contact: Kim van der Riet <kim.vdriet>
Severity: high Docs Contact:
Priority: urgent    
Version: 1.0CC: freznice
Target Milestone: 1.0.1   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-10-06 18:59:29 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 458656    
Bug Blocks:    

Description Gordon Sim 2008-08-26 08:51:44 UTC
+++ This bug was initially created as a clone of Bug #458656 +++

The resonse for dtx.recover should include a list of all the xids currently in the prepared state; at present it only includes those that were in prepared state at time of last recovery.

--- Additional comment from kim.vdriet on 2008-08-14 14:40:04 EDT ---

The call to BdbMessageStore::collectPreparedXids() was using the prepared list obtained at time of recovery, but this call needs to provide a current list, no matter when called. The ability to ignore transactions when reading was added to class rmgr, and a subclass of JournalImpl (called TplJournalImpl) was created which implements the ignore as standard practice when calling read. This enables reads of pending transactions from this list. Now BdbMessageStore::collectPreparedXids() re-reads the transaction prepared list (TPL) before returning the XID list.

This is a somewhat expensive solution - but is sufficient for the time being as collectPreparedXids() is currently only called on recovery in the broker.

Fixed in r.2305 (trunk), r.2306 (1.0 branch)

Comment 2 Frantisek Reznicek 2008-09-11 07:34:59 UTC
RHTS test MRG_Messaging/qpid_xids_fails_bz458656 runs qpid.tests_0-10.dtx tests (which are passing) that proves that xid.recover response is now OK (->VERIFIED)

Comment 4 errata-xmlrpc 2008-10-06 18:59:29 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