Bug 462046 - Automate bdb 'recover' routine on retsrating crashed broker
Automate bdb 'recover' routine on retsrating crashed broker
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: qpid-cpp (Show other bugs)
All Linux
high Severity high
: 1.1
: ---
Assigned To: Kim van der Riet
Kim van der Riet
Depends On:
  Show dependency treegraph
Reported: 2008-09-12 04:08 EDT by Gordon Sim
Modified: 2009-02-04 10:36 EST (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2009-02-04 10:36:27 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Gordon Sim 2008-09-12 04:08:19 EDT
It may be possible to do this on every restart.
Comment 1 Gordon Sim 2008-09-12 04:09:46 EDT
Kim, I've assigned this to you to investigate when you get done with 1.0.1 issues, is that ok? If not assign back to me.
Comment 2 Kim van der Riet 2008-10-29 14:04:37 EDT
The db4 BD_RECOVER flag was added to the DbEnv::open() which not only recovers the database if it is corrupted, but also upgrades the database if it is from a previous version of db4. However, to do this, the creation of the BDB databases have to be delayed until after the recover. As these were previously initialized in the constructor of the MessageStoreImpl constructor, I had to change them to pointers and create them in MessageStoreImpl::init() after the recovery is complete.

Note that there are two levels of recover, DB_RECOVER and DB_RECOVER_FATAL. At present the former is used and works against the test corrupted database; testing will reveal if there is any requirement to use the latter.

Fixed in r.2693.
Updated RHEL4 patch to match in r.2694.

To test, run the txtest soak test without the call to db_recover (currently it is one of the steps in the test script prior to restarting the broker). However, this will not give confirmation that an actual corrupted database was overcome, as the recover is silent.

It may be useful to run this test against a version prior to this fix and check that several errors are encountered in a typical soak run. Then running the same test against this new version with other conditions unchanged should yield no errors due to corruption.
Comment 3 Frantisek Reznicek 2008-11-11 08:19:04 EST
RHTS test qpid_start_fails_bz458466 (db_recover is disabled now) proves that issue is fixed now. Validated on RHEL4.7/5.2 i386/x86_64 using packages:
qpidd-0.3.712127-4.el4/5 and rhm-0.3.2759-2.el4/5
Comment 5 errata-xmlrpc 2009-02-04 10:36:27 EST
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.


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