| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| | |
stable/mitaka
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Calling threading.Event.wait() when using eventlet results in a busy
loop calling epoll_wait, because the Python 2.x
threading.Condition.wait() implementation busy-waits by calling
sleep() with very small values (0.0005..0.05s). Because sleep() is
monkey-patched by eventlet, this results in many very short timers
being added to the eventlet hub, and forces eventlet to constantly
epoll_wait looking for new data unecessarily.
This utilizes a new Event from eventletutils which conditionalizes the
event primitive depending on whether or not eventlet is being used.
If it is, eventlet.event.Event is used instead of threading.Event.
The eventlet.event.Event implementation does not suffer from the same
busy-wait sleep problem. If eventlet is not used, the previous
behavior is retained.
For Newton backport, this bundles the Event from eventletutils
directly in oslo.messaging under the _utils module. It is taken from:
https://review.openstack.org/#/c/389739/
combined with the followup fix:
https://review.openstack.org/#/c/394460/
Change-Id: I5c211092d282e724d1c87ce4d06b6c44b592e764
Depends-On: Id33c9f8c17102ba1fe24c12b053c336b6d265501
Closes-bug: #1518430
(cherry picked from commit a6c193f3eba62cdcbfe04d0fa93e95352bcfb1c3)
|
|\ \
| |/
|/|
| | |
stable/mitaka
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Currently we set it before the channel and as a result nothing
happens, only an error is logged at the debug level.
Change-Id: Ifebdd957d403e47039c10f7e55c4e7ef08fba658
Closes-Bug: #1640773
(cherry picked from commit 9c25485adb661d44b7f3f0c676ac3705e5754796)
|
|/
|
|
| |
Change-Id: I16b121d987f6a1948b18043b648498743a2f6689
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Consumer declaration consist of the next steps:
1) declare an exchange
2) declare a queue
3) bind the queue to the exchange
Due to reply exchanges are auto-delete, at the
step 3 the exchange can be removed and consumer.declare()
will raise `queue.bind 404 Exchange not found`.
So, in this case the queue is exist and AMQPListener
just call consumer.consume() on the queue and go to
drain_events() despite on the fact that the queue is
unbound.
This change tries to redeclare queue/exchange proactively
each times channel change and just before consuming messages.
Co-Authored-By: Mehdi Abaakouk <sileht@redhat.com>
Closes-Bug: #1609766
Change-Id: Id8b48df3d26675d72955d417ce7622b1e8aa6195
(cherry picked from commit 3f4ce9470b3f9e0502f61345a6943adad2dadac9)
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Redeclare queues on 'Basic.consume: (404) no queue' exception
and enable by default consumer declaration with nowait=False
in order to wait for a broker response.
Change-Id: I99f2bc858dbc7c18a2f328ee26f39105ed17cee3
Closes-Bug: #1581148
(cherry picked from commit 43cfc18fc9a307b44eebdd052203de8e44dbc814)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When you send message to exchange which is not exist current
channel is closed and you need to reconnect. This is undesired.
Also this patch separate sending fanout message and call/cast
messages and don't raise exception if exchange doesn't exist
for fanout messages.
Change-Id: Ia556d0c1b219387892007925bb437664aaaccb69
(cherry picked from commit 89cc47e)
|
|/
|
|
| |
Change-Id: Ic9bfe4ed5873ea41797dcc2fcbbc4c78cd2791b5
|
|
|
|
| |
Change-Id: I52b5f0befe15c8cbfeabba43e966f0706181c3a8
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Currently we trying ot fetch messages from the topics even
they have bot been created yet. This behaviour causes a
KafkaConfigurationError which are raised in the kafka driver.
Change-Id: I78cfd5ac24fbf37be5649232d0bc825319cf6402
Closes-bug: #1557521
|
|\ \
| |/ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Consumer in Kafka driver should use only unique topic,
otherwise a FetchDuplicate exception will be raised.
Change-Id: I569ce446eaf05dbc3a7fd0b41a2307e940ab87fb
Closes-bug: #1555081
|
|\ \
| |/ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Notification priority actually points to an endpoint method
to be called and couldn't be ignored by the driver.
Also reduced exchange because it shouldn't take part in
final topic resolution.
Closes-Bug #1546081
Change-Id: I4a7c367d91c2fefc6830f0ab3cdcbc0b605127b0
|
|/
|
|
|
|
|
|
|
|
| |
The transport_url may contain credentials to the message queue; For
this reason, this option should be secret for it to not leak into the
logs.
Closes-Bug: #1567233
Change-Id: I49c641a2662976d7220e4222e3c4a4d2586b1336
|
|
|
|
|
|
|
|
| |
In Ibf6139ac2c22d9eeda7030fb87b7f1139d92332e, we added a
TCP timeout that does not work on Windows (with python 2.7.9)
Closes-Bug: #1562706
Change-Id: I2819225c2d3d3b418c977c03868db8d0c8022d5a
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Avoid any possible references to exc_info tuple by ensuring
we delete it in a finally block, so that even if replying or
logging fails somehow the prior exception is always deleted
correctly.
Change-Id: Id0e5099b9b38b1803bb4514f7cf3deae760d5ac3
(cherry picked from commit 0774b5cebaadd5587724d59e64ddbe30ce11f6a5)
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Inspired by:
https://bugs.launchpad.net/oslo.messaging/+bug/1508512/comments/1
Add authentication_failure_close capability on the client to
tell the server that it can send us connection.close command
indicating ACCESS_REFUSED as the reasona. If this capability is
absent then authentication failures are reported in the legacy
fashion: by abruptly closing the network connection.
Partial-Bug: #1508512
Change-Id: Icf6108678256e6f922620837c71f8827fe8e8c52
(cherry picked from commit 97655c1fe633f6b1340ce899bb1ad65284926399)
|
|
|
|
| |
Change-Id: Iab6a9f65d0aa8d5e89272734e98474874b07d78c
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When exchange/queue are declared the timeout is the default (None)
when it should be the no more than heartbeat timeout.
Also we have to set TCP_USER_TIMEOUT to ensure our timeouts are
respected. socket.settimeout() of python relies on select() that can
be blocked because kernel doesn't return during a recv() because of
TCP connection breakage.
This change fixes that by always setting TCP_USER_TIMEOUT and python
socket timeout each time the connection is establish.
Change-Id: Ibf6139ac2c22d9eeda7030fb87b7f1139d92332e
(cherry picked from commit 98bc5fc2fadce089b6f47421929651606e5e9ab6)
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In I83a8d09dc0cdae24c12d7043ec810529a9ce57ab, we
made reply and fanout queues expire instead of auto-delete
and set the rabbit_transient_queues_ttl to 10 mins.
In grenade, we seem to see the queues expiring just around
the time the new side is coming up which causes havoc. There
is no reason the rabbit_transient_queues_ttl should not be
higher. So let's bump up the expiry to 30 mins.
Closes-Bug: #1545002
Change-Id: I70a29b762198129fe0a3e904d9f2a7d4242b322c
|
|/
|
|
|
|
|
|
|
| |
Add a sleep() to allow other threads (like the one collecting
the stats) to run.
Closes-Bug: #1555632
Change-Id: I6fcb63c10acd76f2815e23fbd303f08974feb993
(cherry picked from commit fb732971129444b5d0fb91be2340f91d7454fc4a)
|
|
|
|
| |
Change-Id: I88479fd85da9d68970268a7b61f1bc31452ff6cb
|
|\ |
|
| |
| |
| |
| | |
Change-Id: I1e64587cb76fe449fd0d60f78e830dc603574af5
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
No need to check element before push.
Change-Id: Ic4b5ff829d0d94a35aaab1af8ff6991a0b5cebe6
Related-to: I25d623eb4bb0a827daa8a316a0ddcb4a473f8694
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | | |
Change-Id: If6115045dbaf2229b1229d259787ecd207348603
|
|\ \ \ \ |
|
| | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Looks like there is a disconnect between the __init__
parameter 'topic' in Notifier and what we need when
we look up a driver. We should allow multiple topics
to be specified as a new topics parameter and pass
that along directly.
Change-Id: Id89957411aa219cff92fafec2f448c81cb57b3ca
|
|\ \ \ \
| |/ / /
|/| | | |
|
| |/ /
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The oslo.config lib includes a PortOpt to simply restrict the
range of integers available for a port type option. This patch
makes use of that.
Change-Id: I8cda92d6c7555b6cb788627d072174ad608fb6de
|
|\ \ \
| |/ /
|/| | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This patch add sending cancel request to RabbitMQ
and inform it to stop message sending to the poller.
It makes listener stop/wait procedure more graceful
Change-Id: Ibadb5f705f6ea4ef32969a69d1db68ada1f491e4
|
|\ \ \
| |_|/
|/| | |
|
| | |
| | |
| | |
| | | |
Change-Id: I4feeeec0c69305d92dce5baf60502a39ebe6b247
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The mask_dict_password method is added from oslo_utils 3.4.0, and it's
about five times faster than the mask_password method, so it's better
to use mask_dict_password instead of mask_password.
Change-Id: I6629ed1232f2e6f1c72b9f13b361e2f9e14b50a4
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This patch change log string formatting approach,
moves it inside logging method to avoid formatting if
it is not needed for given log level
Change-Id: Ice73f2fc893701544cadc75bafd6833de0ae5d51
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* i before e unless before c
* Also updated the docstring on consume function
Change-Id: Icfe35fc577d01434839d6774d02b933fc4cd1a08
|
|\ \ \ \ |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
DocImpact
In RabbitMQ 3.0, queue mirroring is no longer controlled by the
x-ha-policy argument when declaring a queue. If you just want to make
sure that all queues (except those with auto-generated names) are
mirrored across all nodes, run:
rabbitmqctl set_policy HA '^(?!amq\.).*' '{"ha-mode": "all"}'
Change-Id: I905b42c9b853c686f50f28752b4ec09b006d2420
Closes-bug: #1547306
|
|\ \ \ \ \
| |_|_|/ /
|/| | | | |
|