[ 
https://issues.apache.org/jira/browse/THRIFT-2274?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Thomas Kielbus updated THRIFT-2274:
-----------------------------------

    Attachment: thrift-2274.patch

> TNonblockingServer and TThreadedSelectorServer do not close their channel 
> selectors on exit and leak file descriptors
> ---------------------------------------------------------------------------------------------------------------------
>
>                 Key: THRIFT-2274
>                 URL: https://issues.apache.org/jira/browse/THRIFT-2274
>             Project: Thrift
>          Issue Type: Bug
>          Components: Java - Library
>            Reporter: Thomas Kielbus
>         Attachments: thrift-2274.patch
>
>
> TNonblockingServer and TThreadedSelectorServer do not close their  channel 
> selectors on exit and do not release all ressources.
> This is an issue especially when such server implementations are started and 
> stopped repeatedly within the same JVM. In our use case, we see hundreds of 
> file descriptors being leaked on each Thrift server restart. We hit the OS 
> limit on the number of open files pretty quickly.
> The attached patch fixes the issue by simply calling Selector.close() when 
> the relevant select threads exit (TNonBlockingServer::SelectAcceptThread, 
> TThreadedSelectorServer::SelectorThread, 
> TThreadedSelectorServer::AcceptThread)



--
This message was sent by Atlassian JIRA
(v6.1#6144)

Reply via email to