Commit Graph

59481 Commits

Author SHA1 Message Date
Ben Hood 74f7df23ae Reinstated list_exchange_bindings/1 2008-10-10 23:09:25 +01:00
Ben Hood e71f140b9f Changed select for has_bindings into a continuation 2008-10-10 21:59:06 +01:00
Ben Hood 252aaf6657 Refactored all of the exchange delete functions 2008-10-10 21:51:39 +01:00
Hubert Plociniczak 04189c2322 Print error message when codegen cannot import json 2008-10-10 16:26:06 +01:00
Ben Hood e7ec382c25 Default binding should be restored in exchange module 2008-10-10 16:18:06 +01:00
Emile Joubert 71fa0a4227 Moved and modified documentation 2008-10-10 09:11:22 +01:00
Ben Hood 3af3be50fe Adjusted some of the exit reasons 2008-10-09 11:37:02 +01:00
Ben Hood f1aee7cbec Incorporated some QA remarks, added a test for this patch 2008-10-08 16:19:17 +01:00
Ben Hood f83fd93870 Simplified has_bindings because it only needs to do simple select and count 2008-10-08 14:07:36 +01:00
Ben Hood 6e68301641 Brought forwards delete function into loop to avoid delete_object wildcard issue when it is fixed in OTP 2008-10-07 12:08:31 +01:00
Emile 764f0241e7 Run broker as windows service 2008-10-07 10:02:52 +01:00
Ben Hood 0ba0739aa3 Fixes for dialyzer 2008-10-06 18:43:34 +01:00
Ben Hood 6fba52a764 Merged default into 18776 2008-10-06 17:59:31 +01:00
Ben Hood b8530a54f9 Lock demotion 2008-10-06 17:42:58 +01:00
Ben Hood ca5b562728 Further refactorings 2008-10-06 17:29:23 +01:00
Ben Hood 6d8e269e87 Refactored call_with_exchange 2008-10-06 15:10:22 +01:00
Ben Hood 0f7b2f2b51 Factored out route deletion with reverse lookup 2008-10-06 14:58:19 +01:00
Ben Hood a72844f0a3 Factored out re-entry condition 2008-10-06 11:48:22 +01:00
Ben Hood 982fface28 Fixed full table scan when deleting forwards routes 2008-10-06 10:53:45 +01:00
Ben Hood 9de5dbe9a9 Refactored deleting forwards bindings 2008-10-05 20:12:51 +01:00
Ben Hood 96e8235eea Makes better use out of the reverse routes when deleting 2008-10-05 19:57:56 +01:00
Ben Hood 5e24c7bd6b Minor refactoring of the continuation 2008-10-05 18:53:41 +01:00
Ben Hood b003c245d5 Fixes for auto-delete exchanges 2008-10-05 18:36:17 +01:00
Hubert Plociniczak 5e6c6e50c0 merge bug19485 into default 2008-10-05 16:58:53 +01:00
Ben Hood 952e773c70 Merged bug19219 into default 2008-10-04 16:39:22 +01:00
Matthias Radestock f3e3f768d2 beginnings of reacting to low memory conditions
configure memsup and hook in our own alarm handler
2008-10-04 16:20:09 +01:00
Ben Hood 86e2cc75e5 Implemented queue.unbind 2008-10-04 15:35:37 +01:00
Ben Hood 56c0656f03 Added test for queue.unbind 2008-10-04 15:33:39 +01:00
Ben Hood e3c4c91087 Added queue.unbind method 2008-10-04 15:32:06 +01:00
Matthias Radestock 721e72d165 propagate channel/connection errors when in closing state 2008-10-03 13:47:01 +01:00
Matthias Radestock 2a0374c97a merge bug18784 2008-10-01 19:46:17 +01:00
Matthias Radestock f34405dcec cosmetic refactoring 2008-10-01 12:39:26 +01:00
Ben Hood 9ce6c93cb9 Fix for not cleaning up durable auto_delete exchanges properly 2008-09-30 22:54:47 +01:00
Matthias Radestock 0587bccf2d oops 2008-09-30 14:35:46 +01:00
Matthias Radestock 52e2ee3f13 modulate gen_server:call timeout when doing work in parallel
When we fire off lots of gen_server:calls in parallel, we may create
enough work for the VM to cause the calls to time out - since the
amount of work that can actually be done in parallel is finite.

The fix is to adjust the timeout based on the total workload.

Alternatively we could not have any timeout at all, but
that is bad Erlang style since a small error somewhere could result in
stuck processes.

I moved the parallelisation - and hence timeout modulation - from the
channel into the amqqueue module, changing the API in the process -
commit, rollback and notify_down now all operate on lists of
QPids (and I've renamed the functions to make that clear). The
alternative would have been to add Timeout params to these
three functions, but I reckon the API is cleaner this way,
particularly considering that rollback doesn't actually do a call - it
does a cast and hence doesn't require a timeout - so in the
alternative API we'd either have to expose that fact indirectly by not
having a Timeout param, or have a bogus Timeout param, neither of
which is particularly appealing.

I considered making the functions take sets instead of lists,  since
that's what the channel code produces, plus sets have a more efficient
length operation. However, API-wise I reckon lists are nicer, plus it
means I can give a more precise type to dialyzer - sets would be
opaque and non-polymorphic.
2008-09-30 14:14:01 +01:00
Ben Hood 8f08a5b547 Simplications 2008-09-30 01:11:39 +01:00
Ben Hood ee89d942a6 Made better use of pattern matching in mnesia:delete_object/1 2008-09-30 00:54:00 +01:00
Ben Hood 346a791c03 Fix for auto_delete exchanges 2008-09-30 00:14:41 +01:00
Ben Hood 63e6b878a7 Reverse routes and durable routes now get deleted 2008-09-29 21:31:21 +01:00
Matthias Radestock f643854283 cosmetic changes and some minor refactoring 2008-09-28 22:19:29 +01:00
Ben Hood c2cdd9d49d Merged 19455 into default 2008-09-28 15:09:47 +01:00
Matthias Radestock fa3ce836ae disable Nagle 2008-09-28 11:37:28 +01:00
Ben Hood 358f4d29e0 Binned resource() type 2008-09-27 21:55:38 +01:00
Ben Hood c24ce8446f Removed e_m_t/2 2008-09-27 21:51:23 +01:00
Ben Hood 53a9e8798b rabbit_exchange:{add,delete}_binding/1 should not be exported 2008-09-27 21:41:50 +01:00
Ben Hood 8036f65792 Truncated lines in this patch to 78 2008-09-27 21:35:11 +01:00
Ben Hood bc3468dd98 Swapped position of exchange and queue in binding APIs 2008-09-27 21:22:06 +01:00
Ben Hood 437401df9f Cosmetic fix 2008-09-27 21:13:23 +01:00
Ben Hood 87396f8ddb Dialyzer fixes 2008-09-27 21:11:02 +01:00
Ben Hood 9bd58e8226 Make function match a bit tighter 2008-09-27 17:01:41 +01:00