- Issued:
- 2014-07-02
- Updated:
- 2014-07-02
RHBA-2014:0832 - Bug Fix Advisory
Synopsis
Red Hat Enterprise MRG Messaging 2 update
Type/Severity
Bug Fix Advisory
Red Hat Lightspeed patch analysis
Identify and remediate systems affected by this advisory.
Topic
Updated Messaging component packages that fix multiple bugs are now available
for Red Hat Enterprise MRG 2 for Red Hat Enterprise Linux 7.
Description
Red Hat Enterprise MRG (Messaging, Realtime, and Grid) is a next-generation IT
infrastructure for enterprise computing. MRG offers increased performance,
reliability, interoperability, and faster computing for enterprise customers.
MRG Messaging is a high-speed reliable messaging distribution for Linux based on
AMQP (Advanced Message Queuing Protocol).
This update fixes multiple bugs described below. All users of the Messaging
capabilities of Red Hat Enterprise MRG 2.3 are advised to upgrade to these
updated packages, which resolve the issues. After installing the updated
packages, stop the cluster by either running "service qpidd stop" on all nodes,
or "qpid-cluster --all-stop" on any one of the cluster nodes. Once stopped,
restart the cluster with "service qpidd start" on all nodes for the update to
take effect.
BZ#807670
Previously, the qpid-python client used select() to manage file descriptors. A
known limitation with select() caused issues for processes that opened more than
1024 files. If qpid-python allocated a descriptor beyond 1024, the call to
select() would fail and the connection would drop. Now, qpid-python uses poll()
instead of select(), removing the numerical file descriptor limitation.
BZ# 1079260
A bug in the code caused statistics for Last Value Queues to be misreported by
the Qpid Management Framework (QMF). The code was modified, and QMF now
correctly reports the statistics for LVQ queues.
BZ#1098314
A queue with the same name as an exchange made the exchange inaccessible to the
qpid-python client. With this release, the python client now reliably sends to
either a queue or exchange when they share the same name. The queue is preferred
by default, and the exchange is indicated by specifying that the node type is
topic, like so: spout 'foo; {node:{type:topic}}'
BZ#1088004
Previously, the python client decode routines expected a multi-frame command to
be received in sequence, with no interleaving. Some valid AMQP sequences with
interleaved heartbeats sent on different protocol tracks caused a decode error
in the python client library. Now, decode routines in the python client take
into account multiple protocol tracks.
BZ#1102040
Previously, the neutron messaging client rewrote (by method of
"monkey-patching") the python selector module to support eventlet threading. The
rewritten client did not update select.poll() during this process, which is used
by qpid-python to manage I/O. This resulted in poll() deadlocks and neutron
server hangs. The fix introduces updates to the qpid-python library that avoid
calling poll() if eventlet threading is detected. Instead, the eventlet-aware
select() is called, which prevents deadlocks from occurring and corrects the
originally reported issue.
BZ#1103094
It was discovered that a concurrent bind and delete on a queue could leave a
binding in place, even though the queue was no longer accessible. Additionally,
the queue lock was held when cancelling the auto-delete timer task. These
factors caused memory usage to climb, and holding the lock while cancelling a
timer could also result in a deadlock. Threads are now coordinated to ensure a
concurrent bind and delete removes all bindings when a queue reaches the deleted
state, and the timer task is canceled outside the lock scope. This ensures no
deadlocks or memory leaks when attempting to re-bind a queue that is being
auto-deleted by a timer.
BZ#1098606
Previously, the Selector class instantiated a single global instance of itself.
If an application using the selector call forked, the parent and child processes
shared the Selector's open file descriptors, which ultimately led to the broker
connections failing. The fix changes the behavior of the Selector from
singleton, to singleton per process. When the forked child process attempts to
use the Selector, the process creates its own set of file descriptors separate
to the parent process. The new behavior corrects the originally reported issue.
Solution
Before applying this update, make sure all previously released errata
relevant to your system have been applied.
This update is available via the Red Hat Network. Details on how to
use the Red Hat Network to apply this update are available at
https://access.redhat.com/site/articles/11258
Affected Products
- Red Hat Enterprise MRG Messaging 2 for RHEL 7 x86_64
Fixes
- BZ - 1088004 - heartbeat interleaved with message frames causes decode error
- BZ - 1102040 - neutron-server gets stuck in poll python-qpid 0.18
CVEs
(none)
Red Hat Enterprise MRG Messaging 2 for RHEL 7
| SRPM | |
|---|---|
| libdb-5.3.21-17.el7.src.rpm | SHA-256: ed08f71d38ae9991a2d87530e82c2f6897d3690d64ab9994d0091bb283998943 |
| python-qpid-0.18-12.el7.src.rpm | SHA-256: e4fc588b267f09bddf8fb0f025a5de73ca494d0ded831b9b5bbc2f8544def2bb |
| qpid-cpp-0.18-25.el7.src.rpm | SHA-256: d6d1e0d2607a890702480186dfaffdc7c53c49227859c29fe7bdc7017f13cf77 |
| qpid-qmf-0.18-24.el7.src.rpm | SHA-256: 71256fc4f32d62d7e3e8303216ad2a23ca734bbfd73b18714d7d0b5c2239a1b5 |
| qpid-tests-0.18-2.el7.src.rpm | SHA-256: 751d7c1ac4c7004fe1a35b1dd3234c59355c510e81512e5e8ad7a7debac5a3b9 |
| qpid-tools-0.18-10.el7.src.rpm | SHA-256: 230968b1532180cfe197b616b95925b3c3987e748e465907252505f2ac0524d9 |
| saslwrapper-0.18-1.el7.src.rpm | SHA-256: 04307690b58792724b01625ea485f6f385fdae5cccefee44be2d2b8b84b566dd |
| x86_64 | |
| libdb-cxx-5.3.21-17.el7.x86_64.rpm | SHA-256: 40f160997d4e34166cb59c78371fdcbae060b460036f7d8477f40feac890769f |
| libdb-cxx-devel-5.3.21-17.el7.x86_64.rpm | SHA-256: 589a76a58ccf425e638655fd4d8ab7c69eb591dd3d3c5229a05c7c876b055d39 |
| libdb-debuginfo-5.3.21-17.el7.x86_64.rpm | SHA-256: db071b0b59802b69cc10875a469349e45e92040ba7e6562072a031c373a218fc |
| python-qpid-0.18-12.el7.noarch.rpm | SHA-256: 1f804f205381635f804a85d49239a7cda91ce79b17867e668a8870c82fcd3a46 |
| python-qpid-qmf-0.18-24.el7.x86_64.rpm | SHA-256: 6e1ed62459ee48cbbd4adeffb3ee38e9b4acadfc010554108f015cf3789cb37d |
| python-saslwrapper-0.18-1.el7.x86_64.rpm | SHA-256: 024e07da8e9b536309504a06aca35fb8764a54f9cbd87d78765bbd7b718238a2 |
| qpid-cpp-client-0.18-25.el7.x86_64.rpm | SHA-256: 1037951e9124dfcb21bcc5e08edfa2f89140b2cd3ab7605bbe4b0485c8ec2990 |
| qpid-cpp-client-devel-0.18-25.el7.x86_64.rpm | SHA-256: 135f2a7c8338426d49f37339caf63baf31c6b63f95e250e6c94c356ec9198320 |
| qpid-cpp-client-devel-docs-0.18-25.el7.noarch.rpm | SHA-256: ae94d19a4848e5674a53734daf290b475fed0c72744186b9f378d27659b15740 |
| qpid-cpp-client-rdma-0.18-25.el7.x86_64.rpm | SHA-256: b249b8ff7299941a6924f811393540c3477097cdf44401e27eba79ce9d9c7c4c |
| qpid-cpp-client-ssl-0.18-25.el7.x86_64.rpm | SHA-256: 420b740a33631554e609e31679e4ab7505c94787969077d0f3487c41982c3ed8 |
| qpid-cpp-debuginfo-0.18-25.el7.x86_64.rpm | SHA-256: d32a08fdb4a754b2a0dde17b0b7236a3e08a0b73c53bfa62160dd347316acdeb |
| qpid-cpp-server-0.18-25.el7.x86_64.rpm | SHA-256: 2f38cfedeb13e6be85f9b97e42cc34428b161d10d620c7b9d19543d652756374 |
| qpid-cpp-server-cluster-0.18-25.el7.x86_64.rpm | SHA-256: dc06b25cd3b8ad1ad09119a66498d67319a008e6983dba13c7b4e2c2840a83d7 |
| qpid-cpp-server-devel-0.18-25.el7.x86_64.rpm | SHA-256: be0b0a4ea5b2fee090c304e52a7099810a17d8af0744465d61ea3edd281b47ec |
| qpid-cpp-server-rdma-0.18-25.el7.x86_64.rpm | SHA-256: 1753142c52463350ceacbcc30683fb4cd9da5080602d9431d8f55064846b6692 |
| qpid-cpp-server-ssl-0.18-25.el7.x86_64.rpm | SHA-256: 30348fe826b672ba2a4eaed0ddf2a67a99ca99c18c63fd4b07b740c1b7990bae |
| qpid-cpp-server-store-0.18-25.el7.x86_64.rpm | SHA-256: 9c2d010700e04d3f12a089c9f3df0f472c56c873d8d9c68920bb7ff6edd9084f |
| qpid-qmf-0.18-24.el7.x86_64.rpm | SHA-256: fde802b6a4c8167184ee99c96d12f2bdfe1962d9406c1b59a4c8f9f1f3a05e70 |
| qpid-qmf-debuginfo-0.18-24.el7.x86_64.rpm | SHA-256: 82c424f1740d64a195bc36421f792abd29d77791728fd4aae3e0e298700418fd |
| qpid-qmf-devel-0.18-24.el7.x86_64.rpm | SHA-256: 16e4e66f15278f3e55b8864e3d17a8d46ab88e21de3dcda6a6eb56ffe3fa76f8 |
| qpid-tests-0.18-2.el7.noarch.rpm | SHA-256: 3d6a868ecc73ec159750bc90104f075db5abab732f67493f75666d9cf0acbd25 |
| qpid-tools-0.18-10.el7.noarch.rpm | SHA-256: 683280dc515828580bdd135cfba86754ed7c440a19d6cc1d7533d9f7fa43b6ef |
| ruby-qpid-qmf-0.18-24.el7.x86_64.rpm | SHA-256: 77ab96d0cd253a15060e2eac2cb7ce83f3bd38589c1a5b6249e721605c667d0a |
| ruby-saslwrapper-0.18-1.el7.x86_64.rpm | SHA-256: 6c17cc1e75c624521f7ab61ab3c7c9b0a5757475cec3719d8e6976c197e32eae |
| saslwrapper-0.18-1.el7.x86_64.rpm | SHA-256: 6bd7e0a7f0d61f0bc3110761d5009ab02fb541e2adedbce7c27890e42d94816a |
| saslwrapper-debuginfo-0.18-1.el7.x86_64.rpm | SHA-256: dcdd331a77b47358d11da6ea2443646abc433f078ba4cbbd296bf5a3d801b93f |
| saslwrapper-devel-0.18-1.el7.x86_64.rpm | SHA-256: eabb0b9e336c819fa6f318bc12d4cc782b130ba07f7ab99bb91eb068160514dc |
The Red Hat security contact is secalert@redhat.com. More contact details at https://access.redhat.com/security/team/contact/.