summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Remove erroneous loss of state. Whilst this now can cause a memory leak, it ↵Matthew Sackman2011-03-101-8/+2
| | | | only affects the master, the dict is not particularly rich, and it'll only be left with entries for dead channels (most likely channels that were on the old master). Also, we might very well be able to address this through other means
* discovered another entire class of interleaving opportunities I've not ↵Matthew Sackman2011-03-102-16/+39
| | | | considered. Fortunately, the fix turned out to be simple. ish.
* Make creation of slaves synchronous. This means we are guaranteed on ↵Matthew Sackman2011-03-101-4/+4
| | | | queue.declare to have all slaves up by the time of the _ok
* It was right before...Matthew Sackman2011-03-101-4/+4
|
* or that might be a bit better...Matthew Sackman2011-03-092-11/+9
|
* There's a chance that might be itMatthew Sackman2011-03-091-9/+15
|
* Further improvement of documentationMatthew Sackman2011-03-091-5/+33
|
* Correct documentation. Code is still wrong thoughMatthew Sackman2011-03-091-17/+29
|
* fixMatthew Sackman2011-03-091-4/+5
|
* Sort out and clean the validate_message stuff. It compiles again now...Matthew Sackman2011-03-093-24/+26
|
* Merge default to bug23554, and then a bitMatthew Sackman2011-03-0917-187/+1449
|\
| * just stashing this whilst I fix something elseMatthew Sackman2011-03-092-58/+56
| |
| * Just some more notesMatthew Sackman2011-03-081-2/+13
| |
| * Hmm, I'd forgotten than deliver_immediately == false => the msg _isn't_ enqueuedMatthew Sackman2011-03-081-10/+9
| |
| * oopsMatthew Sackman2011-03-082-3/+3
| |
| * add BQ:validate_messageMatthew Sackman2011-03-086-30/+71
| |
| * Merging default into bug23554Matthew Sackman2011-03-0817-162/+1372
| |\
| | * It's very substantially wrong.Matthew Sackman2011-03-023-38/+75
| | |
| | * Remove erroneous documentationMatthew Sackman2011-03-021-34/+0
| | |
| | * Fixed confirms in HA queues. Broke slave promotion. Will fixMatthew Sackman2011-03-021-64/+104
| | |
| | * confirms still don't work... but it needs sleep to fix this.Matthew Sackman2011-02-281-7/+6
| | |
| | * Large amounts of debitrotting due to changes to confirms api and such like. ↵Matthew Sackman2011-02-282-27/+92
| | | | | | | | | | | | Sadly mirrored confirms aren't working again yet... not really sure why
| | * Removing gm_test from bug23554 which has in bug23727 become gm_soak_testMatthew Sackman2011-02-281-126/+0
| | |
| | * Merging default into bug23554Matthew Sackman2011-02-2831-296/+736
| | |\
| | * \ Merging bug23727 to bug23554Matthew Sackman2011-02-2339-1081/+803
| | |\ \
| | * \ \ Merging bug23727 to bug23554Matthew Sackman2011-02-1252-504/+2739
| | |\ \ \
| | | * \ \ Merging bug23829 to bug23554Matthew Sackman2011-02-1220-162/+2728
| | | |\ \ \
| | | | * \ \ Merging default into bug23554Matthew Sackman2011-02-1221-162/+2744
| | | | |\ \ \
| | | | | * \ \ Merging bug23727 into bug23554Matthew Sackman2011-01-214-7/+10
| | | | | |\ \ \
| | | | | * | | | And the result of misc:rs is a string, so format it as suchMatthew Sackman2011-01-202-5/+5
| | | | | | | | |
| | | | | * | | | Correct formatting of resources in log messagesMatthew Sackman2011-01-202-10/+10
| | | | | | | | |
| | | | | * | | | Merging default into bug23554 (epic debitrot)Matthew Sackman2011-01-2021-161/+2743
| | | | | |\ \ \ \
| | | | | | * \ \ \ Merging default into bug23554Matthew Sackman2010-12-2121-119/+2694
| | | | | | |\ \ \ \
| | | | | | | * \ \ \ Merging default into bug23554Matthew Sackman2010-12-2121-119/+2694
| | | | | | | |\ \ \ \
| | | | | | | | * | | | Make the addition of slave nodes more robust. This is especially important ↵Matthew Sackman2010-12-211-3/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | for recovery of durable queues
| | | | | | | | * | | | idiotMatthew Sackman2010-12-211-1/+1
| | | | | | | | | | | |
| | | | | | | | * | | | Use amqqueue:store_queue/1 so that we modify durable queues durablyMatthew Sackman2010-12-212-1/+2
| | | | | | | | | | | |
| | | | | | | | * | | | Correct all manner of crazy wrongness with ↵Matthew Sackman2010-12-217-60/+84
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | maybe_run_queue_via_backing_queue. The principle problem is that the state with which the function is to be run is dependent on the caller. Sometimes it's the 'top level' BQ state (eg invocations called by amqqueue_process). Sometimes it's the 'bottom level' state (eg invocations called by vq or qi or msg_store). We didn't used to have multiple layers, but now we do. Consequently, the invocation must indicate 'where' the fun is to be run. The clearest explanation is in master:invoke/3
| | | | | | | | * | | | Merging default into bug 23554Matthew Sackman2010-12-2121-70/+2612
| | | | | | | | |\ \ \ \
| | | | | | | | | * | | | Remove R14-ism. Also, cute feature - if you specify no nodes by name, you ↵Matthew Sackman2010-12-201-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mean all known nodes
| | | | | | | | | * | | | Give in and have the master put the pub msgs themselves on the gm. Avoiding ↵Matthew Sackman2010-12-202-149/+159
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | this proves far too complex in all the failure cases (the worst being when the publishing node crashes - the master can receive the msg, but not the slaves. Worse, because of complexities like delegates, it's not even straightforward to monitor the publishers in order to be sure we're not going to receive more messages from them). We continue to have all msgs directly routed to all queues. Yes, this means that normally every slave receives every message twice, but this is genuinely the simplest and most secure route and protects against failures the best.
| | | | | | | | | * | | | Revert the previous changeset as I've decided to solve this differentlyMatthew Sackman2010-12-202-135/+53
| | | | | | | | | | | | |
| | | | | | | | | * | | | Right, well the fake handling code in master is fine. The fake handling code ↵Matthew Sackman2010-12-202-53/+135
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | in slave is utterly wrong. However, I need to sleep
| | | | | | | | | * | | | When you send a msg to another node, if the local node doesn't already have ↵Matthew Sackman2010-12-191-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | a connection to the destination node, it has to contact epmd and try and resolve the remote node. This takes time. Thus, in the event of a distributed gm group, it's very important that we record asap when a member dies as that member might be our downstream, to which we're sending, and it might be on another node. Thus promote the DOWN messages. Because of the inherent races going on, gm is built to cope with this anyway. This has the nice benefit that promotion of slaves to master in the event of failure of master is now pretty much instantaneous
| | | | | | | | | * | | | Fixed a bug caused by revision 454fbb9127bd in rabbit-ha from where gm.erl ↵Matthew Sackman2010-12-192-62/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | came; Make gm_tests more robust; Avoid creating endless funs all the time for every message (substantial performance gain). Abstract use of dicts - expected use case is relatively small groups, thus orddict would normally be more appropriate
| | | | | | | | | * | | | Merging default into bug23554Matthew Sackman2010-12-171-1/+1
| | | | | | | | | |\ \ \ \
| | | | | | | | | * | | | | Ensure that promoted slaves monitor the queue's exclusive ownerMatthew Sackman2010-12-171-1/+6
| | | | | | | | | | | | | |
| | | | | | | | | * | | | | Fix a race condition that can occur on queue deletion. Also change boot ↵Matthew Sackman2010-12-174-25/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | order to make sure the msg_stores are started before us (and thus stopped after us)
| | | | | | | | | * | | | | Accidental unification going on of two things named Q; fix a bug which led ↵Matthew Sackman2010-12-171-8/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to repeated calls to BQ:delete_and_terminate (which turns out not to be idempotent)
| | | | | | | | | * | | | | That might just be enough to support confirmsMatthew Sackman2010-12-171-16/+48
| | | | | | | | | | | | | |