You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Jonathan Kaczynski (JIRA)" <ji...@apache.org> on 2012/05/29 17:48:23 UTC
[jira] [Created] (THRIFT-1617) TProcessPoolServer does not shutdown
cleanly
Jonathan Kaczynski created THRIFT-1617:
------------------------------------------
Summary: TProcessPoolServer does not shutdown cleanly
Key: THRIFT-1617
URL: https://issues.apache.org/jira/browse/THRIFT-1617
Project: Thrift
Issue Type: Bug
Components: Python - Library
Affects Versions: 0.8
Environment: linux, but I assume all
Reporter: Jonathan Kaczynski
I haven't been able to get TProcessPoolServer to shutdown cleanly.
I tried stopping TProcessPoolServer in the finally clause of a try-block around server.serve(), [https://gist.github.com/2828980], but the child processes became orphaned.
Then, I tried using the code from the test I found, http://svn.apache.org/repos/asf/thrift/trunk/test/py/TestServer.py, but the processes still didn't terminate: https://gist.github.com/2829045
I commented on THRIFT-1083, and Dvir responded with an updated version of TProcessPoolServer.py: [THRIFT-1083|https://issues.apache.org/jira/browse/THRIFT-1083?focusedCommentId=13280566&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13280566]. Here's how I'm using it: https://gist.github.com/2771144
I'm sending the parent process the TERM signal, and noticed two issues:
1. The child processes won't terminate until they have attempted to field a request. If server.stop() is called before it has fielded a request, the child process will continue running until it services a request and then it will shutdown.
2. The parent process never shuts down.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira