rpc.(multi)call has no timeout waiting for responses

Bug #843200 reported by Chris Behrens on 2011-09-06
This bug affects 3 people
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Russell Bryant

Bug Description

When nova does an rpc.call/multicall, it generates a unique queue for a response and waits forever to receive this response.

If the daemon that consumed the 'call' request is restarted in the middle of processing the request (post-ACKing the amqp message), the processing of the request would be killed and not restarted upon daemon restart. This means that it would never put a message in the response queue for the caller. This leaves the initial caller waiting forever, blocking a greenthread and holding an RPC connection out of the pool.

Thierry Carrez (ttx) on 2011-09-07
Changed in nova:
importance: Undecided → Medium
status: New → Confirmed

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

Changed in nova:
assignee: nobody → Russell Bryant (russellb)
status: Confirmed → In Progress

Reviewed: https://review.openstack.org/3628
Committed: http://github.com/openstack/nova/commit/e0c59afc6dca4c6cf737e6e5d24da3415c258090
Submitter: Jenkins
Branch: master

commit e0c59afc6dca4c6cf737e6e5d24da3415c258090
Author: Russell Bryant <email address hidden>
Date: Wed Feb 1 11:32:35 2012 -0500

    Don't block forever for rpc.(multi)call response.

    Fix bug 843200.

    This patch adds a timeout for waiting for a response from rpc.call or
    rpc.multicall instead of blocking for forever.

    Change-Id: I5675597c7e9f3d55170837859ec516cb1c806ca3

Changed in nova:
status: In Progress → Fix Committed
Changed in nova:
milestone: none → essex-4
Thierry Carrez (ttx) on 2012-02-29
Changed in nova:
status: Fix Committed → Fix Released
Thierry Carrez (ttx) on 2012-04-05
Changed in nova:
milestone: essex-4 → 2012.1
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers