summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Make with_handle/{1,2} into part of the fhc API, and thus hide the extra ↵bug26180Simon MacMullen2014-05-162-39/+37
| | | | obtain/release/transfer variants.
* Add a file variant to fhc:obtain() and friends so that rabbit_file can keep ↵Simon MacMullen2014-05-162-109/+157
| | | | working even when we have hit the socket limit.
* Merge bug26176Simon MacMullen2014-05-154-28/+46
|\
| * Notify about policy and parameter removal after the vhost is deleted, not ↵bug26176Simon MacMullen2014-05-154-28/+46
| | | | | | | | during the attendant tx.
* | Merge bug26172Simon MacMullen2014-05-131-1/+2
|\ \
| * \ Merge bug 26173Simon MacMullen2014-05-121-1/+2
| |\ \ | | |/ | |/|
| | * Fix broken invocation.bug26173Simon MacMullen2014-05-121-1/+2
| |/
* | Monitor GM when going into a receive block.bug26172Simon MacMullen2014-05-121-1/+9
|/
* Merge bug25468Simon MacMullen2014-05-010-0/+0
|\
* | That's not needed any more.bug25468Simon MacMullen2014-05-011-3/+0
| |
* | Remove coverage workarounds.Simon MacMullen2014-05-011-10/+0
|/
* Added tag rabbitmq_v3_3_1 for changeset e92ab5c9dd47Simon MacMullen2014-04-290-0/+0
|
* release changelogsrabbitmq_v3_3_1Simon MacMullen2014-04-292-0/+9
|
* Attempt to make diagnostics even clearer.Simon MacMullen2014-04-291-14/+19
|
* Resurrect stableSimon MacMullen2014-04-251-0/+1
|
* Merge bug26114Simon MacMullen2014-04-250-0/+0
|\
* | Decrease less as we descend.bug26114Simon MacMullen2014-04-251-1/+1
| |
* | Ensure we don't start treating a list as printable half way through it, or ↵Simon MacMullen2014-04-241-13/+17
|/ | | | if it was originally a tuple.
* Merge bug26125Simon MacMullen2014-04-241-7/+6
|\
| * merge bug26084 into stableMatthias Radestock2014-04-231-7/+6
| |\
| | * blank members_state before maybe_erase_aliasesbug26084Matthias Radestock2014-04-231-7/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | thus reverting b01e5808866d We are the only member left. So our usual alias erasure condition of "acks = pubs" needs to go since otherwise erasure could be deferred indefintely, waiting for acks to arrive that never will. Blanking the members_state effectively sets acks = pubs for all aliases, thus enabling their unconditional erasure.
| | * merge stable into bug26084Matthias Radestock2014-04-231-122/+97
| | |\ | | |/ | |/|
* | | Introduce a new function for the case of dropping a master because we synced ↵bug26125Simon MacMullen2014-04-232-6/+26
|/ / | | | | | | - remove a deadlock.
* | merge bug26119 into stableMatthias Radestock2014-04-231-8/+9
|\ \
| * | don't erase aliases quite so eagerly on DOWNbug26119Matthias Radestock2014-04-231-8/+9
|/ / | | | | | | | | since that can result in completely forgetting about a member when there are still acks making their way around the right.
* | maintain gm ?GROUP_TABLE abstractionMatthias Radestock2014-04-221-3/+3
| | | | | | | | in yet another place
* | refactor: extract gm view change handlingMatthias Radestock2014-04-211-29/+18
| |
* | cosmetic: consistencyMatthias Radestock2014-04-211-11/+12
| |
* | make gm record_new_member_in_group tx side effect freeMatthias Radestock2014-04-211-22/+14
| |
* | refactor: tweak and push through gm read_group abstractionMatthias Radestock2014-04-211-10/+13
| |
* | simplify: get rid of tmp varMatthias Radestock2014-04-211-57/+50
| |
* | enforce gm GROUP_TABLE abstractionMatthias Radestock2014-04-211-21/+17
| | | | | | | | | | | | ...by using mnesia:write/3 instead of /1 and generally abstract mnesia reading/writing and make it dirty reads obvious.
* | merge bug26084 into stableMatthias Radestock2014-04-210-0/+0
|\ \ | |/ |/|
* | blank members_state after maybe_erase_aliasesMatthias Radestock2014-04-211-7/+9
| | | | | | | | since the latter operates on the former
* | merge stable into bug26084Matthias Radestock2014-04-210-0/+0
|\ \ | |/ |/|
* | refactor: simplify gm:internal_broadcastMatthias Radestock2014-04-211-19/+12
| | | | | | | | eliminate branching
* | Merge bug26117Simon MacMullen2014-04-178-61/+73
|\ \
| * | explainbug26117Matthias Radestock2014-04-171-12/+17
| | |
| * | go back to from members_changed/4 to /3Matthias Radestock2014-04-177-21/+18
| | |
| * | always return DeadPids, so that all deaths are loggedMatthias Radestock2014-04-161-6/+5
| | |
| * | gm_pids is the source of truthMatthias Radestock2014-04-161-20/+22
| | | | | | | | | | | | | | | | | | We base promotion decisions on the sub-set of [QPid | SPids] that is referenced in gm_pids. In particular, QPid may be missing from that, if another slave previously noticed its death.
| * | drive remove_from_queue with DeadGMPidsMatthias Radestock2014-04-163-28/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ...instead of LiveGMPids The latter may be out of date s.t. it contains fewer pids than are actually alive, due to new GMs having sprung into live recently. We'd then, incorrectly, remove the corresponding entries from the queue's mnesia record, causing havoc. DeadGMPids can be out of date too; it may contain fewer pids than have actually died, due to GMs having died more recently. That is harmless though since it never leads us to remove an entry that we shouldn't, and we will learn about any new deaths eventually.
* | | Merge bug 26123Simon MacMullen2014-04-173-88/+72
|\ \ \
| * | | monitor workersbug26123Matthias Radestock2014-04-162-2/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In a way this is a damage limitation exercise... When a worker dies while working it is not in the pool anyway, so noticing its death is a no-op. When a worker dies while idle, it will not return to the pool when we next submit work to it. But obviously the submitted work won't be carried out, and the submitter will get an error (unless they submitted the work asynchronously). All the monitoring does is reduce the likelihood of the latter happening. It cannot eliminate it though since the worker may die just as work was being submitted to it.
| * | | track workers by Pid instead of nameMatthias Radestock2014-04-163-59/+37
| | | |
| * | | record workers in a setMatthias Radestock2014-04-161-35/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ...instead of a queue. That way when an idle worker is restarted (and sends an 'idle' message to the pool), it won't end up in the pool twice. Note that we always hand out work to the first worker in the ordset. That is actually more efficient than the round-robin strategy we had with the queue since it keeps a smaller number of workers busy while others can hibernate.
* | | | Merge bug26127Simon MacMullen2014-04-170-0/+0
|\ \ \ \ | |/ / /
* | | | Remove rabbit_amqqueue:force_event_refresh/1 synchronybug26127Simon MacMullen2014-04-172-40/+22
|/ / /
* | | Merge bug26118Simon MacMullen2014-04-163-6/+11
|\ \ \ | |/ /
| * | cosmetic-ish: add a missing ?TABLE abstractionMatthias Radestock2014-04-161-4/+4
| | |