https://bugzilla.redhat.com/show_bug.cgi?id=304191
Resolves: bug 304191
Bug Description: If you try to run the dbscan tool against a changelog
db on a stopped server, it reports the an error similar to:
dbid: 0000006f000000000000
Invalid changelog db version 1
Works for version 5 only.
Reviewed by: ???
Files: see diff
Branch: HEAD
Fix Description: The print_changelog function in dbscan.c expects all
entries to
have 0x05 as the first byte, which signifies the changelog version.
This version
check should be done for all change entries in the changelog db, but
there are
three special entries that are in the beginning of the changelog where
this doesn't
apply. These entries are an entry count, the purge RUV, and the max RUV.
It should be noted that these entries are not always present when the
server is
running, so dbscan will often work fine against a running server.
When the
server is stopped gracefully, these entries are flushed out to be used
once the
server is restarted.
The attached diffs make dbscan check for these special entries when
reading
through a changelog. If it encounters one of these entries, it will
print out
the data in a nice usable format.
Platforms tested: FC6 i386
Flag Day: no
Doc impact: no
QA impact: Need to add new tests
New Tests integrated into TET: none
https://bugzilla.redhat.com/attachment.cgi?id=204611&action=diff