lp:~cjwatson/python-oops-amqp/publisher-handle-channel-errors

Created by Colin Watson and last modified
Get this branch:
bzr branch lp:~cjwatson/python-oops-amqp/publisher-handle-channel-errors
Only Colin Watson can upload to this branch. If you are Colin Watson please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Colin Watson
Project:
python-oops-amqp
Status:
Development

Recent revisions

24. By Colin Watson

Handle AMQP channel errors (particularly NotFound) in the publisher.

amqp 2.4.0 included a change to drain events before publishing. This
means that if we try to publish an OOPS to a nonexistent exchange, then
some future publishing attempt will raise a NotFound exception, which is
a channel error rather than a connection error and so wasn't previously
handled.

To try to minimise confusion resulting from this (which can be
considerable - it took me several days to track down what was happening
in Launchpad's test suite), spend a short time waiting for a response
for the broker after publishing an OOPS. This will typically allow us
to detect channel errors immediately, which we now handle; even if we
don't manage to handle them immediately, they'll be handled the next
time we try to publish something on the same channel.

It would be possible to handle channel errors more economically by just
reopening a channel on the same connection rather than reopening the
entire connection, but reopening the connection seems to work well
enough for now.

23. By Colin Watson

Release 0.1.0.

22. By Colin Watson

[r=wgrant] Add Python 3 support.

21. By James Westby

do not depend on pymongo when bson is all we need

20. By Robert Collins

Fix docs in oops_amqp.__init__ to match README.

19. By Robert Collins

Open 0.0.8 for development.

18. By Robert Collins

Encode the version constraint for oops in setup.py.

17. By Robert Collins

Fix bad trace description.

16. By Robert Collins

Release 0.0.7.

15. By Robert Collins

Add trace script.

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
lp:python-oops-amqp
This branch contains Public information 
Everyone can see this information.

Subscribers