summaryrefslogtreecommitdiffstats
path: root/tools/test-requires
diff options
context:
space:
mode:
authorKei Masumoto <masumotok@nttdata.co.jp>2013-01-28 02:49:32 +0900
committerKei Masumoto <masumotok@nttdata.co.jp>2013-02-22 13:41:08 -0800
commitc312fd6742c035677347a6987fb17b67e2c72087 (patch)
treee81470a8968523d4211ac85e9338291f6dfb1027 /tools/test-requires
parent2b418be864a5aa5ba135f7651e83051cf3bf9ce6 (diff)
downloadoslo-c312fd6742c035677347a6987fb17b67e2c72087.tar.gz
oslo-c312fd6742c035677347a6987fb17b67e2c72087.tar.xz
oslo-c312fd6742c035677347a6987fb17b67e2c72087.zip
AMQP: skip duplicate messages
When using rabbit's mirrored queues or qpid's replicated queues, there are conditions under which you can receive the same message twice. One such condition is where a message has been sent to a consumer but before an ack is received by a consumer, the master fails over to a slave and the slave resends the message. Note that the consumer may have sent the ack, but it was lost as the master went down. Dispatching the same message twice is obviously something we want to avoid. In order to do so, we add a unique_id to each message sent and have consumers maintain a fixed length queue of recently seen unique message IDs. Before dispatching any received message, the queue is checked and the message is skipped if it is a duplicate. Fixes bugs 1107064. Change-Id: I5bfacadbdf7de8b34d6370b9aa869c271957692d
Diffstat (limited to 'tools/test-requires')
0 files changed, 0 insertions, 0 deletions