summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/broker/SemanticState.cpp
diff options
context:
space:
mode:
authorKim van der Riet <kpvdr@apache.org>2010-04-13 17:28:52 +0000
committerKim van der Riet <kpvdr@apache.org>2010-04-13 17:28:52 +0000
commita41bff40eb9080aa99a06b5325d47d995079d5a0 (patch)
tree6646955f9949fd0d4b8a7ab851005d1fea7cc427 /cpp/src/qpid/broker/SemanticState.cpp
parent118c4bb7fa781bbb4512a66ba1ca618e70abe64b (diff)
downloadqpid-python-a41bff40eb9080aa99a06b5325d47d995079d5a0.tar.gz
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
Diffstat (limited to 'cpp/src/qpid/broker/SemanticState.cpp')
-rw-r--r--cpp/src/qpid/broker/SemanticState.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/cpp/src/qpid/broker/SemanticState.cpp b/cpp/src/qpid/broker/SemanticState.cpp
index 5148d88e72..d4fa465f37 100644
--- a/cpp/src/qpid/broker/SemanticState.cpp
+++ b/cpp/src/qpid/broker/SemanticState.cpp
@@ -413,8 +413,17 @@ void SemanticState::handle(intrusive_ptr<Message> msg) {
} else {
DeliverableMessage deliverable(msg);
route(msg, deliverable);
- if (msg->checkContentReleasable()) {
- msg->releaseContent();
+ if (msg->isContentReleaseRequested()) {
+ // NOTE: The log messages in this section are used for flow-to-disk testing (which checks the log for the
+ // presence of these messages). Do not change these without also checking these tests.
+ if (msg->isContentReleaseBlocked()) {
+ QPID_LOG(debug, "Message id=\"" << msg->getProperties<MessageProperties>()->getMessageId() << "\"; pid=0x" <<
+ std::hex << msg->getPersistenceId() << std::dec << ": Content release blocked");
+ } else {
+ msg->releaseContent();
+ QPID_LOG(debug, "Message id=\"" << msg->getProperties<MessageProperties>()->getMessageId() << "\"; pid=0x" <<
+ std::hex << msg->getPersistenceId() << std::dec << ": Content released");
+ }
}
}
}