Skip to content

Beaver/pika error when remote rabbitmq is restarted #346

@timstoop

Description

@timstoop

Hi,

While running the latest master (19a675a), I get an error when the remote rabbitmq stops for whatever reason (a restart in this case). The full error in the log is below.

The import part I think is AttributeError: 'SelectConnection' object has no attribute '_closing'. I would expect Beaver to simply try to reconnect again, which it isn't doing. I'll try to look at it myself, but any help is appreciated.

ERROR:pika.adapters.base_connection:Fatal Socket Error: error(32, 'Broken pipe')
WARNING:pika.adapters.base_connection:Socket closed when connection was open
WARNING:pika.connection:Disconnected from RabbitMQ at queue.mgmt.kumina.kumina.net:5671 (0): Not specified
ERROR:pika.callback:Calling <bound method RabbitmqTransport._on_connection_closed of <beaver.transports.rabbitmq_transport.RabbitmqTransport object at 0x12e8150>> for "0:_on_connection_closed" failed
Traceback (most recent call last):
  File "/usr/share/python-beaver/local/lib/python2.7/site-packages/pika/callback.py", line 236, in process
    callback(*args, **keywords)
  File "/usr/share/python-beaver/local/lib/python2.7/site-packages/beaver/transports/rabbitmq_transport.py", line 96, in _on_connection_closed
    if self._connection._closing:
AttributeError: 'SelectConnection' object has no attribute '_closing'
Exception in thread Thread-1:
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 552, in __bootstrap_inner
    self.run()
  File "/usr/lib/python2.7/threading.py", line 505, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/usr/share/python-beaver/local/lib/python2.7/site-packages/beaver/transports/rabbitmq_transport.py", line 121, in _connection_start
    self._connection.ioloop.start()
  File "/usr/share/python-beaver/local/lib/python2.7/site-packages/pika/adapters/select_connection.py", line 355, in start
    self.process_timeouts()
  File "/usr/share/python-beaver/local/lib/python2.7/site-packages/pika/adapters/select_connection.py", line 283, in process_timeouts
    timer['callback']()
  File "/usr/share/python-beaver/local/lib/python2.7/site-packages/beaver/transports/rabbitmq_transport.py", line 81, in _publish_message
    delivery_mode=self._rabbitmq_config['delivery_mode']
  File "/usr/share/python-beaver/local/lib/python2.7/site-packages/pika/channel.py", line 338, in basic_publish
    (properties, body))
  File "/usr/share/python-beaver/local/lib/python2.7/site-packages/pika/channel.py", line 1150, in _send_method
    self.connection._send_method(self.channel_number, method_frame, content)
  File "/usr/share/python-beaver/local/lib/python2.7/site-packages/pika/connection.py", line 1571, in _send_method
    self._send_message(channel_number, method_frame, content)
  File "/usr/share/python-beaver/local/lib/python2.7/site-packages/pika/connection.py", line 1601, in _send_message
    self._flush_outbound()
  File "/usr/share/python-beaver/local/lib/python2.7/site-packages/pika/adapters/base_connection.py", line 282, in _flush_outbound
    self._handle_write()
  File "/usr/share/python-beaver/local/lib/python2.7/site-packages/pika/adapters/base_connection.py", line 452, in _handle_write
    return self._handle_error(error)
  File "/usr/share/python-beaver/local/lib/python2.7/site-packages/pika/adapters/base_connection.py", line 338, in _handle_error
    self._handle_disconnect()
  File "/usr/share/python-beaver/local/lib/python2.7/site-packages/pika/adapters/base_connection.py", line 289, in _handle_disconnect
    self._on_connection_closed(None, True)
  File "/usr/share/python-beaver/local/lib/python2.7/site-packages/pika/connection.py", line 1256, in _on_connection_closed
    self._on_disconnect(reply_code, reply_text)
  File "/usr/share/python-beaver/local/lib/python2.7/site-packages/pika/connection.py", line 1368, in _on_disconnect
    self._process_connection_closed_callbacks(reply_code, reply_text)
  File "/usr/share/python-beaver/local/lib/python2.7/site-packages/pika/connection.py", line 1397, in _process_connection_closed_callbacks
    reason_code, reason_text)
  File "/usr/share/python-beaver/local/lib/python2.7/site-packages/pika/callback.py", line 60, in wrapper
    return function(*tuple(args), **kwargs)
  File "/usr/share/python-beaver/local/lib/python2.7/site-packages/pika/callback.py", line 92, in wrapper
    return function(*args, **kwargs)
  File "/usr/share/python-beaver/local/lib/python2.7/site-packages/pika/callback.py", line 236, in process
    callback(*args, **keywords)
  File "/usr/share/python-beaver/local/lib/python2.7/site-packages/beaver/transports/rabbitmq_transport.py", line 96, in _on_connection_closed
    if self._connection._closing:
AttributeError: 'SelectConnection' object has no attribute '_closing'

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions