You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2014/12/17 01:39:13 UTC

[jira] [Commented] (THRIFT-2900) Python THttpClient does not reset socket timeout on exception

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

ASF GitHub Bot commented on THRIFT-2900:
----------------------------------------

GitHub user sectioneight opened a pull request:

    https://github.com/apache/thrift/pull/322

    THRIFT-2900 Wrap Python THttpClient withTimeout in a try/finally

    Otherwise the original value of the socket timeout is not restored
    properly.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/sectioneight/thrift THRIFT-2900

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/thrift/pull/322.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #322
    
----
commit a8ee0b14e943a1faf32bd20378a0784175ba6a00
Author: Aiden Scandella <ai...@uber.com>
Date:   2014-12-17T00:37:06Z

    Wrap THttpClient withTimeout in a try/finally
    
    Otherwise the original value of the socket timeout is not restored
    properly.

----


> Python THttpClient does not reset socket timeout on exception
> -------------------------------------------------------------
>
>                 Key: THRIFT-2900
>                 URL: https://issues.apache.org/jira/browse/THRIFT-2900
>             Project: Thrift
>          Issue Type: Bug
>          Components: Python - Library
>    Affects Versions: 0.9.2
>            Reporter: Aiden Scandella
>
> https://git-wip-us.apache.org/repos/asf?p=thrift.git;a=blob;f=lib/py/src/transport/THttpClient.py;h=ea80a1ae875865a297a7b14dad15757e3933284f;hb=HEAD#l106
>  102   def __withTimeout(f):
>  103     def _f(*args, **kwargs):
>  104       orig_timeout = socket.getdefaulttimeout()
>  105       socket.setdefaulttimeout(args[0].__timeout)
>  106       result = f(*args, **kwargs)
>  107       socket.setdefaulttimeout(orig_timeout)
>  108       return result
>  109     return _f
> if {{f}} raises, the default timeout is not reset. Should be wrapped in a {{try}}/{{finally}}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)