[ 
https://issues.apache.org/jira/browse/THRIFT-4600?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16793631#comment-16793631
 ] 

Alexander Korkov commented on THRIFT-4600:
------------------------------------------

I have a problem for python client on windows hosts.

Python client doesn't  reuse sockets.
Very frequent requests (several hundred per second) lead to a limit on the 
number of user ports. For OS Windows the limit is about 16 thousand ports and 
this problem is critical.

This problem can be solved by removing these lines from the flush function.

But then there is a problem in the *oneway* tests.
I assume that tests fail because the implementation of *oneway* functions for 
python client is not correct.

> Don't close the connection in flush for python THttpClient.py
> -------------------------------------------------------------
>
>                 Key: THRIFT-4600
>                 URL: https://issues.apache.org/jira/browse/THRIFT-4600
>             Project: Thrift
>          Issue Type: Bug
>          Components: Python - Library
>    Affects Versions: 0.11.0
>            Reporter: Finn Isaac Norris Colman
>            Priority: Major
>         Attachments: 1572.patch
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> In thrift/lib/py/src/transport/THttpClient.py in the flush method it closes 
> and reopens the connection:
> {noformat}
> if self.isOpen():
>     self.close()
> self.open(){noformat}
>  
> This code is closing the connection on every flush request. The flush request 
> occurs for every message send, which means that keep alive cannot be used. 
> Removing this code from flush means that keep alive can be used as the user 
> now has control over when the connection is closed.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to