summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* close segment handles straight after useMatthias Radestock2010-05-271-67/+43
| | | | | | | | | | This keeps the number of open fds low (just two - one for the journal and segment) whereas previously it could be as high as the total number of segments during a) the qi walk in msg_store recovery, b) qi dirty recovery, qi journal flushing. There are two nice side effects of this change: - #segment records no longer need to contain a file handle - load_segment can use a read-only handle
* WhoopsMatthew Sackman2010-05-251-1/+4
|
* Merging default onto bug 21673Matthew Sackman2010-05-251-5/+5
|\
| * Merging bug 21763 into defaultMatthew Sackman2010-05-241-5/+5
| |\
| | * Remove demo extension, and clean up the makefile.Tony Garnock-Jones2009-10-122-25/+5
| | |
| | * merge default into bug21763Tony Garnock-Jones2009-10-122-0/+9
| | |\
| | * | Demo extension.Tony Garnock-Jones2009-10-072-4/+24
| | | |
* | | | Merging bug 22752(bug21673) onto bug 21673Matthew Sackman2010-05-251-120/+103
|\ \ \ \
| * | | | Rip out now-unnecessary logic for setting the persistent store to the ↵Matthew Sackman2010-05-211-114/+84
| | | | | | | | | | | | | | | | | | | | transient store: that solution allowed the persistent flag to be honoured in non-durable queues by sending the message to the transient store; we've now decided that we don't want to send non-persistent msgs to any store and are handling that by (effectively) unsetting the is_persistent flag for all msgs arriving in a non-durable queue
| * | | | Stop persistent msgs in non-durable queues from reaching diskMatthew Sackman2010-05-211-16/+29
| | | | |
* | | | | merge headsMatthias Radestock2010-05-240-0/+0
|\ \ \ \ \
| * \ \ \ \ Merging default into bug 21673Matthew Sackman2010-05-193-5/+12
| |\ \ \ \ \
* | \ \ \ \ \ merge headsMatthias Radestock2010-05-243-38/+34
|\ \ \ \ \ \ \
| * | | | | | | better factoring of queue_index terminationMatthias Radestock2010-05-212-25/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - make the whole thing less parametric - get rid of idempotence - we don't need it
| * | | | | | | rename queue_index:terminate_and_erase to delete_and_terminateMatthias Radestock2010-05-203-11/+11
| |/ / / / / / | | | | | | | | | | | | | | | | | | | | | to match the corresponding function in variable_queue
| * | | | | | cosmeticMatthew Sackman2010-05-191-1/+1
| | | | | | |
| * | | | | | cosmeticMatthew Sackman2010-05-191-1/+1
| | | | | | |
* | | | | | | Merging default into bug 21673Matthew Sackman2010-05-235-6/+20
|\ \ \ \ \ \ \ | |_|_|/ / / / |/| | | / / / | | |_|/ / / | |/| | | |
| * | | | | Don't hardcode the name of the mac build hostDavid Wragg2010-05-211-1/+1
| | | | | |
| * | | | | Merging bug 22340 into defaultMatthew Sackman2010-05-211-0/+7
| |\ \ \ \ \ | | |_|/ / / | |/| | | |
| | * | | | Don't allow the error_logger mailbox to grow unbounded when flooded with ↵Simon MacMullen2010-05-201-0/+7
| |/ / / / | | | | | | | | | | | | | | | connection attempts.
| * | | | Merging bug 21239 into defaultMatthew Sackman2010-05-191-1/+6
| |\ \ \ \
| | * | | | Delay before silently closing the socket, removes an obvious DOS vector.Simon MacMullen2010-05-191-1/+6
| | | | | |
| * | | | | Merging bug 22759 onto defaultMatthew Sackman2010-05-191-0/+1
| |\ \ \ \ \
| | * | | | | Ignore obj_out_of_date for crypto, tooTony Garnock-Jones2010-05-141-0/+1
| | | | | | |
| * | | | | | Merging bug 22761 onto defaultMatthew Sackman2010-05-191-4/+5
| |\ \ \ \ \ \ | | |_|/ / / / | |/| | | | |
| | * | | | | handling the case of empty payload in ↵Vlad Ionescu2010-05-141-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | rabbit_binary_generator:build_content_frames/7
* | | | | | | more efficient 'bounds' functionMatthias Radestock2010-05-191-4/+6
| |_|_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | This no longer touches the file system. It's still O(n * log n) in the number of segments though.
* | | | | | do the minimum amount of work necessary on clean queue recoveryMatthias Radestock2010-05-191-67/+60
| | | | | | | | | | | | | | | | | | | | | | | | Only read from the journal. No segment reading. No writing.
* | | | | | Added test which hits all cases in journal_minus_segment which do not ↵Matthew Sackman2010-05-191-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | require duplicates between segment and journal
* | | | | | Merging headsMatthew Sackman2010-05-191-24/+15
|\ \ \ \ \ \
| * | | | | | refactorMatthias Radestock2010-05-191-11/+6
| | | | | | |
| * | | | | | cosmeticMatthias Radestock2010-05-191-13/+9
| | | | | | |
* | | | | | | Full code coverage of segment_plus_journalMatthew Sackman2010-05-191-0/+21
|/ / / / / /
* | | | | | Drop PubCount and AckCount in favour of UnackedCountMatthew Sackman2010-05-191-91/+78
| | | | | |
* | | | | | some inliningMatthias Radestock2010-05-191-28/+16
| | | | | | | | | | | | | | | | | | | | | | | | and removal of some comments that weren't particularly useful
* | | | | | avoid unnecessary matchMatthias Radestock2010-05-191-1/+1
| | | | | |
* | | | | | keep complete pub/del/ack entries in journal on recoveryMatthias Radestock2010-05-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | IF there is no entry for that message in the segment This is - more efficient, since there could be quite a few of these and we are avoiding an array update for them - more consistent with the other 'keep' cases - the same as would happen if the journal had been built up by queue operations rather than through recovery The entries are filtered out eventually when flushing the journal.
* | | | | | seed journal_minus_segment with the original journalMatthias Radestock2010-05-191-22/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ...and modify/remove things in/from it; rather than building a new journal from scratch. The result is the same, but this way of doing things a) better reflects what this function is about, and b) should be more efficient in the common case where the journal does not contain stale entries
* | | | | | journal_plus_segment -> segment_plus_journalMatthias Radestock2010-05-191-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This better reflects what we are actually doing, i.e. we take the segment and add the journal.
* | | | | | KeepAck -> KeepAckedMatthias Radestock2010-05-181-17/+17
| | | | | |
* | | | | | minor refactorMatthias Radestock2010-05-181-16/+16
| | | | | |
* | | | | | Added documentation regarding the clean shutdown and startup optimisationsMatthew Sackman2010-05-183-11/+48
| | | | | |
* | | | | | Added specs for msg_store_gcMatthew Sackman2010-05-181-0/+13
| | | | | |
* | | | | | No need to build up a list of transient queue indices to deleteMatthew Sackman2010-05-181-9/+7
| | | | | |
* | | | | | Removing erroneous conjunctive clause in testMatthew Sackman2010-05-181-1/+1
| | | | | |
* | | | | | merge headsMatthias Radestock2010-05-181-45/+39
|\ \ \ \ \ \
| * | | | | | Refactored bpqueue testsMatthew Sackman2010-05-181-45/+39
| | | | | | |
* | | | | | | correct commentMatthias Radestock2010-05-181-7/+8
|/ / / / / /
* | | | | | take the journal into consideration in recover_segmentMatthias Radestock2010-05-181-44/+51
| | | | | | | | | | | | | | | | | | | | | | | | which removes the need for an initial flush