diff options
| author | Matthew Sackman <matthew@lshift.net> | 2010-04-02 11:34:43 +0100 |
|---|---|---|
| committer | Matthew Sackman <matthew@lshift.net> | 2010-04-02 11:34:43 +0100 |
| commit | a133685fb5097a6c5fbef9a1c6afb9a78fdbf069 (patch) | |
| tree | ef0cf27e8bc4c7b233dd85f36a8f4263d66e2d39 /scripts | |
| parent | dba92b6916160e849863ab7d7459e783dea81d4c (diff) | |
| download | rabbitmq-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
