| Commit message (Collapse) | Author | Age | Files | Lines |
| |\ |
|
| | |\ |
|
| | | |\ |
|
| | | | |\ |
|
| | | | | |
| | | | |
| | | | |
| | | | | |
pluggable exchange types are not ready for prime time yet
|
| | | | |\ \ |
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | | |
pluggable exchange types are not ready for prime time yet
|
| | | | |\ \ \ |
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
pluggable exchange types are not ready for prime time yet
|
| | | |/ / / / |
|
| | | |\ \ \ \
| | | |/ / /
| | |/| | | |
|
| | | | | | | |
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
- the IP address in the config is meant to be a string, not an atom
- special case node name of first node
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | | |
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.
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | | |
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.
|
| | | | |/ / |
|
| | | |\ \ \ |
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | | |
|
| | | | | | | |
|
| |\ \ \ \ \ \
| |/ / / / / |
|
| | |\ \ \ \ \ |
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
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
|
| | | | | | | | |
|
| | | | | | | | |
|
| |/ / / / / /
| | | | | |
| | | | | |
| | | | | | |
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.
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | | |
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.
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | | |
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.
|
| | | | | | | |
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | | |
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.
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | | |
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.
|
| | | | | | | |
|
| | | | | | |
| | | | | |
| | | | | |
| | | | | | |
default timeout on startup should be the max value allowed, not 30 seconds. Sheesh.
|
| |\ \ \ \ \ \
| | |/ / / /
| |/| | | | |
|
| | |\ \ \ \ \ |
|
| | | | | | | | |
|
| | | | |/ / /
| | |/| | |
| | | | | |
| | | | | | |
thus freeing up the acceptor to handle new connections
|
| | |\ \ \ \ \ |
|
| | | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
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.
|
| | |\ \ \ \ \ \ |
|
| | | |/ / / / /
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
showing the amqp table transmitted by the client as part of the
connection.start_ok method.
|
| | |\ \ \ \ \ \
| | |/ / / / /
| |/| | | | | |
|
| | |/ / / / /
| | | | | |
| | | | | |
| | | | | | |
It was never meant to get escaped in the first place, according to the docs.
|
| | |/ / / / |
|
| | |\ \ \ \ |
|
| | |/ / / /
| | | | |
| | | | |
| | | | | |
function to lookup amqp error codes and turn them into atoms
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | | |
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.
|