[
https://issues.apache.org/jira/browse/THRIFT-2789?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14234633#comment-14234633
]
Hudson commented on THRIFT-2789:
--------------------------------
SUCCESS: Integrated in Thrift #1385 (See
[https://builds.apache.org/job/Thrift/1385/])
THRIFT-2789 TNonblockingServer leaks socket FD's under load (jensg: rev
fb05cf67db2d9515186acb94aa41160d2a1281fc)
* lib/cpp/src/thrift/concurrency/ThreadManager.cpp
* lib/cpp/src/thrift/server/TNonblockingServer.cpp
> TNonblockingServer leaks socket FD's under load
> -----------------------------------------------
>
> Key: THRIFT-2789
> URL: https://issues.apache.org/jira/browse/THRIFT-2789
> Project: Thrift
> Issue Type: Bug
> Components: C++ - Library
> Reporter: Sergey
> Assignee: Jens Geyer
> Fix For: 0.9.3
>
> Attachments:
> 0001-Close-connection-when-failed-to-notify-IO-thread.patch, D10015.diff,
> THRIFT-2789-TNonblockingServer-leaks-socket-FD-s-und.patch
>
>
> I checked 0.9.2 and 1.0, but code didn't seem to change in 1.2 either.
> Problem is that network threads and worker threads use non-blocking socket
> (pipe) to communicate. Under heavy load writes to that pipe might fail with
> EAGAIN. While 'notifyIOThread' method carefully checks for the error and
> communicates the result via return value, not all callers check result of
> 'notify'.
> Generally it's hard to tell what appropriate handling of such a failure would
> be, but it's clear sockets shouldn't leak. Please use attached patch for the
> reference, but I do not insist what I did there is the best way to fix the
> problem.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)