[
https://issues.apache.org/jira/browse/THRIFT-2441?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14394389#comment-14394389
]
Ben Craig commented on THRIFT-2441:
-----------------------------------
I approve of the direction of this patch.
I like that you split 'interruptServerAndChildren()' into the old 'interrupt()'
and 'interruptChildren()'. I think that's better than what I was suggesting
earlier. There is still one mention of 'interruptServerAndChildren()' in the
TServerSocket comments that you will want to fix, but in general, I'm happy
with how this has gone.
"I am also planning on taking the three per-client processing loops found in
TSimpleServer, TThreadedServer, and TThreadPoolServer and consolidating the
common code there (by adding a TConnectedClient class). This would have
simplified maintenance I needed to do on the three TServers, and will bring
consistency to the exception handling among them. This will be in the next
patch / pull request."
I think this is a good idea... but I would prefer it be in a different ticket
and patch. That will make it easier for me (and others) to review. When a
patch is intended to change behavior, I like to focus on the changes to
behavior. When a patch is intended to clean things up, I like to focus on how
behavior hasn't changed. Mixing the two gets rough.
> 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: Ben Craig
> Attachments: THRIFT-2441-prelim.patch
>
>
> 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)