diff options
author | Kim van der Riet <kpvdr@apache.org> | 2014-01-12 22:41:32 +0000 |
---|---|---|
committer | Kim van der Riet <kpvdr@apache.org> | 2014-01-12 22:41:32 +0000 |
commit | 9759e36f8c986497f5a5b27cab983128d00c3571 (patch) | |
tree | 04d20e13805ed59aa7d0d375b938843e8740b21c /qpid/cpp/src | |
parent | 90bf5674a9f421add2aa8f9d22512951de4f803c (diff) | |
download | qpid-python-9759e36f8c986497f5a5b27cab983128d00c3571.tar.gz |
QPID-5473: Recovery where last record in file is truncated (ie spans files), but following file is uninitialized causes crash
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1557620 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp/src')
-rw-r--r-- | qpid/cpp/src/qpid/linearstore/ISSUES | 2 | ||||
-rw-r--r-- | qpid/cpp/src/qpid/linearstore/journal/RecoveryManager.cpp | 3 |
2 files changed, 3 insertions, 2 deletions
diff --git a/qpid/cpp/src/qpid/linearstore/ISSUES b/qpid/cpp/src/qpid/linearstore/ISSUES index 595730135d..412db073df 100644 --- a/qpid/cpp/src/qpid/linearstore/ISSUES +++ b/qpid/cpp/src/qpid/linearstore/ISSUES @@ -61,6 +61,8 @@ Current bugs and performance issues: 7. BZ 1039525 - Crash during recovery - journal::jexception - JERR_JREC_BADRECTAIL 8. (FIXED) QPID-5442 (BZ 1039949) - DTX test failure - missing XIDs 9. (FIXED) QPID-5460 (BZ 1051097) - Transactional messages lost during recovery +10. QPID-5464 - Incompletely created journal files accumulate in EFP +11. QPID-5473 (BZ 1051924) - Recovery where last record in file is truncated (ie spans files), but following file is uninitialized causes crash Code tidy-up ------------ diff --git a/qpid/cpp/src/qpid/linearstore/journal/RecoveryManager.cpp b/qpid/cpp/src/qpid/linearstore/journal/RecoveryManager.cpp index 67ad8a04a0..e27a239a18 100644 --- a/qpid/cpp/src/qpid/linearstore/journal/RecoveryManager.cpp +++ b/qpid/cpp/src/qpid/linearstore/journal/RecoveryManager.cpp @@ -456,7 +456,7 @@ void RecoveryManager::checkJournalAlignment(const std::streampos recordPosition) bool RecoveryManager::decodeRecord(jrec& record, std::size_t& cumulativeSizeRead, ::rec_hdr_t& headerRecord, - std::streampos& fileOffset) + std::streampos& fileOffset) { std::streampos start_file_offs = fileOffset; @@ -478,7 +478,6 @@ bool RecoveryManager::decodeRecord(jrec& record, } if (!done && needNextFile()) { if (!getNextFile(false)) { - checkJournalAlignment(start_file_offs); return false; } } |