summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* merging in from defaultMatthew Sackman2009-12-117-87/+113
|\
| * merging bug 22117 into defaultMatthew Sackman2009-12-112-42/+41
| |\
| | * don't wait forever for ssl negotiation to succeedMatthias Radestock2009-12-101-1/+4
| | |
| | * move ssl negotiation into reader processMatthias Radestock2009-12-102-42/+38
| | | | | | | | | | | | thus freeing up the acceptor to handle new connections
| * | merging bug 21963 into defaultMatthew Sackman2009-12-112-14/+15
| |\ \
| | * | display pids instead of nodesMatthias Radestock2009-12-102-14/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The challenge here was to find a way to display pids portably, s.t. the same pid is displayed in the same way everywhere, every time. We exploit Erlang's well-defined and stable external term format to take apart pids.
| * | | merging bug 21948 into defaultMatthew Sackman2009-12-114-9/+34
| |\ \ \
| | * | | add client_properties info item to 'rabbitmqctl list_connections'Matthias Radestock2009-12-104-9/+34
| | |/ / | | | | | | | | | | | | | | | | showing the amqp table transmitted by the client as part of the connection.start_ok method.
| * | | merging bug 22125 into defaultMatthew Sackman2009-12-111-1/+1
| |\ \ \ | | |/ / | |/| |
| | * | don't escape space (ascii 32) in rabbitmqctl outputMatthias Radestock2009-12-101-1/+1
| |/ / | | | | | | | | | It was never meant to get escaped in the first place, according to the docs.
| * | replace deprecated guardMatthias Radestock2009-12-101-1/+1
| |/
| * merge bug22063 into defaultMatthias Radestock2009-12-011-19/+6
| |\
| | * removing is_amqp_hard_error in rabbit_framing and adding amqp_exception ↵Vlad Ionescu2009-11-301-19/+6
| |/ | | | | | | function to lookup amqp error codes and turn them into atoms
| * Try harder to find a simplejson-supporting pythonTony Garnock-Jones2009-11-301-0/+13
| |
* | load_segments deliberately does not adjust the pubs and acks count in the ↵Matthew Sackman2009-12-111-4/+6
| | | | | | | | segments because doing so would clobber over values carefully constructed to contain both information from the journal and from segment, which is used to detect when flushing to a segment is unnecessary because the file is "full" and so can be deleted (i.e. pubs == acks which is sum both of in segfile and journal). On startup, we were failing to set the pubs/acks counts correctly, leading to queues doing recovery correctly but then returning a length of 0.
* | Read 2 bytes instead of one at the start of load_segment_entries. This makes ↵Matthew Sackman2009-12-111-11/+4
| | | | | | | | the code cleaner and avoids a further read in the case of a del or ack
* | cosmeticMatthias Radestock2009-12-061-11/+8
| |
* | cosmetic and some refactoringMatthias Radestock2009-12-041-86/+77
| |
* | appropriately renamedMatthew Sackman2009-12-041-6/+6
| |
* | cough, splutter, sneeze etcMatthew Sackman2009-12-041-1/+1
| |
* | segments now stored in array, not dictMatthew Sackman2009-12-041-95/+93
| |
* | cosmeticMatthias Radestock2009-12-041-3/+3
| |
* | refactoringMatthew Sackman2009-12-041-34/+39
| |
* | combined steps 3 and 4 of init, and made segment_find have the same type as ↵Matthew Sackman2009-12-041-75/+78
| | | | | | | | dict:find. Dropped the Dir from the Segments, and added find_segment_or_new/3
* | cosmeticMatthias Radestock2009-12-031-13/+11
| |
* | What a difference, two characters make...Matthew Sackman2009-12-031-1/+1
| |
* | Make the arrays fixed size and tell them the max size. The don't actually ↵Matthew Sackman2009-12-031-1/+1
| | | | | | | | take this much space initally, but it makes them a bit faster as they can make more sensible balancing decisions, we think.
* | Switched to using array instead of dict for the inner journal. It's about ↵Matthew Sackman2009-12-031-70/+72
| | | | | | | | 10% faster.
* | If I write it this way then it saves code and is maybe slightly faster. maybe.Matthew Sackman2009-12-031-30/+22
| |
* | merge headsMatthew Sackman2009-12-031-7/+7
|\ \
| * | cosmeticMatthias Radestock2009-12-031-7/+7
| | |
* | | Abstracted the segment caching in the qi, and associated improvements as not ↵Matthew Sackman2009-12-031-119/+131
|/ / | | | | | | all the state needs to be passed around all the time.
* | Some renaming in the fhc and associated changes in qi and ms.Matthew Sackman2009-12-033-20/+24
| |
* | source code file compressionMatthew Sackman2009-12-031-6/+5
| |
* | cosmeticMatthias Radestock2009-12-021-6/+7
| |
* | Up to 11kHz persistent on my home machine. Still a little way off the 13kHz ↵Matthew Sackman2009-12-022-30/+106
| | | | | | | | that I was getting before, but there were bugs in the previous QI (eg missing syncs) which could well have led to the old version being too fast. Added two functions to fhc: delete/1 which deletes without flushing any data at all. It will refuse to delete if the file isn't open; discard_write_buffer/1 which does what it says. We use the latter after scattering the journal as after we hit each segment, we sync the segment, so at that point there's no need at all to force out the data in the fhc for the journal prior to truncation.
* | Allowed the journal to grow substantially bigger. This helps performance ↵Matthew Sackman2009-12-021-1/+1
| | | | | | | | substantially.
* | New qi in place, tested and debugged. It works. It's not quite as fast as ↵Matthew Sackman2009-12-024-1460/+594
| | | | | | | | before because of use of nested dicts. This can be solved by using sets for publishes, deliveries and acks within each segment - we don't actually need what the dict provides and sets will go much faster. That change should be fairly straight forward to do - the code will get a little longer, but not much more complex.
* | Finished. It might work - untested thoughMatthew Sackman2009-12-021-35/+217
| |
* | More good progress on qi3. The code still almost looks pretty in places. Its ↵Matthew Sackman2009-12-021-7/+175
| | | | | | | | prettiness is not diminishing.
* | Lots of good progress on qi3. The code almost looks pretty in placesMatthew Sackman2009-12-021-36/+377
| |
* | Wrote two key combinators which will be used by the new queue index shortly. ↵Matthew Sackman2009-12-011-0/+159
| | | | | | | | qi3 is very temporary
* | Only pull in one segment at a time from γ into q3Matthew Sackman2009-11-301-8/+9
| |
* | Remove the garbage_collect call as this doesn't seem to be necessary in R13B03Matthew Sackman2009-11-301-3/+1
| |
* | Garbage collect on memory reduction; remove delayed_write in queue index as ↵Matthew Sackman2009-11-303-4/+8
| | | | | | | | we're handling buffering ourselves; add a hack to get the raw vq status out of rabbitmqctl
* | Removal of unnecessary clause in handle_info for queue process as prefetcher ↵Matthew Sackman2009-11-272-9/+4
| | | | | | | | has gone. Bump rabbit supervisor to allow all processes to take as long as necessary to exit. This should ensure cached data gets flushed out.
* | Removed mnesia table and dq_msg_loc record that's no longer neededMatthew Sackman2009-11-272-12/+5
| |
* | There was a bug. Now it has gone away. It arose when γ has a partial ↵Matthew Sackman2009-11-273-39/+116
| | | | | | | | segment, and then memory is made available, and the next msg is persistent. It will go into the partial segment in qi, but will also be in q1 in vq. This lead to the msg being duplicated. Solution is to track the max seq id beyond the end of the γs, and thus drop anything being returned in the segment from qi with a seq_id above this max seq id.
* | storage_mode is long goneMatthias Radestock2009-11-271-1/+1
| |
* | unintended variable captureMatthias Radestock2009-11-271-6/+7
| |