[ 
https://issues.apache.org/jira/browse/THRIFT-2441?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14388513#comment-14388513
 ] 

Ben Craig commented on THRIFT-2441:
-----------------------------------

TServerSocket's pattern is basically what I had in mind for the client sockets. 
 There are a number of ways that a control socket could be plumbed through, and 
the way you mention sounds reasonable.

The tricky aspect is the performance degradation.  It seems like there should 
be some option / choice made by the client as to whether they want prompt 
teardown, or whether they would prefer faster reads and writes.  One way this 
could be approached is by having a different transport class handle one of the 
cases.  It could also be handled by a different TServerSocket constructor.

> Cannot shutdown TThreadedServer when clients are still connected
> ----------------------------------------------------------------
>
>                 Key: THRIFT-2441
>                 URL: https://issues.apache.org/jira/browse/THRIFT-2441
>             Project: Thrift
>          Issue Type: Bug
>          Components: C++ - Library
>    Affects Versions: 0.9.1
>            Reporter: Chris Stylianou
>            Assignee: Roger Meier
>
> When calling stop() on the TThreadedServer no interrupts are sent to the 
> client threads. This means the stop() call blocks on tasksMonitor.wait() 
> until all client naturally disconnect.
> How can we tell the client thread connections to close/exit during the 
> TThreadedServer::stop() call?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to