diff options
| author | Carl C. Trieloff <cctrieloff@apache.org> | 2009-07-31 13:14:25 +0000 |
|---|---|---|
| committer | Carl C. Trieloff <cctrieloff@apache.org> | 2009-07-31 13:14:25 +0000 |
| commit | 52fcabc92143d00f5a950362f3939e75e2b847c3 (patch) | |
| tree | 19d6322fb14b9a99dc70260de3c7f0a1fa0c6146 /cpp/src | |
| parent | 973ed9150310e9ba55ae69979d318f4bb256d0b2 (diff) | |
| download | qpid-python-52fcabc92143d00f5a950362f3939e75e2b847c3.tar.gz | |
Some clean up, and better error check
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@799598 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src')
| -rw-r--r-- | cpp/src/qpid/replication/ReplicationExchange.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/cpp/src/qpid/replication/ReplicationExchange.cpp b/cpp/src/qpid/replication/ReplicationExchange.cpp index 053335e6ad..b5911bb71e 100644 --- a/cpp/src/qpid/replication/ReplicationExchange.cpp +++ b/cpp/src/qpid/replication/ReplicationExchange.cpp @@ -85,19 +85,21 @@ void ReplicationExchange::handleEnqueueEvent(const FieldTable* args, Deliverable if (queue) { SequenceNumber seqno1(args->getAsInt(QUEUE_MESSAGE_POSITION)); - - if (queue->getPosition() > seqno1) // test queue.pos < seqnumber + + // note that queue will ++ before enqueue. + if (queue->getPosition() > --seqno1) // test queue.pos < seqnumber { QPID_LOG(error, "Cannot enqueue replicated message. Destination Queue " << queueName << " ahead of source queue"); mgmtExchange->inc_msgDrops(); mgmtExchange->inc_byteDrops(msg.contentSize()); } else { - queue->setPosition(--seqno1); // note that queue will ++ before enqueue. + queue->setPosition(seqno1); FieldTable& headers = msg.getMessage().getProperties<MessageProperties>()->getApplicationHeaders(); headers.erase(REPLICATION_TARGET_QUEUE); headers.erase(REPLICATION_EVENT_SEQNO); headers.erase(REPLICATION_EVENT_TYPE); + headers.erase(QUEUE_MESSAGE_POSITION); msg.deliverTo(queue); QPID_LOG(debug, "Enqueued replicated message onto " << queueName); if (mgmtExchange != 0) { |
