[rabbitmq-discuss] RabbitMQ Erlang API questions
Lev Walkin
vlm at lionet.info
Fri Apr 10 10:54:32 BST 2009
Matthias Radestock wrote:
> Lev,
>
> Lev Walkin wrote:
>> Lev Walkin wrote:
>>> Matthias Radestock wrote:
>>>>> 1. lib_amqp:close_channel(lib_amqp:start_channel()) leaks processes:
>>>> That looks like a bug. Do you get the same results against the
>>>> default branch (of the erlang-client and rabbitmq-server)?
>>>
>>> Have not tried the default branch.
>>
>> The default branch for the client won't work with 1.5.4 server:
>
> That is expected.
>
>> If I check out the default branch server and the client, the following
>> happens (pretty close to the above mismatch errors):
>
>> direct_client_test:basic_qos_test...*timed out*
>
> That's actually just one of the tests timing out. This has been fixed
> but the changes haven't been qa'ed yet so they are not on 'default' yet.
>
> Did you try running your tests to see whether you get the same process
> leaks you experienced in 1.5.x?
Heck, let's do it now... Here it is:
1> code:add_pathsa(["./rabbitmq-server/ebin",
"./rabbitmq-erlang-client/ebin"]).
ok
2> Connection = lib_amqp:start_connection("amq1").
<0.33.0>
3> {length(processes()), "Processes before RabbitMQ Client leaks"}.
{30,"Processes before RabbitMQ Client leaks"}
4> lib_amqp:close_channel(lib_amqp:start_channel(Connection)).
ok
5> {length(processes()), "Processes after RabbitMQ Client leak test 1"}.
{31,"Processes after RabbitMQ Client leak test 1"}
6> lib_amqp:close_channel(lib_amqp:start_channel(Connection)).
ok
7> {length(processes()), "Processes after RabbitMQ Client leak test 1"}.
{32,"Processes after RabbitMQ Client leak test 1"}
8> lib_amqp:close_channel(lib_amqp:start_channel(Connection)).
ok
9> {length(processes()), "Processes after RabbitMQ Client leak test 1"}.
{33,"Processes after RabbitMQ Client leak test 1"}
10> {now(), begin
[lib_amqp:close_channel(lib_amqp:start_channel(Connection))
|| _ <- lists:seq(1, 5000)], ok end, now()}.
{{1239,357113,299622},ok,{1239,357116,128088}}
11> {length(processes()), "Processes after many leak tests"}.
{5033,"Processes after many leak tests"}
12>
Connection: Handling exit from <0.37.0> -->
connection_socket_closed_unexpectedly
Broker forced connection: 320 -> <<"CONNECTION_FORCED - broker forced
connection closure with reason 'shutdown'">>
12> {length(processes()), "Processes after RabbitMQ Server shutdown"}.
{5029,"Processes after RabbitMQ Server shutdown"}
13>
--
Lev Walkin
vlm at lionet.info
More information about the rabbitmq-discuss
mailing list