Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Bigger comment.bug24262 | Simon MacMullen | 2011-07-18 | 1 | -1/+4 |
| | |||||
* | more the restart_app to a more appropriate place | Alexandru Scvortov | 2011-07-18 | 1 | -1/+1 |
| | |||||
* | increase a timeout | Alexandru Scvortov | 2011-07-15 | 1 | -8/+1 |
| | |||||
* | remove io:format | Alexandru Scvortov | 2011-07-15 | 1 | -1/+0 |
| | |||||
* | cleanup queue and restart app | Alexandru Scvortov | 2011-07-15 | 1 | -0/+13 |
| | |||||
* | fix bug introduced by bug 24216 (tx untangling) | Matthias Radestock | 2011-07-14 | 1 | -1/+1 |
| | | | | forgot to propagate an API change | ||||
* | cosmetic | Matthias Radestock | 2011-07-14 | 1 | -1/+0 |
| | |||||
* | Merge bug24216 into default | Rob Harrop | 2011-07-08 | 3 | -39/+44 |
|\ | |||||
| * | cosmetic | Matthias Radestock | 2011-07-08 | 1 | -3/+2 |
| | | |||||
| * | merge bug24244 into default | Matthias Radestock | 2011-07-07 | 1 | -21/+25 |
| |\ | |||||
| | * | inliningbug24244 | Matthias Radestock | 2011-07-07 | 1 | -6/+6 |
| | | | |||||
| | * | One last tweak. | Simon MacMullen | 2011-07-06 | 1 | -3/+2 |
| | | | |||||
| | * | Refactor / beautification. | Simon MacMullen | 2011-07-06 | 1 | -37/+26 |
| | | | |||||
| | * | Inline rabbit_misc:table_filter, then fiddle with it until it's actually ↵ | Simon MacMullen | 2011-07-05 | 1 | -19/+35 |
| | | | | | | | | | | | | right. To say this could do with some beautification is an understatement. | ||||
| * | | Note to future self / others | Simon MacMullen | 2011-07-07 | 1 | -0/+3 |
| | | | |||||
| * | | Merge heads | Simon MacMullen | 2011-07-07 | 1 | -11/+15 |
| |\ \ | |||||
| | * \ | merge bug24179 into default | Matthias Radestock | 2011-07-07 | 28 | -398/+2494 |
| | |\ \ | | | |/ | |||||
| | * | | tiny refactor: better function namesbug24179 | Matthias Radestock | 2011-06-27 | 1 | -9/+8 |
| | | | | |||||
| | * | | Generate fine stats on redeliver. | Simon MacMullen | 2011-06-20 | 1 | -6/+11 |
| | | | | |||||
| * | | | Fix upgrades from 2.4.1 and before. This failed because the #exchange{} ↵ | Simon MacMullen | 2011-07-07 | 1 | -8/+2 |
| | |/ | |/| | | | | | | | record now contains the exchange scratch space, but at the point at which we add trace exchanges Mnesia hasn't got there yet. The moral of this story is: never use record definitions in rabbit_upgrade_functions (which is why all the transform() invocations don't). | ||||
* | | | ditch per-x-q confirm statsbug24216 | Matthias Radestock | 2011-07-06 | 1 | -6/+2 |
| | | | | | | | | | | | | | | | | | | | | | They don't work properly (see comment in code) and are emitted in a very awkward place. And they expose implementation detail - there is no a priori reason why queues should be involved in confirms - and are of questionable utility. | ||||
* | | | make 'tx.commit-ok' indicate responsibility transfer | Matthias Radestock | 2011-07-06 | 1 | -40/+76 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is now very close to the previous tx semantics. The downsides w.r.t. the previous state of this branch are - a bit more code, though only in the channel - tx and confirm mode no longer compose - tx always carries the cost of confirms Implementation notes: - The channel must remain active while a commit waits for confirms from queues to trickle in. We achieve this by recording the fact that we have a pending commit. - The trigger for sending the commit-ok is that the number of pending confirms drops to zero and we have a pending commit. - We check for that condition in three places: a) at the point of commit (in case the tx contains no publishes or all confirmations happen as part of delivering the messages to queues) b) where we would normally send basic.acks c) where we would normally send basic.nacks - we are re-using the same logic/state as for 'proper' confirms, except we suppress the sending of acks/nacks - handling the failure case is slightly awkward. We record a tx as 'failed' as soon as we encounter the 'nack' case. Subsequently, when the aforementioned triggering condition is met instead of sending a tx.commit-ok we send a precondition_failed error. But we can't just employ rabbit_misc:protocol_error here since that only works in the context of handling an AMQP method, which is only the case for (a). So instead we drop to a slightly lower API level and rely on the fact precondition_failed is a channel-level, rather than connection-level error. | ||||
* | | | confirm on tx.rollback | Matthias Radestock | 2011-07-05 | 1 | -4/+10 |
| | | | |||||
* | | | merge default into bug24216 | Matthias Radestock | 2011-07-04 | 17 | -660/+222 |
|\ \ \ | |/ / |/| | | |||||
| * | | change tx semantics to 'batching' | Matthias Radestock | 2011-07-04 | 4 | -36/+103 |
| | | | | | | | | | | | | | | | | | | | | | We keep track of uncommitted messages and acks in the channel. All routing decisions are made instantly, which means errors are detected straight away. We increment pub/ack stats on commit only. | ||||
| * | | merge default into bug24216 | Matthias Radestock | 2011-06-29 | 17 | -658/+153 |
| |\ \ | |||||
| | * \ | merge default into bug24216 | Matthias Radestock | 2011-06-26 | 17 | -658/+153 |
| | |\ \ | |||||
| | | * | | s/run_backing_queue_async/run_backing_queue | Matthias Radestock | 2011-06-25 | 5 | -16/+8 |
| | | | | | | | | | | | | | | | | | | | | as well as removing some mroe tx remnants from mirror_queue_slave | ||||
| | | * | | get rid of sync run_backing_queue | Matthias Radestock | 2011-06-25 | 3 | -27/+4 |
| | | | | | | | | | | | | | | | | | | | | | | | | | it was only needed for tx Also remove some tx remnants from mirror_queue_slave. | ||||
| | | * | | fix tests | Matthias Radestock | 2011-06-25 | 1 | -19/+28 |
| | | | | | |||||
| | | * | | tx gone from everywhere | Matthias Radestock | 2011-06-24 | 13 | -243/+67 |
| | | | | | |||||
| | | * | | remove transactions from backing queue | Matthias Radestock | 2011-06-24 | 6 | -366/+60 |
| | | | | | | | | | | | | | | | | | | | | ...and mostly from amqqueue_process | ||||
* | | | | | merge bug24232 into default (don't show mode in 'rabbitmqctl list_channels') | Alexandru Scvortov | 2011-07-03 | 1 | -1/+1 |
|\ \ \ \ \ | |||||
| * | | | | | cosmetic: more sensible order of qpids for routing | Matthias Radestock | 2011-07-02 | 1 | -1/+1 |
| | | | | | | |||||
* | | | | | | remove 'transactional' flag from 'rabbitmqctl list_channel'bug24232 | Matthias Radestock | 2011-07-01 | 2 | -3/+3 |
|/ / / / / | |||||
* | | | | | cosmetic: move docs of confirm-related channel info items to better place | Matthias Radestock | 2011-07-01 | 1 | -10/+10 |
| | | | | | |||||
* | | | | | merge bug23825 into default | Matthias Radestock | 2011-07-01 | 3 | -2/+35 |
|\ \ \ \ \ | |/ / / / |/| | | | | |||||
| * | | | | cosmetic: we tend to prefer 'any()' over 'term()'bug23825 | Matthias Radestock | 2011-07-01 | 1 | -1/+1 |
| | | | | | |||||
| * | | | | - use rabbit_misc:execute_mnesia_transaction | Simon MacMullen | 2011-06-29 | 1 | -24/+18 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - call the function update_scratch and only update the scratch space - call Fun(X) once - make 'read' into a 'wread' | ||||
| * | | | | Spec | Simon MacMullen | 2011-06-29 | 1 | -0/+3 |
| | | | | | |||||
| * | | | | Scratch space for exchanges, and rabbit_exchange:update/2. | Simon MacMullen | 2011-06-27 | 3 | -2/+38 |
| | | | | | |||||
* | | | | | cosmetic: give rabbit.erl some structure | Matthias Radestock | 2011-06-29 | 1 | -153/+157 |
| | | | | | |||||
* | | | | | merge bug24207 into default (Rabbit doesn't stop and halt correctly) | Alexandru Scvortov | 2011-06-29 | 4 | -8/+4 |
|\ \ \ \ \ | |||||
| * \ \ \ \ | merge bug24180 into default | Matthias Radestock | 2011-06-28 | 26 | -273/+2288 |
| |\ \ \ \ \ | |||||
| | * | | | | | Remove tonyg and md5 checksums, since the Macports guys already have done ↵ | Simon MacMullen | 2011-06-27 | 2 | -4/+2 |
| | |/ / / / | | | | | | | | | | | | | | | | | | | and we don't want to reinstate them. | ||||
| | * | | | | merge bug 24221 into default (channel.flow{active=true} can fail to unblock ↵ | Alexandru Scvortov | 2011-06-27 | 1 | -2/+2 |
| | |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | queues) | ||||
| | | * | | | | remember when we've refused a queue's can_send due to being blockedbug24221 | Matthias Radestock | 2011-06-25 | 1 | -2/+2 |
| | | | |/ / | | | |/| | | | | | | | | | | | | | | so that we can tell the queue when we get unblocked | ||||
| * | | | | | Allow unprivileged users to passive declare.bug24180 | Simon MacMullen | 2011-06-17 | 1 | -2/+0 |
| | |_|_|/ | |/| | | | |||||
* | | | | | factorisationbug24207 | Matthew Sackman | 2011-06-28 | 1 | -9/+10 |
| | | | | | |||||
* | | | | | There's a possibility that rabbit has to be able to be started without being ↵ | Matthew Sackman | 2011-06-28 | 1 | -0/+25 |
| | | | | | | | | | | | | | | | | | | | | booted. Thus we need to be able to load the transitive closure of rabbit's dependencies on demand. This is especially needed for the tests. |