Native threads (tpool.execute) not working on child process
Bug #1983949 reported by
Gorka Eguileor
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
oslo.service |
Fix Released
|
High
|
Gorka Eguileor |
Bug Description
When the parent process used eventlet tpool to run code in native threads then anything the child tries to run in a native thread will hang forever.
The reason for that is that the parent has initialize the pool of threads and use a flag to mark that it has been initialized, and when the child is forked then it will have the flag saying that it has been initialized and expects the threads to be running, but they are not. So there is no thread to pick up the job when a greenlet queues the job, so the greenthread waits forever to get the result of the operation.
After forking the child needs to tell eventlet's tpool that it is not really initialized.
Changed in oslo.service: | |
assignee: | nobody → Gorka Eguileor (gorka) |
Changed in oslo.service: | |
importance: | Undecided → High |
To post a comment you must log in.
Fix proposed to branch: master /review. opendev. org/c/openstack /oslo.service/ +/852450
Review: https:/