From 7c771eec9869c897b4b41caf1aa4e5978242c13d Mon Sep 17 00:00:00 2001 From: "Carl C. Trieloff" Date: Wed, 8 Jul 2009 18:58:27 +0000 Subject: fix for regression in patch & test to prevent regression again Simulate this: 1. start 2 nodes 2. create cluster durable lvq 3. send a transient message to the queue 4. kill one of the nodes (to trigger force persistent behaviour)... 5. then restart it (to turn off force persistent behaviour) 6. send another transient message with same lvq key as in 3 7. kill the second node again (retrigger force persistent) 8. stop and recover the first node git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@792259 13f79535-47bb-0310-9956-ffa450edef68 --- cpp/src/qpid/broker/Queue.cpp | 2 +- 1 file changed, 1 insertion(+), 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 19589e1d84..5dd1adc12b 100644 --- a/cpp/src/qpid/broker/Queue.cpp +++ b/cpp/src/qpid/broker/Queue.cpp @@ -674,9 +674,9 @@ void Queue::setLastNodeFailure() if (persistLastNode){ Mutex::ScopedLock locker(messageLock); for ( Messages::iterator i = messages.begin(); i != messages.end(); ++i ) { + if (lastValueQueue) checkLvqReplace(*i); // don't force a message twice to disk. if(!i->payload->isStoredOnQueue(shared_from_this())) { - if (lastValueQueue) checkLvqReplace(*i); i->payload->forcePersistent(); if (i->payload->isForcedPersistent() ){ enqueue(0, i->payload); -- cgit v1.2.1