[rabbitmq-discuss] Pika warning (after write buffer exceeded) causes exception

Clemens Kolbitsch clemens.kol at gmail.com
Wed Mar 21 21:44:01 GMT 2012


Hi guys,

let me start with the obvious: thanks for the great library :) I ran into 
the same problem as was mentioned here:

> 
http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/2011-April/012223.html

where one sees below warning when using a Tornadoconnection:

/usr/local/lib/python2.6/dist-packages/pika/connection.py:642: UserWarning: 
Pika: Write buffer exceeded warning threshold at 1827 bytes and an 
estimated 53 frames behind
  warn(message % (self.outbound_buffer.size, est_frames_behind))

I tried to follow the first approach (disabling the warning and raising the 
set_backpressure_multiplier), but that raises another problem:

ERROR:root:Exception in I/O handler for fd 12
Traceback (most recent call last):
  File "/usr/local/lib/python2.6/dist-packages/tornado/ioloop.py", line 
308, in start
    self._handlers[fd](fd, events)
  File 
"/usr/local/lib/python2.6/dist-packages/pika/adapters/base_connection.py", 
line 134, in _handle_events
    self._handle_read()
  File 
"/usr/local/lib/python2.6/dist-packages/pika/adapters/base_connection.py", 
line 162, in _handle_read
    self._on_data_available(data)
  File "/usr/local/lib/python2.6/dist-packages/pika/connection.py", line 
599, in _on_data_available
    self._channels[frame.channel_number].transport.deliver(frame)
  File "/usr/local/lib/python2.6/dist-packages/pika/channel.py", line 64, 
in deliver
    self.frame_dispatcher.process(frame)
  File "/usr/local/lib/python2.6/dist-packages/pika/frame.py", line 202, in 
process
    self._handler(frame)
  File "/usr/local/lib/python2.6/dist-packages/pika/frame.py", line 260, in 
handler
    finish()
  File "/usr/local/lib/python2.6/dist-packages/pika/frame.py", line 289, in 
finish
    ''.join(body_fragments))      # Arg 3
  File "/usr/local/lib/python2.6/dist-packages/pika/callback.py", line 124, 
in process
    callback(*args, **keywords)
  File "/usr/local/lib/python2.6/dist-packages/pika/channel.py", line 420, 
in _on_basic_deliver
    body)
  File "/home/blacklist/llupload/llupload/worker/queue_worker.py", line 
198, in process_message
    channel.basic_ack(delivery_tag=method.delivery_tag)
  File "/usr/local/lib/python2.6/dist-packages/pika/spec.py", line 2563, in 
basic_ack
    return self.transport.rpc(Basic.Ack(delivery_tag=delivery_tag, 
multiple=multiple))
  File "/usr/local/lib/python2.6/dist-packages/pika/channel.py", line 119, 
in rpc
    self.send_method(method)
  File "/usr/local/lib/python2.6/dist-packages/pika/channel.py", line 126, 
in send_method
    self.connection._send_method(self.channel_number, method, content)
  File "/usr/local/lib/python2.6/dist-packages/pika/connection.py", line 
657, in _send_method
    self._send_frame(pika.frame.Method(channel_number, method))
  File "/usr/local/lib/python2.6/dist-packages/pika/connection.py", line 
642, in _send_frame
    warn(message % (self.outbound_buffer.size, est_frames_behind))
TypeError: issubclass() arg 2 must be a class or tuple of classes

Is this a known problem or am I doing something wrong on my side?

Python 2.6.5 (r265:79063, Apr 16 2010, 13:57:41) 
[GCC 4.4.3] on linux2
>>> import pika
>>> pika.__version__
'0.9.5'

Any help is highly appreciated!

thanks,
Clemens

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20120321/6fb6216b/attachment.htm>


More information about the rabbitmq-discuss mailing list