thrift-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <>
Subject [jira] [Commented] (THRIFT-4431) Repetitive use of HTTPClientTransport causes "Errno::EMFILE: Failed to open TCP connection"
Date Thu, 05 Apr 2018 09:39:00 GMT


ASF GitHub Bot commented on THRIFT-4431:

lompy closed pull request #1447: THRIFT-4431 Ruby library: Finish http connection after flush
in http client

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git a/lib/rb/lib/thrift/transport/http_client_transport.rb b/lib/rb/lib/thrift/transport/http_client_transport.rb
index c9c4fec8d8..38cb46675f 100644
--- a/lib/rb/lib/thrift/transport/http_client_transport.rb
+++ b/lib/rb/lib/thrift/transport/http_client_transport.rb
@@ -52,6 +52,7 @@ def flush
       @inbuf = data
       @outbuf = Bytes.empty_byte_buffer
+      http.finish


This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:

> Repetitive use of HTTPClientTransport causes "Errno::EMFILE: Failed to open TCP connection"
> -------------------------------------------------------------------------------------------
>                 Key: THRIFT-4431
>                 URL:
>             Project: Thrift
>          Issue Type: Bug
>          Components: Ruby - Library
>    Affects Versions: 0.10.0, 0.11.0
>            Reporter: Roman Charushin
>            Priority: Major
>             Fix For: 0.10.0, 0.11.0
> Repetitive calls to the clients initiated with the HTTPClientTransport causes "Errno::EMFILE:
Failed to open TCP connection" error due to too many open files. And the reason is that each
time client is called new http connection is created at each flush and is never finished after,
holding the file descriptors to tcp connection files.
> In order to solve this HTTP#finish should be called in ensure block of HTTPClientTransport#flush.

This message was sent by Atlassian JIRA

View raw message