summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Forgot to remove a printfMatthew Sackman2010-04-051-2/+1
|
* Given a clean shutdown, near instantaneous startup, regardless of queue ↵Matthew Sackman2010-04-054-97/+155
| | | | length. Note most expensive element in startup is loading in the msg_store index. Also note for some unexplained reason, this currently doesn't work with toke - the toke plugin will need reworking to become available to both msg_stores simultaneously.
* The msg_store now avoids building the index and scanning files iff it is ↵Matthew Sackman2010-04-056-94/+237
| | | | shutdown cleanly, and all the clients that it previously knew about were also shutdown cleanly and found on startup.
* Altered API of rabbit_msg_store_index so that terminate is mean to save out ↵Matthew Sackman2010-04-044-19/+32
| | | | state too, and init can be asked to attempt to recover previously saved index
* Merging in from defaultMatthew Sackman2010-04-042-5/+7
|\
| * Missing hibernate timeoutMatthew Sackman2010-04-042-4/+6
| |
| * No, Mike didn't forget to merge, I forgot to pull. SighMatthew Sackman2010-04-010-0/+0
| |\
| * \ Merge bug22563 into defaultMichael Bridgen2010-04-011-3/+14
| |\ \
* | | | Abstract out the "farming out work to the worker_pool and gathering it back ↵Matthew Sackman2010-04-043-55/+213
| | | | | | | | | | | | | | | | in" pattern (gatherer.erl), and then make use of it when scanning queue indices and msg store files. Note the gatherer's exit signal was being caught in the handle_info of msg_store because trap_exits was on, hence moving that to later on in the msg_store init.
* | | | If we submit to the workers jobs which use the fhc, the workers may receive ↵Matthew Sackman2010-04-042-7/+20
| | | | | | | | | | | | | | | | messages from the fhc, thus need to be able to process them. Also, that then requires that the fhc is started before the workers
* | | | Mistake in opening files leading to process dictionary being wrongly ↵Matthew Sackman2010-04-041-15/+15
| | | | | | | | | | | | | | | | populated and updated when file opening fails (eg enoent)
* | | | Cosmetic simplification of logicMatthew Sackman2010-04-041-6/+6
| | | |
* | | | Introduced rabbit_misc:dict_cons/3 which ends up being used in 3 places. ↵Matthew Sackman2010-04-036-149/+166
| | | | | | | | | | | | | | | | Also fixed a bug which I'd sleepily introduced in vq:requeue where a msg_store:release had accidentally become a msg_store:remove (no idea how the tests managed to pass after that enough to convince me to commit - certainly had the tests failing today due to that one). Finally, persistent msgs in a non-durable queue should be sent to the transient msg_store, not the persistent msg_store. Thus they will survive a crash of the queue, but not a restart of the server.
* | | | The 2 part init of the queue must be complete before the queue is committed ↵Matthew Sackman2010-04-022-9/+17
| | | | | | | | | | | | | | | | into mnesia. Furthermore, it must be a call, not a cast otherwise it could be overtaken (though it returns first, and inits second). Note that this means on a collision, the queue may get > 1 init calls, hence need for idempotency, and the 2nd call may be delayed while the first init completes. Also note that the queue index init alters disk content. Thus initing the same queue with disk content concurrently will lead to unexpected results. However, this can't occur because durable queue recovery is the only time we are initing queues with disk content, and there will be no collisions at that point, so safe. In normal queue declaration collisions, there will be no disk content anyway.
* | | | Next step on making startup faster is to allow the scanning of the queue ↵Matthew Sackman2010-04-026-52/+130
| | | | | | | | | | | | | | | | indicies to occur in parallel (per queue). Also, queue creation can take some substantial time due to queue_index:init. Therefore, stagger the startup of a queue so that this potentially expensive step (a) doesn't get done at all if the queue already exists etc (b) doesn't block amqqueue_process:init from returning. Thus on startup now not only do we do the seeding of the msg_store in parallel (per queue), but the durable queues that come up can also do the bulk of their work in parallel, thus speeding recovery substantially.
* | | | Support async job submissionMatthew Sackman2010-04-022-6/+32
| | | |
* | | | Merged default into bug 21673Matthew Sackman2010-04-0132-1088/+2407
|\ \ \ \ | | |_|/ | |/| |
| * | | Merging bug 22563 into default (MikeB QA+'d it and forgot to merge to default)Matthew Sackman2010-04-011-3/+14
| |\ \ \ | | |/ / | |/| / | | |/
| | * Fractionally better - the actions of the recursive call are now displayed, ↵Matthew Sackman2010-04-011-1/+1
| | | | | | | | | | | | though sadly only once they're completed
| | * 1. If our entire goalset is to make the deps file, don't include it; 2. We ↵Matthew Sackman2010-04-011-0/+5
| | | | | | | | | | | | don't want the error msg when including the deps file when it doesn't exist, but at the same time we do want all errors if they occur when generating the deps. Hence -include is not permitted. Thus if we need the deps file then make it explicitly before including it.
| | * Merging in from defaultMatthew Sackman2010-04-0112-24/+345
| | |\ | | |/ | |/|
| * | Merging heads of defaultMatthew Sackman2010-03-292-4/+2
| |\ \
| | * | A couple more cosmetic fixes to the usage messages.Simon MacMullen2010-03-292-4/+2
| | | |
| * | | Merging bug 22559 onto defaultMatthew Sackman2010-03-293-4/+6
| |\ \ \ | | |/ / | |/| |
| | * | Don't reinterpret the usage message.Simon MacMullen2010-03-292-3/+3
| | | |
| | * | Make the generated usage functions just return a string, not print and halt.Simon MacMullen2010-03-243-4/+6
| | | |
| * | | Reinstate whitespace and [] in usage message broken in 600668c4da36.Simon MacMullen2010-03-291-2/+2
| | | |
| * | | Merging bug 22554 onto defaultMatthew Sackman2010-03-293-8/+19
| |\ \ \
| | * | | Handle multiline examples in man pages separately.Simon MacMullen2010-03-233-8/+19
| | | | |
| * | | | Merge bug22560 (worker pool to avoid stacking mnesia txns) into defaultMichael Bridgen2010-03-245-6/+316
| |\ \ \ \
| | * | | | cosmeticMatthew Sackman2010-03-231-1/+1
| | | | | |
| | * | | | Created worker pool system, and pushed the rabbit_misc:execute_mnesia_txn ↵Matthew Sackman2010-03-235-6/+316
| | | | | | | | | | | | | | | | | | | | | | | | through it.
| | | | | * Remove pipeline use in the _usage.erl target.Simon MacMullen2010-03-241-3/+9
| | |_|_|/ | |/| | |
| * | | | Merged bug22550 to default.Simon MacMullen2010-03-245-35/+39
| |\ \ \ \ | | |_|_|/ | |/| | |
| | * | | Only build beam files for the usage messages we're going to use.Simon MacMullen2010-03-241-1/+1
| | | | |
| | * | | Merging default into bug 22550Matthew Sackman2010-03-243-5/+23
| | |\ \ \ | | |/ / / | |/| | |
| * | | | Merge bug22457 into defaultTony Garnock-Jones2010-03-231-0/+16
| |\ \ \ \ | | |_|/ / | |/| | |
| | * | | Correct logic so that a 'make' with no explicit goals still behaves correctlyMatthew Sackman2010-03-231-1/+8
| | | | |
| | * | | The previous logic was saying 'if we can't find 'clean' in there, load the ↵Matthew Sackman2010-03-221-1/+4
| | | | | | | | | | | | | | | | | | | | deps file'. This is wrong - eg make cleandb run. The new logic says 'if removing all targets which have 'clean' in them doesn't result in the empty string, load the deps file'. This means make cleandb run does load the deps file, whilst make clean cleandb doesn't.
| | * | | Allow clean and clean-like targets to not bother with the dependency generationMatthew Sackman2010-03-211-0/+6
| | | | |
| * | | | Additions to specs to prevent dialyzer errorsMatthew Sackman2010-03-232-1/+3
| | |_|/ | |/| |
| * | | They're not pods anymore. It worked before this by accident! (Stupid shell ↵Tony Garnock-Jones2010-03-221-2/+2
| | | | | | | | | | | | | | | | expansion)
| * | | fold(1) is POSIX and works consistently on macs as well as linux, unlike fmtTony Garnock-Jones2010-03-221-1/+1
| |/ /
| | * All module names must start 'rabbit_'.Matthew Sackman2010-03-213-3/+3
| | |
| | * Corrected build system:Matthew Sackman2010-03-214-34/+38
| |/ | | | | | | | | | | | | | | | | | | a) Do not bother with the intermediate docs/.erl b) Define USAGES_XML and USAGES_ERL correctly and incorporate with SOURCES c) Declare the dependencies between the usage erls and usage xmls dynamically (define, call and eval are our friends here) d) Correct use of automatic variables and take advantage of (a) e) Given use of SOURCE_DIR, EBIN_DIR and such like, define and use DOC_DIR f) Correct order in generate_deps to ensure the .erl is the *first* dep of the .beam. This means we can drop the .erl in the .erl => .beam automatic rule and rely on the deps file populating $< with the .erl g) Tidy .hgignore
| * Merge bug22407 into defaultEmile Joubert2010-03-1923-1068/+2037
| |\
| | * Make rabbitmq-service page look a tiny bit less like a manpage.Simon MacMullen2010-03-162-3/+13
| | |
| | * Build the windows service page for the website too.Simon MacMullen2010-03-163-2/+2
| | |
| | * Fix some mistakes that were in the Windows Service documentation.Simon MacMullen2010-03-161-3/+2
| | |
| | * Convert Windows Service instructions to DocBook verbatim.Simon MacMullen2010-03-163-135/+234
| | |