[
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)