| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Removed state from fhc. The reasoning is as follows: | Matthew Sackman | 2009-10-23 | 2 | -173/+134 |
| | | | | | | | 1) the fhc uses the process dict 2) the fhc needs to receive msgs from its server process as to limiting the age of unused fhs. This is clearly per process as such, it's daft to cater for a process having more than one state for the fhc. Thus any state necessary will also be put in the process dict. | ||||
| * | drop the offset arg to read, also account for the possibility that we didn't ↵ | Matthew Sackman | 2009-10-22 | 2 | -32/+15 |
| | | | | | read as much of the file as we asked for. All tests pass. | ||||
| * | starting to deal with the idea that fhs may disappear because of hitting limits | Matthew Sackman | 2009-10-22 | 1 | -38/+61 |
| | | |||||
| * | bug fix in fhc:read (not tracking change in offset). Also made qi use new ↵ | Matthew Sackman | 2009-10-22 | 3 | -292/+91 |
| | | | | | fhc, and remove hdfhc | ||||
| * | not quite complete, but much much simpler, and prettier | Matthew Sackman | 2009-10-22 | 1 | -120/+106 |
| | | |||||
| * | More work on the real fhc | Matthew Sackman | 2009-10-22 | 1 | -29/+124 |
| | | |||||
| * | trivial and cosmetic | Matthew Sackman | 2009-10-22 | 1 | -2/+1 |
| | | |||||
| * | Started work on the real file handle cache | Matthew Sackman | 2009-10-22 | 1 | -0/+214 |
| | | |||||
| * | Added write buffers. Performance now very very good, and could get better if ↵ | Matthew Sackman | 2009-10-21 | 1 | -38/+59 |
| | | | | | can get msg_store to use the new fhc. All tests pass. Sometimes. | ||||
| * | Added sync_all for queue_index, trap exits in amqqueue_process, make sure ↵ | Matthew Sackman | 2009-10-21 | 3 | -7/+24 |
| | | | | | that terminate calls terminate in variable_queue which calls through into terminate in queue_process. | ||||
| * | remove unnecessary rabbit_ prefix in process dictionary entries in fhc | Matthew Sackman | 2009-10-21 | 1 | -19/+19 |
| | | |||||
| * | fprof shows that dict really sucks hard, so switch to using the process ↵ | Matthew Sackman | 2009-10-21 | 2 | -122/+103 |
| | | | | | dictionary in the fhc. This eliminates all need for state, however, I've not removed fhc state from either fhc or qi because of the likelihood of needing some state back in for the real fhc. Performance is now much better because I went back to the original qi before the fhc modifications and realised that I should have been opening files with read_ahead enabled, which I wasn't before. In fact really, performance is now quite a fair bit better than before the fhc came in. | ||||
| * | still far too slow | Matthew Sackman | 2009-10-20 | 1 | -33/+17 |
| | | |||||
| * | well, it's about 4 times slower, but the dumb fhc works on the queue index | Matthew Sackman | 2009-10-20 | 2 | -211/+528 |
| | | |||||
| * | don't use foreach seeing as I'm not using it anywhere else | Matthew Sackman | 2009-10-19 | 1 | -3/+3 |
| | | |||||
| * | make sure we stop the msg_store at the start of the queue_index tests | Matthew Sackman | 2009-10-19 | 1 | -0/+1 |
| | | |||||
| * | Extending queue index test slightly | Matthew Sackman | 2009-10-19 | 1 | -21/+39 |
| | | |||||
| * | reversing previous change, as I had actually got it right first time | Matthew Sackman | 2009-10-19 | 1 | -3/+2 |
| | | |||||
| * | more helpful when the bugfix fixes the bug | Matthew Sackman | 2009-10-19 | 1 | -2/+3 |
| | | |||||
| * | tidying up end of test_queue_index | Matthew Sackman | 2009-10-19 | 1 | -1/+3 |
| | | |||||
| * | Some minor API changes which are pretty sensible anyway, but also make ↵ | Matthew Sackman | 2009-10-19 | 4 | -28/+106 |
| | | | | | writing tests much easier. Also, tests for queue_index which hit 90% code coverage for the module. Profiling in progress to try and figure out why it's not quite as blazingly fast as I expected. | ||||
| * | added missing spec | Matthew Sackman | 2009-10-19 | 1 | -0/+1 |
| | | |||||
| * | spelling | Matthew Sackman | 2009-10-19 | 1 | -1/+1 |
| | | |||||
| * | now() -> make_ref() | Matthew Sackman | 2009-10-19 | 1 | -3/+3 |
| | | |||||
| * | preemptive refactoring | Matthew Sackman | 2009-10-19 | 1 | -60/+57 |
| | | |||||
| * | factoring out of some magic numbers | Matthew Sackman | 2009-10-19 | 1 | -2/+3 |
| | | |||||
| * | stop the msg_store at the end of the tests so the rest of the test suite can ↵ | Matthew Sackman | 2009-10-19 | 1 | -0/+12 |
| | | | | | run. Also, fractionally increase code coverage. | ||||
| * | test suite for msg_store - hit's 80% coverage - uncovered code is for ↵ | Matthew Sackman | 2009-10-19 | 1 | -466/+147 |
| | | | | | recovery from crashed compactions | ||||
| * | on requeue, make use of msg_store:release | Matthew Sackman | 2009-10-19 | 1 | -11/+18 |
| | | |||||
| * | If we don't fully flush the journal when it becomes full then we are ↵ | Matthew Sackman | 2009-10-16 | 1 | -12/+13 |
| | | | | | negating the point of the journal as it means we very frequently fill it and then have to empty it to one file, whereas if we fully empty it then it takes much longer to fill, and then we empty to several files | ||||
| * | empty queues that get deleted should, um, be deleted | Matthew Sackman | 2009-10-16 | 1 | -10/+13 |
| | | |||||
| * | assertion that the purge count equals the queue length | Matthew Sackman | 2009-10-16 | 1 | -2/+2 |
| | | |||||
| * | Bug fix. | Matthew Sackman | 2009-10-16 | 2 | -11/+17 |
| | | |||||
| * | Bug fix. | Matthew Sackman | 2009-10-16 | 1 | -4/+5 |
| | | |||||
| * | Bug fix. | Matthew Sackman | 2009-10-16 | 1 | -15/+17 |
| | | |||||
| * | Bug fix. | Matthew Sackman | 2009-10-16 | 1 | -2/+5 |
| | | |||||
| * | Bug fix. | Matthew Sackman | 2009-10-16 | 3 | -17/+19 |
| | | |||||
| * | bug fix. | Matthew Sackman | 2009-10-16 | 1 | -2/+10 |
| | | |||||
| * | bug fix. | Matthew Sackman | 2009-10-16 | 1 | -1/+2 |
| | | |||||
| * | A load more fixes. Seem to have uncovered the possibility of finding many ↵ | Matthew Sackman | 2009-10-14 | 4 | -12/+15 |
| | | | | | acks for the same msg when reading in a segment file... | ||||
| * | use lists:flatten, not hd | Matthew Sackman | 2009-10-14 | 1 | -1/+1 |
| | | |||||
| * | some more fixes. durable queue recovery seems to work | Matthew Sackman | 2009-10-14 | 1 | -5/+5 |
| | | |||||
| * | some initial fixes | Matthew Sackman | 2009-10-14 | 2 | -4/+8 |
| | | |||||
| * | the deletion of transient msgs via the scattering of the journal at startup ↵ | Matthew Sackman | 2009-10-14 | 1 | -47/+74 |
| | | | | | was wrong because there is no guarantee that the journal will touch all the segments. Thus now in the formation of the ack counts, add deliveries at that point where necessary for transient msgs. Acks for these msgs are not added at this point because they need to go via the journal scattering mechanism so that full segments can be removed. | ||||
| * | slightly more likely to work | Matthew Sackman | 2009-10-14 | 1 | -4/+5 |
| | | |||||
| * | cosmetics and also removal of bitstring syntax as it seems far too modern, ↵ | Matthew Sackman | 2009-10-14 | 1 | -7/+7 |
| | | | | | and actually isn't necessary because at no time do we need to deal with non byte-aligned binary data | ||||
| * | the queue index deletes transient msgs on initialisation. This is rather ↵ | Matthew Sackman | 2009-10-14 | 1 | -6/+17 |
| | | | | | elegant because it means that the delta gen fun used to seed the msg store does not generate any deltas for transient msgs, which means that the msg_store will take care of deleting transient msgs without any further interaction. | ||||
| * | Wire up the tx_commit callback. Note no coalescing because no sync on ↵ | Matthew Sackman | 2009-10-14 | 2 | -3/+10 |
| | | | | | queue_index because no fhc. Also added notes about the deletion of queues on startup. | ||||
| * | Be a bit more clever on starting the message store and look up durable ↵ | Matthew Sackman | 2009-10-13 | 4 | -37/+76 |
| | | | | | queues. However, it's still not quite right because queues can be deleted by other nodes in the cluster between extracting the list of durable queues in msg_store startup and the startup of queues themselves. This means that we can end up seeding the msg_store with msgs from queues that won't actually start up. You might think that we'd be saved by the fact that _process:terminate deletes the queue, but no, because fwics, _process isn't trapping exits, meaning that the terminate won't be called (and most likely rightly so so that it doesn't upset mnesia's state) by the exit(Pid, shutdown) in amqqueue:recover. So there still needs to be some sort of fix somewhere and somehow | ||||
| * | most of the rewiring is done. Need to sort out how to delete non durable ↵ | Matthew Sackman | 2009-10-13 | 6 | -1538/+73 |
| | | | | | queues on start up, which is a bit cyclical, as I'd like to not start the msg_store until we know which queues are durable and which aren't, but we also can't start the queues until the msg_store is running. Fun. | ||||
