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

        

Reply via email to