Rpc and api green thread in neutron server fail to restart worker

Bug #1384580 reported by Xurong Yang
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
oslo-incubator
Won't Fix
Medium
Xurong Yang

Bug Description

When neutorn server starts, it will spawn two green threads for rpc and api. If multi rpc workers and api workers are configured, each green thread will fork several child processes to handle the requests, then os.waitpid(0, os.WNOHANG) is called so if one child process exits, it can restart the child process to guarantee the number of running workers.

Here comes the problem, both rpc and api green thread will maintain a list of pid of the child processes they fork, only when the pid return from os.waitpid is in the list, the child process will be restarted. But since rpc and api green thread are in the same parent process, there is one scenario that rpc green thread get a pid from os.waitpid which is forked by api green thread, of course this pid is not in the pid list of rpc green thread, so it will not restart the child process and there is no chance the child process can be restarted.

Xurong Yang (idopra)
Changed in neutron:
assignee: nobody → Xurong Yang (idopra)
Changed in neutron:
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on neutron (master)

Change abandoned by Armando Migliaccio (<email address hidden>) on branch: master
Review: https://review.openstack.org/130707
Reason: As per Oleg, comment this is dead in the water

Changed in neutron:
status: In Progress → New
Xurong Yang (idopra)
affects: neutron → oslo-incubator
Changed in neutron:
assignee: nobody → Xurong Yang (idopra)
Revision history for this message
Eugene Nikanorov (enikanorov) wrote :

Removing neutron as the fix should be applied to another project

no longer affects: neutron
Revision history for this message
Julien Danjou (jdanjou) wrote :

Any reason the patch has not been reproposed to oslo-incubator instead?

Changed in oslo-incubator:
status: New → Triaged
importance: Undecided → Medium
Changed in oslo-incubator:
status: Triaged → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.