Oslo - a Library of Common OpenStack Code

oslo-zmq-receiver hangs if receiving message for topic not locally consumed

Reported by Eric Windisch on 2013-01-09
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Eric Windisch
Eric Windisch

Bug Description

The oslo-zmq-receiver process is intended to, per-host, forward messages to local topic consumers. If a message is sent to a host for a topic for which that host has no consumers, the oslo-zmq-receiver process will stall.

Typically, this should not happen, but it may happen through intentional maliciousness, through a race-condition in the sense that a service stops consuming but other hosts still believe it to be alive (such as through a scheduler), or when using bad/old entries in a matchmaker lookup.

Changed in oslo:
assignee: nobody → Eric Windisch (ewindisch)

Fix proposed to branch: master
Review: https://review.openstack.org/19312

Changed in oslo:
status: New → In Progress
Mark McLoughlin (markmc) on 2013-01-12
Changed in oslo:
importance: Undecided → Medium

Reviewed: https://review.openstack.org/19312
Committed: http://github.com/openstack/oslo-incubator/commit/ab043101589a9167357ca317ca610a3f4144747c
Submitter: Jenkins
Branch: master

commit ab043101589a9167357ca317ca610a3f4144747c
Author: Eric Windisch <email address hidden>
Date: Wed Jan 9 12:30:47 2013 -0500

    zmq-receiver msg forwarding in greenthreads

    Because PUSH sockets can block and there
    may not be PULL consumers, the oslo-zmq-receiver
    process may stall in certain senarios.

    Improves error handling in ZmqProxy.

    This addresses bug 1097856.

    Additionally, this bug seems to improve
    (but not necessarily fix) the behavior
    reported in bug 1065532.

    Change-Id: I6df6035a6676c5bcdddaec7a332ac77e621ba9f3

Changed in oslo:
status: In Progress → Fix Committed
Thierry Carrez (ttx) on 2013-02-21
Changed in oslo:
milestone: none → grizzly-3
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers