summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Bigger comment.bug24262Simon MacMullen2011-07-181-1/+4
|
* more the restart_app to a more appropriate placeAlexandru Scvortov2011-07-181-1/+1
|
* increase a timeoutAlexandru Scvortov2011-07-151-8/+1
|
* remove io:formatAlexandru Scvortov2011-07-151-1/+0
|
* cleanup queue and restart appAlexandru Scvortov2011-07-151-0/+13
|
* fix bug introduced by bug 24216 (tx untangling)Matthias Radestock2011-07-141-1/+1
| | | | forgot to propagate an API change
* cosmeticMatthias Radestock2011-07-141-1/+0
|
* Merge bug24216 into defaultRob Harrop2011-07-083-39/+44
|\
| * cosmeticMatthias Radestock2011-07-081-3/+2
| |
| * merge bug24244 into defaultMatthias Radestock2011-07-071-21/+25
| |\
| | * inliningbug24244Matthias Radestock2011-07-071-6/+6
| | |
| | * One last tweak.Simon MacMullen2011-07-061-3/+2
| | |
| | * Refactor / beautification.Simon MacMullen2011-07-061-37/+26
| | |
| | * Inline rabbit_misc:table_filter, then fiddle with it until it's actually ↵Simon MacMullen2011-07-051-19/+35
| | | | | | | | | | | | right. To say this could do with some beautification is an understatement.
| * | Note to future self / othersSimon MacMullen2011-07-071-0/+3
| | |
| * | Merge headsSimon MacMullen2011-07-071-11/+15
| |\ \
| | * \ merge bug24179 into defaultMatthias Radestock2011-07-0728-398/+2494
| | |\ \ | | | |/
| | * | tiny refactor: better function namesbug24179Matthias Radestock2011-06-271-9/+8
| | | |
| | * | Generate fine stats on redeliver.Simon MacMullen2011-06-201-6/+11
| | | |
| * | | Fix upgrades from 2.4.1 and before. This failed because the #exchange{} ↵Simon MacMullen2011-07-071-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 statsbug24216Matthias Radestock2011-07-061-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 transferMatthias Radestock2011-07-061-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.rollbackMatthias Radestock2011-07-051-4/+10
| | |
* | | merge default into bug24216Matthias Radestock2011-07-0417-660/+222
|\ \ \ | |/ / |/| |
| * | change tx semantics to 'batching'Matthias Radestock2011-07-044-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 bug24216Matthias Radestock2011-06-2917-658/+153
| |\ \
| | * \ merge default into bug24216Matthias Radestock2011-06-2617-658/+153
| | |\ \
| | | * | s/run_backing_queue_async/run_backing_queueMatthias Radestock2011-06-255-16/+8
| | | | | | | | | | | | | | | | | | | | as well as removing some mroe tx remnants from mirror_queue_slave
| | | * | get rid of sync run_backing_queueMatthias Radestock2011-06-253-27/+4
| | | | | | | | | | | | | | | | | | | | | | | | | it was only needed for tx Also remove some tx remnants from mirror_queue_slave.
| | | * | fix testsMatthias Radestock2011-06-251-19/+28
| | | | |
| | | * | tx gone from everywhereMatthias Radestock2011-06-2413-243/+67
| | | | |
| | | * | remove transactions from backing queueMatthias Radestock2011-06-246-366/+60
| | | | | | | | | | | | | | | | | | | | ...and mostly from amqqueue_process
* | | | | merge bug24232 into default (don't show mode in 'rabbitmqctl list_channels')Alexandru Scvortov2011-07-031-1/+1
|\ \ \ \ \
| * | | | | cosmetic: more sensible order of qpids for routingMatthias Radestock2011-07-021-1/+1
| | | | | |
* | | | | | remove 'transactional' flag from 'rabbitmqctl list_channel'bug24232Matthias Radestock2011-07-012-3/+3
|/ / / / /
* | | | | cosmetic: move docs of confirm-related channel info items to better placeMatthias Radestock2011-07-011-10/+10
| | | | |
* | | | | merge bug23825 into defaultMatthias Radestock2011-07-013-2/+35
|\ \ \ \ \ | |/ / / / |/| | | |
| * | | | cosmetic: we tend to prefer 'any()' over 'term()'bug23825Matthias Radestock2011-07-011-1/+1
| | | | |
| * | | | - use rabbit_misc:execute_mnesia_transactionSimon MacMullen2011-06-291-24/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - call the function update_scratch and only update the scratch space - call Fun(X) once - make 'read' into a 'wread'
| * | | | SpecSimon MacMullen2011-06-291-0/+3
| | | | |
| * | | | Scratch space for exchanges, and rabbit_exchange:update/2.Simon MacMullen2011-06-273-2/+38
| | | | |
* | | | | cosmetic: give rabbit.erl some structureMatthias Radestock2011-06-291-153/+157
| | | | |
* | | | | merge bug24207 into default (Rabbit doesn't stop and halt correctly)Alexandru Scvortov2011-06-294-8/+4
|\ \ \ \ \
| * \ \ \ \ merge bug24180 into defaultMatthias Radestock2011-06-2826-273/+2288
| |\ \ \ \ \
| | * | | | | Remove tonyg and md5 checksums, since the Macports guys already have done ↵Simon MacMullen2011-06-272-4/+2
| | |/ / / / | | | | | | | | | | | | | | | | | | and we don't want to reinstate them.
| | * | | | merge bug 24221 into default (channel.flow{active=true} can fail to unblock ↵Alexandru Scvortov2011-06-271-2/+2
| | |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | queues)
| | | * | | | remember when we've refused a queue's can_send due to being blockedbug24221Matthias Radestock2011-06-251-2/+2
| | | | |/ / | | | |/| | | | | | | | | | | | | | so that we can tell the queue when we get unblocked
| * | | | | Allow unprivileged users to passive declare.bug24180Simon MacMullen2011-06-171-2/+0
| | |_|_|/ | |/| | |
* | | | | factorisationbug24207Matthew Sackman2011-06-281-9/+10
| | | | |
* | | | | There's a possibility that rabbit has to be able to be started without being ↵Matthew Sackman2011-06-281-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.