From a41bff40eb9080aa99a06b5325d47d995079d5a0 Mon Sep 17 00:00:00 2001 From: Kim van der Riet Date: Tue, 13 Apr 2010 17:28:52 +0000 Subject: Fix for QPID-2470 - Broker does not honour flow-to-disk policy on recovery git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@933711 13f79535-47bb-0310-9956-ffa450edef68 --- cpp/src/qpid/broker/Queue.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'cpp/src/qpid/broker/Queue.cpp') diff --git a/cpp/src/qpid/broker/Queue.cpp b/cpp/src/qpid/broker/Queue.cpp index 8d9248212f..d3a464a6fe 100644 --- a/cpp/src/qpid/broker/Queue.cpp +++ b/cpp/src/qpid/broker/Queue.cpp @@ -188,10 +188,14 @@ void Queue::recover(boost::intrusive_ptr& msg){ msg->enqueueComplete(); // mark the message as enqueued mgntEnqStats(msg); - if (store && !msg->isContentLoaded()) { + if (store && (!msg->isContentLoaded() || msg->checkContentReleasable())) { //content has not been loaded, need to ensure that lazy loading mode is set: //TODO: find a nicer way to do this msg->releaseContent(store); + // NOTE: The log message in this section are used for flow-to-disk testing (which checks the log for the + // presence of this message). Do not change this without also checking these tests. + QPID_LOG(debug, "Message id=\"" << msg->getProperties()->getMessageId() << "\"; pid=0x" << + std::hex << msg->getPersistenceId() << std::dec << ": Content released after recovery"); } } -- cgit v1.2.1