summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* merging default+21673 into bug 22161Matthew Sackman2009-12-1922-623/+360
|\
| * merging default into bug 21673Matthew Sackman2009-12-1922-623/+360
| |\
| | * merge bug22082 into defaultMatthias Radestock2009-12-1817-670/+220
| | |\
| | | * post-backout mergeMatthias Radestock2009-12-1815-561/+220
| | | |\
| | | | * Backed out changeset 71e93e17450cMatthias Radestock2009-12-1815-561/+220
| | | | | | | | | | | | | | | | | | | | pluggable exchange types are not ready for prime time yet
| | | * | post-backout mergeMatthias Radestock2009-12-181-1/+0
| | | |\ \
| | | | * | Backed out changeset b2363fc1a51aMatthias Radestock2009-12-181-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | pluggable exchange types are not ready for prime time yet
| | | * | | post-backout mergeMatthias Radestock2009-12-183-117/+9
| | | |\ \ \
| | | | * | | Backed out changeset 3ab59ae0f0e9Matthias Radestock2009-12-183-117/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | pluggable exchange types are not ready for prime time yet
| | | * | | | create branch for bug 22082Matthias Radestock2009-12-180-0/+0
| | |/ / / /
| | * | | | merge bug22013 into defaultMatthias Radestock2009-12-176-49/+128
| | |\ \ \ \ | | | |/ / / | | |/| | |
| | | * | | allow nodes to be started with no listenersMatthias Radestock2009-12-011-7/+12
| | | | | |
| | | * | | two bug fixes and some refactoringMatthias Radestock2009-12-011-27/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - the IP address in the config is meant to be a string, not an atom - special case node name of first node
| | | * | | multi is a convenience. It should blow up when starting > 1 nodes when we ↵Matthew Sackman2009-11-255-19/+59
| | | | | | | | | | | | | | | | | | | | | | | | have multiple tcp listeners. When starting > 1 nodes, make sure we export the discovered node ip address and port. When starting just 1 node, don't export anything - either rabbit-server will rediscover it in the env, or it's all configured in the config file.
| | | * | | Reintroduced traces of tcp_listeners where it turns out to be a jolly good ↵Matthew Sackman2009-11-245-1/+76
| | | | | | | | | | | | | | | | | | | | | | | | idea, but don't set either one unless the other has been set. Thus if neither has been set then we don't do nowt.
| | | * | | Removed all traces of tcp_listeners from the scriptsMatthew Sackman2009-11-245-37/+0
| | | |/ /
| | * | | merging bug22113 into defaultMatthew Sackman2009-12-163-9/+117
| | |\ \ \
| | | * | | New process to own the tables. API for accessing the tables.Tony Garnock-Jones2009-12-144-26/+114
| | | | | |
| | | * | | No longer rely on magic module naming; use an explicit registryTony Garnock-Jones2009-12-092-7/+27
| | | | | |
| | * | | | Delete trailing whitespaceTony Garnock-Jones2009-12-141-12/+12
| | | | | |
* | | | | | document insomniation and also ready the msg_store for such gadgetryMatthew Sackman2009-12-182-14/+32
| | | | | |
* | | | | | support insomniationMatthew Sackman2009-12-181-0/+4
| | | | | |
* | | | | | merging 21673 into 22161Matthew Sackman2009-12-181-1/+1
|\ \ \ \ \ \ | |/ / / / /
| * | | | | whoops, we seemed to end up with multiple heads hereMatthew Sackman2009-12-181-1/+1
| |\ \ \ \ \
| | * | | | | With R13B03, it would appear we need to be slightly more hesitant: currently ↵Matthew Sackman2009-12-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | I'm seeing the memory limits being hit and the queue duration is still fairly large. Whilst it does eventually fall, setting this scalar a little lower should help. However, this will probably need tweaking again, once we've moved away from ets in the msg_store
* | | | | | | correct condition for doing GCMatthew Sackman2009-12-181-4/+3
| | | | | | |
* | | | | | | geometric distributionMatthew Sackman2009-12-171-0/+38
| | | | | | |
* | | | | | | All sorts of stuff. See the bug. GC is off here (other that deleting empty ↵Matthew Sackman2009-12-172-194/+271
|/ / / / / / | | | | | | | | | | | | | | | | | | files). File locking is in. Some other machinery is in wrt background GC. Lots of reworking of the GC code to get it into a more useful state (everything from adjust_meta downwards). Tests do actually pass, but with GC otherwise off, you'd be mad to run this.
* | | | | | Reworked the GC of msg_store so that it scans the files themselves for their ↵Matthew Sackman2009-12-172-19/+34
| | | | | | | | | | | | | | | | | | | | | | | | content, rather than a select on ets. This bounds the time it can take (ets could have many billions of other entries in it), and also makes it simpler to make the msg_location pluggable => toke. Also reduce the msg file size to 16MB from 256MB as tests show that although max write speed drops (more fsyncs and fclose), the GC is much faster. This may go back up a bit when lazy+background GC arrives.
* | | | | | Added accountancy for file size and sums thereof plus sums of valid data. ↵Matthew Sackman2009-12-162-75/+107
| | | | | | | | | | | | | | | | | | | | | | | | This simplifies build_index slightly and complicates remove_message slightly. Also found that in delete_if_empty, was failing to close any file handle open on the file prior to it being deleted.
* | | | | | Don't reverse the entire list, only to pull off one elementMatthew Sackman2009-12-151-5/+6
| | | | | |
* | | | | | Noticed that sometimes the shutdown message that appears to the queue ↵Matthew Sackman2009-12-151-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | process is of the form {shutdown,{gen_server2,call,[rabbit_msg_store,{read,<<96,94,147,36,83,202,129,231,131,151,203,11,95,112,69,118>>},infinity]}}. I presume this is when we're shutdown whilst in the middle of a call. In any case, it was falling through to the wrong case in queue process terminate, and resulting in the queue being deleted. Brilliant. Sadly, the fix is pretty much code duplication because you can't do a partial pattern match / unification in a guard.
* | | | | | qi: all_segment_nums was not returning its list sorted. As a result, ↵Matthew Sackman2009-12-151-9/+10
| | | | | | | | | | | | | | | | | | | | | | | | find_lowest_seq_id_seg_and_next_seq_id could return the wrong values. vq: because of the bug in qi, vq could construct γ wrongly, violating the vq invariants. This would lead to explosions elsewhere.
* | | | | | Turns out that it's actually important to stop erlang from time to time...Matthew Sackman2009-12-151-5/+10
| | | | | |
* | | | | | Do not kill rabbit after 1 second when being asked to stop. Also, the ↵Matthew Sackman2009-12-152-10/+2
| | | | | | | | | | | | | | | | | | | | | | | | default timeout on startup should be the max value allowed, not 30 seconds. Sheesh.
* | | | | | 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.