This patch simply replaces all delimeters used for generating
internal identifiers like redis keys or socket identities
with slashes (since they are visually better for debugging than
dots, hyphens or underscores, which may also occur inside
topic or server names).
Change-Id: I8e8e80f467404a87a2526c80c8fae6cba5880c6d
This patch fix incorrect fanout behavior when use_pub_sub=False.
In addition it also makes dummy matchmaker behave similar to (already
fixed here) redis one in order to make future testing more realistic
(relevant tests were also fixed and refactored).
Change-Id: Ie131de189972250ea2d9b99fe65b5908b7144569
Closes-Bug: #1622968
During rally tests it was discovered that the latency between
receiving message and dispatching it can reach up to 10 minutes.
This behaviour breaks the mechanism of acks and retries in zmq driver,
which causes test failures. This patch tries to fix these problems
by moving ack sending from rpc server's thread to zmq dealer
consumer's thread (immediately after message receiving).
Change-Id: If33d14006ffa947baf5c34c8b1f61f336432374f
In oslo_messaging/_drivers/impl_rabbit.py, the documentation of
the Consumer class is the following: """Init the Publisher class
with the exchange_name, routing_key, type, durable auto_delete""".
This should be corrected by putting Consumer instead of Publisher.
Closes-Bug: 1623550
Change-Id: I77d09aeb1268ed79590a8b02ab5bf370f3b72caf
Rework the inline documentation for executors, RPC servers and
clients, notifiers and notification listeners for clarity and flow.
Change-Id: If4f1db853a7fc85340177fd2c9c43a479d72459d
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
This patch makes message serialization in the pika driver
configurable.
Change-Id: Ib86cb91110aa89663a54afdd9932d60f6f45f585
Depends-On: Idb12666255a990dfc8f8ff6b43e941b3481b9c1c
This patch removes unused close_linger attribute. Even if this value
will be ever needed, it can always be obtained via getsockopt.
Change-Id: I30a6f0876836d77d7cbf700a8035d9341810b959
This patch makes zmq-driver-pollers work only with
zmq-driver-sockets since the lower-level zmq-socket class
have to be used only as an underlying implementation
for the higher-level zmq-driver-socket class.
Change-Id: Icb6fe89a3af7af6760b724a313ad2a7fb2a106c7
Closes-Bug: #1620543
When data[k] is None during match check, we are getting annoying
TypeError exceptions like: "TypeError: expected string or buffer".
This patch adds a check that data[k] is something the regex can do
matching.
Change-Id: I75c8f602a59a90aeb5a6973f2e9e25708194ad78
This patch renames the rpc_cast_timeout option, because it is
missleading and actually is only used as zmq.LINGER socket option.
Change-Id: Ia7b6fc1213280e93940b34b087ce0e3672d50304
This commit updates the setup environment for the driver functional
tests to support either a qpidd (broker) or qdrouterd (router)
backend.
This patch:
* configures and runs either qpidd or qdrouterd backend
* removes support of older qpidd versions
* skips batch notification test for qdrouterd backend
Change-Id: Ifcdc187bae4a28dd29c1faa73e239d7e4d77015d
Implements access_policy for dispatcher to restrict endpoint methods.
Implements the following access policies:
* LegacyRPCAccessPolicy
* DefaultRPCAccessPolicy
* ExplicitRPCAccessPolicy
* Implement decorator @rpc.expose for use with the
ExplicitRPCAccessPolicy
* Modify get_rpc_server to allow optional access_policy argument
* Set default access_policy to LegacyRPCAccessPolicy (Nova exposes
_associate_floating_ip in tempest tests). Added debtcollector
notification.
* Add test cases for access_policy=None
* Clarify documentation
Change-Id: I42239e6c8a8be158ddf5c3b1773463b7dc93e881
Closes-Bug: 1194279
Closes-Bug: 1555845
Explain difference in message acknowledgement for intermediary
types and relationship to use of batch notification.
Change-Id: I5877d143c55ae6ac23bf79856fef94e7b14cb722
is called
The interface of BaseDriver which is a super-class of each underlying
transport driver has been changed.
But the interface of kafka driver doens't follow up this change. So if a
user chose it as a transport driver, an exception of TypeError would be
occurred.
This change corrects the interface in kafka's driver along with the
BaseDriver's one.
Change-Id: Iedd069b7f083e2cbf377f4148411f77ad758f979
Closes-Bug: #1616755
If received message is malformed all it's parts should be skipped
at once, so we will not receive them on next iterations.
Change-Id: I5d95a46696ea3190a58c89c3b78eaf57911baa9e
Closes-Bug: #1617566
In this patch add documentation string for PikaDriver to let users
understand pika driver better.
Change-Id: I00293cf671ba74e8707abb2d4e47fa7a3f45a891
Implements: bp rabbit-pika