Created by Colin Watson on 2019-05-22 and last modified on 2019-05-22
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

Colin Watson

Recent revisions

24. By Colin Watson on 2019-05-22

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

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 on 2018-05-09

Release 0.1.0.

22. By Colin Watson on 2018-05-08

[r=wgrant] Add Python 3 support.

21. By James Westby on 2015-10-12

do not depend on pymongo when bson is all we need

20. By Robert Collins on 2012-08-10

Fix docs in oops_amqp.__init__ to match README.

19. By Robert Collins on 2012-08-10

Open 0.0.8 for development.

18. By Robert Collins on 2012-08-10

Encode the version constraint for oops in setup.py.

17. By Robert Collins on 2012-08-10

Fix bad trace description.

16. By Robert Collins on 2012-08-10

Release 0.0.7.

15. By Robert Collins on 2012-08-10

Add trace script.

Branch metadata

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