| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Inability to do basic maths | Matthew Sackman | 2010-01-16 | 1 | -9/+11 |
| | | |||||
| * | Refactoring of bpq | Matthew Sackman | 2010-01-15 | 2 | -132/+85 |
| | | |||||
| * | Extensive testing suggests the batch size was previous set too high | Matthew Sackman | 2010-01-14 | 1 | -1/+1 |
| | | |||||
| * | Should actually be working on the ratio of betas to betas+alphas. Thus ↵ | Matthew Sackman | 2010-01-14 | 1 | -2/+3 |
| | | | | | subtract out deltacount | ||||
| * | the ratio should always be 1. Hence removed. | Matthew Sackman | 2010-01-13 | 1 | -7/+1 |
| | | |||||
| * | Much better. The reason why batching is important is because if you're ↵ | Matthew Sackman | 2010-01-13 | 3 | -75/+192 |
| | | | | | walking through the bpqueue and doing very little work before stopping then you don't really get the amortised constant time behaviour. But the goal is achieved - throughput is maintained and very slowly diminishes with no major interruptions and the queue gets fuller and the transition is made to betas and then deltas. | ||||
| * | Forgot to remove an io:format | Matthew Sackman | 2010-01-13 | 1 | -2/+1 |
| | | |||||
| * | Mechanism to limit the number of betas which don't have their index on disk ↵ | Matthew Sackman | 2010-01-13 | 3 | -3/+206 |
| | | | | | is now in. Testing showed that if the queue is long, the change in target_ram_msg_count can be large, thus driving the number of ram indices directly off that still doesn't solve the problem. Thus am driving it from publish, with a limit on the maximum amount of work that can be done. This should allow the queue to remain responsive, as it works towards its goal. However, further testing, tuning and thinking is still needed. | ||||
| * | Refactoring of vq - pulled out the inlined block-prefix queue code and ↵ | Matthew Sackman | 2010-01-13 | 3 | -200/+324 |
| | | | | | generally tidied profusely. Also efficiency fix in remove_queue_entries by avoiding an intermediate list (which could potentially be massive). | ||||
| * | Right, getting there - some major reworkings to vq which have fixed bugs. It ↵ | Matthew Sackman | 2010-01-12 | 3 | -360/+467 |
| | | | | | doesn't quite do everything I want it to do it - in particular, on memory reduction, it needs to ensure that the inner queues nearest δ have sufficient non-ram-index msgs, but all thet tests pass and adding that feature shouldn't be too painful. | ||||
| * | some minor refactoring (more to do), and spotted and fixed a race condition | Matthew Sackman | 2010-01-09 | 1 | -20/+38 |
| | | |||||
| * | Scanning the common operation, so that should be prioritied. The open->close ↵ | Matthew Sackman | 2010-01-08 | 1 | -6/+6 |
| | | | | | transition is much rarer (only on GC startup and file deletion) so can be slower. | ||||
| * | Correct the closing mech. Sadly I'm currently scanning the whole table every ↵ | Matthew Sackman | 2010-01-08 | 1 | -22/+17 |
| | | | | | time, which is bad. I might change that to scan every, say, 1000 reads | ||||
| * | Whoops, forgot to remove an io:format | Matthew Sackman | 2010-01-08 | 1 | -1/+0 |
| | | |||||
| * | Msg_store now supports concurrent reads when it is safe, directly from the ↵ | Matthew Sackman | 2010-01-08 | 5 | -75/+282 |
| | | | | | queue. This means that even if the msg_store process is flooded with writes or acks, it won't (necessarily) block queues. This is extremely useful and has substantial benefit when memory has been exhausted and the queue is operating off γ only (effectively, no message content held in ram). | ||||
| * | Toughened up cache accessors and switched to using named tables in prep for ↵ | Matthew Sackman | 2010-01-07 | 3 | -107/+104 |
| | | | | | concurrent readers of msg_store. | ||||
| * | Env var does not need rabbit_ prefix | Matthew Sackman | 2009-12-26 | 2 | -2/+2 |
| | | |||||
| * | Put the default index module (ets) in the .app template, and assume the env ↵ | Matthew Sackman | 2009-12-26 | 2 | -5/+2 |
| | | | | | var exists | ||||
| * | Support pluggable msg_store index module through the ↵ | Matthew Sackman | 2009-12-22 | 2 | -4/+10 |
| | | | | | rabbit_msg_store_index_module rabbit application var | ||||
| * | merging in (and adjustments for startup) from default | Matthew Sackman | 2009-12-22 | 9 | -127/+273 |
| |\ | |||||
| | * | merge bug 22039 into default | Matthew Sackman | 2009-12-22 | 6 | -117/+264 |
| | |\ | |||||
| | | * | Refactor away boot_core_processes. | Tony Garnock-Jones | 2009-12-17 | 2 | -33/+60 |
| | | | | |||||
| | | * | Refactor boot_recovery, boot_tcp_listeners and boot_ssl_listeners | Tony Garnock-Jones | 2009-12-17 | 2 | -40/+39 |
| | | | | |||||
| | | * | Merge default into bug22039 | Tony Garnock-Jones | 2009-12-17 | 9 | -58/+245 |
| | | |\ | |||||
| | | * | | cosmetics (mainly line length, alignment and trailing WS) | Matthew Sackman | 2009-12-16 | 1 | -48/+69 |
| | | | | | |||||
| | | * | | Split up and tweak startup order. | Tony Garnock-Jones | 2009-12-14 | 3 | -50/+48 |
| | | | | | |||||
| | | * | | Switch to explicit MFA, and symbolic boot step names. | Tony Garnock-Jones | 2009-12-14 | 1 | -56/+69 |
| | | | | | | | | | | | | | | | | | | | | | Add comments to sort_boot_steps. Reject duplicate boot step names. | ||||
| | | * | | Move planning code out of activator and into rabbit proper. | Tony Garnock-Jones | 2009-12-14 | 3 | -103/+95 |
| | | | | | |||||
| | | * | | Enforce acyclicity; check presence and export of steps. | Tony Garnock-Jones | 2009-12-14 | 1 | -4/+36 |
| | | | | | |||||
| | | * | | Fixup specs. | Tony Garnock-Jones | 2009-12-14 | 1 | -2/+2 |
| | | | | | |||||
| | | * | | Add "-rabbit_boot_step" module attribute to specify startup sequence. | Tony Garnock-Jones | 2009-12-14 | 3 | -121/+167 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - The plugin activator prepares the startup plan. - This means that it's no longer going to work to run without a boot script. Consequently, I've added a call to rabbitmq-activate-plugins to the Makefile for the 'all' target. - I've refactored the old boot sequence to use the new method for specifying boot steps. I've conservatively put dependencies forcing them into a straight line, as they were before. - Since the plugin activator runs so frequently, I've made it suppress the (spurious) warnings we get about core beam files being out of date on Ubuntu. | ||||
| | | * | | Merge default into bug22039 | Tony Garnock-Jones | 2009-12-14 | 1 | -12/+12 |
| | | |\ \ | |||||
| | | * \ \ | Merge default into bug22039 | Tony Garnock-Jones | 2009-12-14 | 5 | -66/+91 |
| | | |\ \ \ | |||||
| | | * \ \ \ | Merge default into bug22039 | Tony Garnock-Jones | 2009-12-01 | 1 | -19/+6 |
| | | |\ \ \ \ | |||||
| | | * | | | | | Avoid compiler warning about unused term; weirdly, the replaced idiom works ↵ | Tony Garnock-Jones | 2009-11-30 | 1 | -2/+3 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | elsewhere | ||||
| | | * | | | | | Change tactic to examine modules in .app files for rabbit_static_hook_* modules | Tony Garnock-Jones | 2009-11-30 | 1 | -14/+16 |
| | | | | | | | | |||||
| | | * | | | | | Initial stab at the problem | Tony Garnock-Jones | 2009-11-30 | 1 | -10/+30 |
| | | | | | | | | |||||
| * | | | | | | | merged bug 22161 into bug 21673. Lazy, concurrent msg_store GC landed. | Matthew Sackman | 2009-12-20 | 10 | -435/+842 |
| |\ \ \ \ \ \ \ | |||||
| | * | | | | | | | Ensure that :contains calls can't overtake :remove casts. Also modify the ↵ | Matthew Sackman | 2009-12-20 | 2 | -36/+55 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | tests slightly. | ||||
| | * | | | | | | | Must start msg_store *before* amqqueue_sup, otherwise on shutdown, there's a ↵ | Matthew Sackman | 2009-12-20 | 1 | -4/+6 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | nasty race which blows up the channel on notify_all_down because the msg_store exits wrongly, first, killing the queue process when it calls msg_store:read, and then the channel can't call the queue. Thus start msg_store before queue_sup, and none of this problem exists | ||||
| | * | | | | | | | background lazy GC in and working | Matthew Sackman | 2009-12-20 | 5 | -357/+611 |
| | | | | | | | | | |||||
| | * | | | | | | | merging default/21673 into bug 22161 | Matthew Sackman | 2009-12-19 | 2 | -10/+17 |
| | |\ \ \ \ \ \ \ | |/ / / / / / / |/| | | | | | | | |||||
| * | | | | | | | | merging default into bug 21673 | Matthew Sackman | 2009-12-19 | 1 | -7/+15 |
| |\ \ \ \ \ \ \ \ | | |/ / / / / / | |/| | | | | | | |||||
| | * | | | | | | | merging v1_7 into default | Matthew Sackman | 2009-12-19 | 1 | -7/+15 |
| | |\ \ \ \ \ \ \ | |||||
| | | * \ \ \ \ \ \ | merging bug 20916 into v1_7 | Matthew Sackman | 2009-12-19 | 1 | -7/+15 |
| | | |\ \ \ \ \ \ \ | |||||
| | | | * | | | | | | | not_found error on attempt to declare a queue that exists on a stopped node | Matthias Radestock | 2009-12-18 | 1 | -7/+15 |
| | | |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | this prevents loss or duplication of messages when that node recovers I considered returing {ok, Q} | {error, not_found} from internal_declare (and subsequently declare), and let the channel deal with throwing the appropriate amqp error. But - that would be a change to a crucial internal API that is used by quite a few extensions - it would make the return type inconsistent with rabbit_exchange:declare, which too only returns X, not {ok, X}. - the rabbit_amqqueue module already knows about amqp errors - see with_or_die. So this is not breaking any concern separation. | ||||
| | | * | | | | | | | Merge no-pluggable-exchange branch into v1.7-series branch. | Michael Bridgen | 2009-12-18 | 41 | -758/+980 |
| | | |\ \ \ \ \ \ \ | |||||
| | | * | | | | | | | | create branch for v1_7 | Matthias Radestock | 2009-12-18 | 0 | -0/+0 |
| | | | | | | | | | | | |||||
| * | | | | | | | | | | msg_store traps exits, and so it should have a handle_info clause to catch that | Matthew Sackman | 2009-12-19 | 1 | -1/+4 |
| | | | | | | | | | | | |||||
| | | | | * | | | | | | merging into bug 22161 from bug 21673 | Matthew Sackman | 2009-12-19 | 1 | -0/+3 |
| | | | | |\ \ \ \ \ \ | |_|_|_|/ / / / / / |/| | | | | | | | | | |||||
