summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* issue confirms when needed (and only then)Matthias Radestock2011-10-111-22/+33
| | | | | | This also fixes a bug that is present on 'default', namely that we used to always issue a confirm on 'remove' regardless of whether there was preceding 'write'.
* refactoring: extract core of 'write' handlerMatthias Radestock2011-10-101-66/+62
| | | | | | similar to what we already did for 'remove' Also, don't add the 'dying client' marker message to the pending confirms. While that does no harm, it is clearly not right.
* cosmeticMatthias Radestock2011-10-101-2/+2
|
* there's more than one call site for remove_message...Matthias Radestock2011-10-101-41/+41
| | | | ...and only one of them must pay attention to flying_ets
* be more careful about deleting cur_file_cache_ets entriesMatthias Radestock2011-10-101-6/+17
|
* I'm pretty sure this is correctMatthias Radestock2011-10-091-31/+47
|
* slightly more obvious flying_writes accountingMatthias Radestock2011-10-061-14/+11
| | | | | and move the cache cleanup from 'remove' to 'write', which is a more obvious place. Improve docs on that too.
* merge default into bug24308Matthias Radestock2011-10-061-73/+116
|\
| * Whoops, forgot that bit.Matthew Sackman2011-08-191-0/+4
| |
| * Fixed again.Matthew Sackman2011-08-191-73/+112
| |
* | Merged bug24459 into defaultEmile Joubert2011-10-051-30/+34
|\ \
| * \ merge default into bug24459Matthias Radestock2011-10-011-30/+34
| |\ \
| | * | keep track of uncommitted acks in a list instead of a queueMatthias Radestock2011-10-011-17/+15
| | | | | | | | | | | | | | | | This is simpler.
| | * | collect acks in lists rather than queuesMatthias Radestock2011-10-011-20/+26
| | | | | | | | | | | | | | | | | | | | ...which is slightly simpler and more efficient. This also allows us to optimise for the common case in fold_per_queue.
* | | | Merged bug24462 into defaultEmile Joubert2011-10-041-1/+1
|\ \ \ \
| * | | | Don't blow up when nodes policy is used.Simon MacMullen2011-10-031-1/+1
| | | | |
* | | | | merge bug24323 into defaultMatthias Radestock2011-10-0369-1225/+1797
|\ \ \ \ \ | |/ / / /
| * | | | optimise resource lookupMatthias Radestock2011-10-032-8/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is worth ~2% in "MCM -a" when running with two Erlang schedulers, and drops rabbit_misc:dirty_read/1 from #21 to #49 in the fprof analysis of the publisher channel.
| * | | | improve performance by bypassing mnesia for queue lookupMatthias Radestock2011-10-031-11/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is worth ~2% on "MCM -a" when running with two Erlang schedulers, and drops rabbit_router:lookup_qpids/1 from #21 to #42 in the fprof analysis of the channel process.
| * | | | optimise interaction of limiter with single queuesMatthias Radestock2011-10-011-0/+1
| | | | | | | | | | | | | | | | | | | | which is a common case
| * | | | switch vq pending_ack from dict to gb_treesMatthias Radestock2011-10-011-14/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The latter are generally more efficient and this gains us 1-2% when running "MCM" with two Erlang schedulers and drops vq:{record,remove}_pending_ack from 25/28th to 32/39th place in the fprof profile of the queue process
| * | | | optimise vq:drain_confirmed for the common caseMatthias Radestock2011-10-011-1/+5
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | This gets called on the processing of every event/msg by the queue process and making this change improves throughout of "MCM -a" by ~1% when running with two Erlang schedulers and bumps vq:drain_confirmed from #20 to #36 in an fprof profile of the queue process.
| * | | yes, this really does gain ~1% with MCM with two erlang schedulersMatthias Radestock2011-10-011-3/+9
| |/ /
| * | speed up acks a bitMatthias Radestock2011-10-011-10/+5
| | | | | | | | | | | | | | | gb_trees are generally faster than dicts. Worth 1-2% in "MCM" when running with two Erlang schedulers.
| * | refactor: extract gb_trees_fold/3 and gb_trees_foreach/2Matthias Radestock2011-10-013-11/+17
| | |
| * | refactor: eliminate gratuitous differences in 'confirm' codeMatthias Radestock2011-10-012-17/+17
| | |
| * | refactor: one gb_trees_cons is quite enoughMatthias Radestock2011-10-013-15/+11
| | |
| * | a few minor tweaks, essentially cosmeticMatthias Radestock2011-09-301-7/+7
| | |
| * | avoid creation of intermediate binaries by using io_listsMatthias Radestock2011-09-301-3/+2
| | | | | | | | | | | | This is worth 1-2% with "MCM -a" and two Erlang schedulers
| * | performance improving short cutMatthias Radestock2011-09-301-0/+2
| | | | | | | | | | | | This gains 1-2% when running "MCM -a" with two Erlang schedulers
| * | cosmeticMatthias Radestock2011-09-301-2/+1
| | |
| * | merge bug23764 into defaultMatthias Radestock2011-09-304-175/+340
| |\ \
| | * | correct formattingMatthias Radestock2011-09-301-13/+14
| | | |
| | * | merge default into bug23764Matthias Radestock2011-09-303-69/+60
| | |\ \ | | |/ / | |/| |
| * | | reformattingMatthias Radestock2011-09-301-57/+46
| | | |
| * | | merge bug24298 into defaultMatthias Radestock2011-09-2965-963/+1450
| |\ \ \
| | * | | Further oops, we now depend on everything being built before running ↵Simon MacMullen2011-09-281-1/+1
| | | | | | | | | | | | | | | | | | | | run-background-node, otherwise we have two make processes tryi9ng to compile at the same time and they tread on each other.
| | * | | OoopsSimon MacMullen2011-09-281-1/+1
| | | | |
| | * | | Merge bug24371Simon MacMullen2011-09-2825-483/+631
| | |\ \ \
| | * \ \ \ merge default into bug24371Alexandru Scvortov2011-09-211-4/+11
| | |\ \ \ \
| | | * | | | Ensure dir existsMatthew Sackman2011-09-061-0/+1
| | | | | | |
| | | * | | | Use ctl wait in makefile; use setsid and backgrounding borrowed from initMatthew Sackman2011-08-222-5/+11
| | | | | | |
| * | | | | | Minor refactorMatthew Sackman2011-08-221-3/+3
| | | | | | |
| * | | | | | More efficient use of harddiscsMatthew Sackman2011-08-221-2/+1
| | | | | | |
| * | | | | | Always call client_delete_and_terminate for the transient queue. We then ↵Matthew Sackman2011-08-221-10/+6
| | |_|_|_|/ | |/| | | | | | | | | | | | | | | | don't need to store the TRef and we should certainly never re-present it.
| | | | | * Add brief note about requeue to VQ docsEmile Joubert2011-09-301-0/+5
| | | | | |
| | | | | * always record pending acks in #msg_status formMatthias Radestock2011-09-301-53/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | #msg_status { msg = undefined } replaces the previous 4-tuple. This simplifies the API and gets rid of the obscure, ad-hoc 4-tuple.
| | | | | * cosmeticMatthias Radestock2011-09-301-8/+8
| | | | | |
| | | | | * refactor: extract removal from pending_ackMatthias Radestock2011-09-291-29/+29
| | | | | | | | | | | | | | | | | | | | | | | | and in the process renamed remove_pending_ack to purge_pending_ack.
| | | | | * inline ack/4Matthias Radestock2011-09-291-32/+25
| | | | | | | | | | | | | | | | | | | | | | | | since there is now just one call site left