summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorMatthew Sackman <matthew@lshift.net>2010-04-02 11:34:43 +0100
committerMatthew Sackman <matthew@lshift.net>2010-04-02 11:34:43 +0100
commita133685fb5097a6c5fbef9a1c6afb9a78fdbf069 (patch)
treeef0cf27e8bc4c7b233dd85f36a8f4263d66e2d39 /scripts
parentdba92b6916160e849863ab7d7459e783dea81d4c (diff)
downloadrabbitmq-server-git-a133685fb5097a6c5fbef9a1c6afb9a78fdbf069.tar.gz
The 2 part init of the queue must be complete before the queue is committed into mnesia. Furthermore, it must be a call, not a cast otherwise it could be overtaken (though it returns first, and inits second). Note that this means on a collision, the queue may get > 1 init calls, hence need for idempotency, and the 2nd call may be delayed while the first init completes. Also note that the queue index init alters disk content. Thus initing the same queue with disk content concurrently will lead to unexpected results. However, this can't occur because durable queue recovery is the only time we are initing queues with disk content, and there will be no collisions at that point, so safe. In normal queue declaration collisions, there will be no disk content anyway.
Diffstat (limited to 'scripts')
0 files changed, 0 insertions, 0 deletions