[rabbitmq-discuss] broken release?
Aryeh Leib Taurog
vim at aryehleib.com
Thu May 3 08:48:48 BST 2012
We are evaluating RabbitMQ/pika for our stack. I have it installed,
via the rabbitmq debian/apt repository, on a ubuntu lucid test server.
Yesterday morning, the apt package manager updated rabbitmq-server
from 2.8.1-1 to 2.8.2-1. At that point, it stopped working
altogether.
I tried the send.py/receive.py from the Hello World tutorial and got
nothing. I downloaded the java client and ran the tracer. Here's the
output I get when I point send.py at it:
Invoked as: Tracer 5673 localhost 5672
com.rabbitmq.tools.Tracer.WITHHOLD_INBOUND_HEARTBEATS = false
com.rabbitmq.tools.Tracer.WITHHOLD_OUTBOUND_HEARTBEATS = false
com.rabbitmq.tools.Tracer.NO_ASSEMBLE_FRAMES = false
com.rabbitmq.tools.Tracer.NO_DECODE_FRAMES = false
com.rabbitmq.tools.Tracer.SUPPRESS_COMMAND_BODIES = false
1335986940645: <Tracer-0> ch#0 <- {#method<connection.start>(version-major=0, version-minor=9, server-properties={product=RabbitMQ, information=Licensed under the MPL. See http://www.rabbitmq.com/, platform=Erlang/OTP, capabilities={exchange_exchange_bindings=true, consumer_cancel_notify=true, basic.nack=true, publisher_confirms=true}, copyright=Copyright (C) 2007-2012 VMware, Inc., version=2.8.2}, mechanisms=PLAIN AMQPLAIN, locales=en_US), null, ""}
1335986940645: <Tracer-0> ch#0 -> {#method<connection.start-ok>(client-properties={product=Pika Python AMQP Client Library}, mechanism=PLAIN, response=1335986940646: <Tracer-0> ch#0 <- {#method<connection.tune>(channel-max=0, frame-max=131072, heartbeat=0), null, ""}
1335986940681: <Tracer-0> ch#0 -> {#method<connection.tune-ok>(channel-max=0, frame-max=131072, heartbeat=0), null, ""}
1335986940682: <Tracer-0> ch#0 -> {#method<connection.open>(virtual-host=/, capabilities=, insist=true), null, ""}
1335986940724: <Tracer-0> ch#0 <- {#method<connection.open-ok>(known-hosts=), null, ""}
1335986940761: <Tracer-0> ch#1 -> {#method<channel.open>(out-of-band=), null, ""}
1335986940802: <Tracer-0> ch#1 <- {#method<channel.open-ok>(channel-id=), null, ""}
1335986940842: <Tracer-0> ch#1 -> {#method<queue.declare>(ticket=0, queue=hello, passive=false, durable=false, exclusive=false, auto-delete=false, nowait=false, arguments={}), null, ""}
1335986940884: <Tracer-0> ch#1 <- {#method<queue.declare-ok>(queue=hello, message-count=0, consumer-count=1), null, ""}
1335986940924: <Tracer-0> ch#1 -> {#method<basic.publish>(ticket=0, exchange=, routing-key=hello, mandatory=false, immediate=false), #contentHeader<basic>(content-type=null, content-encoding=null, headers=null, delivery-mode=null, priority=null, correlation-id=null, reply-to=null, expiration=null, message-id=null, timestamp=null, type=null, user-id=null, app-id=null, cluster-id=null), "Hello World!"}
1335986940925: <Tracer-0> ch#1 -> {#method<channel.close>(reply-code=200, reply-text=Normal shutdown, class-id=0, method-id=0), null, ""}
1335986940935: <Tracer-0> uncaught java.io.EOFException
at java.io.DataInputStream.readUnsignedByte(DataInputStream.java:273)
at com.rabbitmq.client.impl.Frame.readFrom(Frame.java:95)
at com.rabbitmq.tools.Tracer$DirectionHandler.readFrame(Tracer.java:271)
at com.rabbitmq.tools.Tracer$DirectionHandler.doFrame(Tracer.java:305)
at com.rabbitmq.tools.Tracer$DirectionHandler.run(Tracer.java:343)
at java.lang.Thread.run(Thread.java:662)
Stopped.
Here's the output of rabbitmqctl status:
[{pid,1594},
{running_applications,[{rabbit,"RabbitMQ","2.8.2"},
{os_mon,"CPO CXC 138 46","2.2.4"},
{sasl,"SASL CXC 138 11","2.1.8"},
{mnesia,"MNESIA CXC 138 12","4.4.12"},
{stdlib,"ERTS CXC 138 10","1.16.4"},
{kernel,"ERTS CXC 138 10","2.13.4"}]},
{os,{unix,linux}},
{erlang_version,"Erlang R13B03 (erts-5.7.4) [source] [64-bit] [smp:2:2] [rq:2] [async-threads:30] [hipe] [kernel-poll:true]\n"},
{memory,[{total,26105944},
{processes,10233072},
{processes_used,10213160},
{system,15872872},
{atom,1119593},
{atom_used,1112534},
{binary,88664},
{code,12015821},
{ets,793224}]},
{vm_memory_high_watermark,0.3999999997973079},
{vm_memory_limit,1578749132},
{disk_free_limit,3946872832},
{disk_free,3124989952},
{file_descriptors,[{total_limit,924},
{total_used,5},
{sockets_limit,829},
{sockets_used,3}]},
{processes,[{limit,1048576},{used,137}]},
{run_queue,0},
{uptime,939}]
I see a warning in the rabbitmq log about connection_closed_abruptly,
but it doesn't seem to correspond to the issue, since I don't see the
message repeated when I re-run send.py.
I was able to resolve the problem by removing the new version of
rabbitmq-server with 'apt-get remove' then downloading the previous
version from the rabbitmq site and reinstalling that with dpkg.
This raises questions in my mind about using rabbitmq in our
production stack. Are 'latest releases' from the repository
considered stable? Are people using rabbitmq in production on ubuntu?
Ubuntu lucid is a pretty popular server platform, and there isn't much
unusual about my test machine. Has no one else reported any problems?
Also I am surprised that there doesn't seem to be any public bug
tracker. I gather that RabbitMQ is the open-source effort of a
private enterprise, but that is hardly an excuse. MySQL and Java both
have public bug trackers.
with appreciation,
Aryeh Leib Taurog
More information about the rabbitmq-discuss
mailing list