Merge "Logical error in blockless fanout of zmq"

This commit is contained in:
Jenkins 2014-04-22 13:55:24 +00:00 committed by Gerrit Code Review
commit 06ab616d8f

@ -741,17 +741,18 @@ def _multi_send(method, context, topic, msg, timeout=None,
raise rpc_common.Timeout(_("No match from matchmaker.")) raise rpc_common.Timeout(_("No match from matchmaker."))
# This supports brokerless fanout (addresses > 1) # This supports brokerless fanout (addresses > 1)
return_val = None
for queue in queues: for queue in queues:
(_topic, ip_addr) = queue _topic, ip_addr = queue
_addr = "tcp://%s:%s" % (ip_addr, conf.rpc_zmq_port) _addr = "tcp://%s:%s" % (ip_addr, conf.rpc_zmq_port)
if method.__name__ == '_cast': if method.__name__ == '_cast':
eventlet.spawn_n(method, _addr, context, eventlet.spawn_n(method, _addr, context,
_topic, msg, timeout, envelope, _topic, msg, timeout, envelope, _msg_id)
_msg_id) else:
return return_val = method(_addr, context, _topic, msg, timeout, envelope)
return method(_addr, context, _topic, msg, timeout,
envelope, allowed_remote_exmods) return return_val
def create_connection(conf, new=True): def create_connection(conf, new=True):