summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* s/erlang:length/lengthMatthias Radestock2009-08-251-4/+4
|
* MQ: length/0 => len/0Matthew Sackman2009-08-253-25/+25
|
* MQ: Made run length encoding more obvious; Added comment about logic for ↵Matthew Sackman2009-08-251-35/+38
| | | | starting up prefetcher; Tidied API for dec_queue_length and inc_queue_length
* cosmeticMatthias Radestock2009-08-241-5/+4
|
* cosmeticMatthias Radestock2009-08-242-4/+2
|
* merge in from defaultMatthew Sackman2009-08-249-105/+84
|\
| * Merged bug21467 into default (POD formatting).Marek Majkowski2009-08-244-70/+65
| |\
| | * correction of formatting of man pagesMatthew Sackman2009-08-214-70/+65
| | |
| * | merge bug21429 into defaultMatthias Radestock2009-08-232-55/+53
| |\ \ | | |/ | |/|
| | * cosmeticMatthias Radestock2009-08-231-4/+2
| | |
| | * more simplification of the table copying codeMatthias Radestock2009-08-231-14/+8
| | | | | | | | | | | | and address "unused var" compiler warnings
| | * doneMatthew Sackman2009-08-231-14/+6
| | |
| * | merging default headsMatthew Sackman2009-08-214-141/+20
| |\ \
| * \ \ Merged bug20013 into default (memsup support for OS X)Marek Majkowski2009-08-214-110/+287
| |\ \ \
| * \ \ \ (freebsd stuff) bug21432 merged into defaultMarek Majkowski2009-08-204-6/+6
| |\ \ \ \
| | * | | | Python is /usr/local/bin/python on some unices.David Wragg2009-08-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Use env to avoid hard-coding it.
| | * | | | Invoke make as $(MAKE) from within makefilesDavid Wragg2009-08-183-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Our makefiles require gnumake. Under some unices, gnumake is installed as gmake, with plain "make" referring to a something less featureful. So it's necessary to invoke make as $(MAKE) from within makefiles, in order to make sure we invoke the same variant.
* | | | | | Removed is_persistent from tx_tracking. Removed auto_ack_next_message as it ↵Matthew Sackman2009-08-243-55/+22
| | | | | | | | | | | | | | | | | | | | | | | | wasn't needed as the one case where it was being used in mq was wrong. And some cosmetic stuff too.
* | | | | | remaining items from comment 92Matthew Sackman2009-08-241-27/+25
| | | | | |
* | | | | | handle_cache => file_handle_cache.Matthew Sackman2009-08-242-53/+60
| | | | | | | | | | | | | | | | | | | | | | | | Also switched to using the #message_store_entry record throughout.
* | | | | | english preferable to gobbledegookMatthew Sackman2009-08-241-3/+3
| | | | | |
* | | | | | All the below, done.Matthew Sackman2009-08-242-78/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - encoded body size is being cached, but doesn't need to be. - extract_sequence_numbers and remove_gaps_in_sequences should just take #dqstate.sequences, not the whole #dqstate. - rename length/1 to len/1 - that's what it's called in other APIs, e.g. queue. It will also allow you to remove the erlang: prefix from the calls to erlang:length. - load_messages/3 - instead of taking and returning a state, make it take the file_summary only, and return {current_file_num, current_file_name, current_offset}. (not done due to Good Reasons, but the 1st base case that was objected to has vanished)
* | | | | | More cosmetics. Also, if the seek failed, it's probably safer to assume that ↵Matthew Sackman2009-08-241-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | we've not changed position. However, it's really expected life will stop pretty soon after anyway, so it's probably not too important.
* | | | | | cosmeticMatthew Sackman2009-08-241-1/+1
| | | | | |
* | | | | | Abstracted out all the read handles stuff to a separate module, and refined ↵Matthew Sackman2009-08-242-84/+147
| | | | | | | | | | | | | | | | | | | | | | | | the API as discussed.
* | | | | | preemptive refactoring and other assorted changesMatthew Sackman2009-08-232-65/+54
| | | | | |
* | | | | | renamingMatthew Sackman2009-08-231-3/+4
| | | | | |
* | | | | | Sorted out transactions within the disk_queue, ensuring that if they do ↵Matthew Sackman2009-08-231-71/+95
| | | | | | | | | | | | | | | | | | | | | | | | restart that other data structures cannot be left partially updated, and can continue successfully, in particular, manipulation of ets tables within mnesia transactions.
* | | | | | Could repeatably read zeros.Matthew Sackman2009-08-221-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With the handle position caching in, avoiding seeks opened a lovely opportunity for reading zeros. The read handle had read_ahead turned on, so even though the write handle was being sync'd correctly, the next read was reading cached data. Consequently, reading zeros instead of the real message. This makes a valuable point which is that with read_ahead turned on, the seeks on every read, as was happening previously, were evicting the read_ahead cache, even if the seek was in effect a noop. Thus read_ahead, in combination with the seeks, made no performance gain. Consequently, turning read_ahead off and only seeking when necessary is a performance gain, over (pointlessly) having read_ahead on and seeking every time. Turning read_ahead off also solves this reading zeros bug. Finally, corrected some maths so that we now check to see if the sync offset is < the offset we will reach rather than <= the offset we read from. Because the offsets should only ever be on message boundaries, both will work, but the new version is more intuitively correct.
* | | | | | merging in from bug 21444 with the vain hope that 21444 does not need ↵Matthew Sackman2009-08-211-10/+11
|\ \ \ \ \ \ | | |_|_|_|/ | |/| | | | | | | | | | further work!
| * | | | | And another go. If the new node is a ram node then local_content tables are ↵Matthew Sackman2009-08-211-10/+11
| | | | | | | | | | | | | | | | | | | | | | | | still honoured as to their own table storage type
* | | | | | mode => storage_mode in most placesMatthew Sackman2009-08-215-29/+27
| | | | | | | | | | | | | | | | | | | | | | | | Also removed chattiness of mixed_queue on queue mode transitions
* | | | | | merging from bug 21429Matthew Sackman2009-08-211-4/+12
|\ \ \ \ \ \ | |/ / / / /
| * | | | | oops. Need to support ram nodes which still have local content as disc_copiesMatthew Sackman2009-08-211-4/+12
| | | | | |
* | | | | | merging from 21429Matthew Sackman2009-08-211-18/+6
|\ \ \ \ \ \ | |/ / / / /
| * | | | | Refactoring as suggested. This has been tested by for local_content by ↵Matthew Sackman2009-08-211-18/+6
| | | | | | | | | | | | | | | | | | | | | | | | patching 21368 and ensuring clustering still works
* | | | | | merging in from 21429Matthew Sackman2009-08-211-21/+16
|\ \ \ \ \ \ | |/ / / / /
| * | | | | tiny refactoringMatthew Sackman2009-08-211-10/+8
| | | | | |
| * | | | | some cleaning upMatthias Radestock2009-08-201-11/+8
| | | | | | | | | | | | | | | | | | | | | | | | mainly remove the (now) badly named WasDiskNode var
* | | | | | cosmetic -> with_queue_head => queue_headMatthew Sackman2009-08-211-23/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also, time for a new optimisation! YAY! Previously, reading a message off disk meant seeking to the correct position and then reading the data. Now if the handle is already in the right position, then that seek is a waste of quite a lot of time, as it is an OS call. Now, I cache the location of the handle and so avoid seeking when possible. This has a MASSIVE effect on performance, especially in straight line cases, eg where a single prefetcher can drain a queue of disk in about one third of the time it used to take. Just looking at the code coverage from the test suite, there were just 534 seeks and 8582 cases where we found the handle in the right position already. This is a fairly small amount of code, and provides very useful benefits.
* | | | | | Refactoring out code used in multiple paths through internal_fetch and ↵Matthew Sackman2009-08-214-128/+144
| | | | | | | | | | | | | | | | | | | | | | | | internal_read_message, tidying of API.
* | | | | | Merge default into bug21368Tony Garnock-Jones2009-08-218-157/+20
|\ \ \ \ \ \ | | |_|_|_|/ | |/| | | |
| * | | | | Merged bug19973 into defaultPaul Jones2009-08-214-141/+20
| |\ \ \ \ \ | | |_|/ / / | |/| | | |
| | * | | | Hg overestimated its ability to handle a mergeDavid Wragg2009-08-201-2/+1
| | | | | |
| | * | | | Merge default into bug19973, resolving conflictDavid Wragg2009-08-2030-93/+477
| | |\ \ \ \ | | |/ / / / | |/| | | |
| * | | | | Merge fixes from bug20342 into defaultDavid Wragg2009-08-204-16/+0
| |\ \ \ \ \
| | * | | | | Removed the default setup of ERLANG_HOMEPaul Jones2009-08-204-16/+0
| | | | | | |
| | | * | | | Restore the LOCK_FILE support, as demanded by rpmlintDavid Wragg2009-08-143-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On Debian, we set the value of LOCK_FILE to the empty string, thus disabling use of a lock file. Now tested with rpmlint and lintian.
| | | * | | | Use a common init script for RPMs and debsDavid Wragg2009-08-134-132/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Put the common init file into packaging/common, and modify the RPM and deb builds to make the one substitution required to this file at build time.
| | | * | | | Change RETVAL when showing usage message to 1David Wragg2009-08-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While the Fedora skeleton init script uses 2, it doesn't seem to be universal across their init scripts, and the specs aren't clear on what the value should be. So follow the Debian init script in this case.