- kombu4 wraps recoverable errors as OperationalErrors rather than
raising amqp errors
- also, raise a recoverable error and redeclare if for some reason a
message is double acknowledged... previously, this was hidden.
- ensure socket is not none
- use connect method to ensure connection
Depends-On: I9f980b51901ac31599b9651633956ad2eea6a1ac
Change-Id: I73958c8057353a2eefe1baaa7a41148193d507f7
This patch replaces the legacy retrying library with the newer
and more convenient tenacity one, taking into account that:
1) retrying uses milliseconds for wait times, but tenacity uses seconds;
2) retrying has a lot of numeric arguments for specifying behaviour
of decorated functions, while tenacity has a few of them, which are
specialized objects, thus making the retry-decorator more flexible.
Change-Id: Ib6ecffe5d1cf292badbb9eb6db6260f17460f343
Closes-Bug: #1635399
This patch introduces the following tweaks to the timer
implementation:
Reduce the number of timers that need to be tracked by reducing the
timer granularity to units of seconds.
Decrease the default timeout values to further reduce the total number
of tracked timers.
Batch multiple expiring events that share the same deadline.
Inline the timer comparison code in the main event loop.
Avoid using an expensive comparison method in the heap sort by using
an integer primitive instead.
Use monotonic time instead of time.time()
Change-Id: I83e86bf203e6a641085e482c7ccf0e01f4fb4d86
I wrote the aioeventlet executor as a first step to replace eventlet
with trollius in OpenStack. Sadly, the project of replacing eventlet
with something else (trollius, threads or whatever) looks to be stuck
because of various reasons. See the spec:
"Replace eventlet + monkey-patching with ??"
https://review.openstack.org/#/c/164035/
Recently, I deprecated the trollius project in favor of asyncio:
http://trollius.readthedocs.org/deprecated.html
Since I abandonned my project to replace eventlet with trollius, I
now propose to remove the unused aioeventlet executor from Oslo
Messaging to simplify the code and remove unused dependencies
(especially trollius).
Since the aioeventlet executor is not used by any application, it's
safe to remove it. Removing the executor removes trollius and
aioeventlet dependencies.
... The executor may come back "later" when the first OpenStack
service will start to drop Python 2 support.
For more information on asyncio in OpenStack, see:
http://aioeventlet.readthedocs.org/openstack.html
Note: the executor was added by the change
I7a78ed998719a703077232726f66d882463b1297.
Change-Id: I10d8d7d4134b32e4fc0badfa15e9ffb005910139