{"action":"created","issue":{"url":"https://api.github.com/repos/boto/boto3/issues/220","labels_url":"https://api.github.com/repos/boto/boto3/issues/220/labels{/name}","comments_url":"https://api.github.com/repos/boto/boto3/issues/220/comments","events_url":"https://api.github.com/repos/boto/boto3/issues/220/events","html_url":"https://github.com/boto/boto3/issues/220","id":103083560,"number":220,"title":"OpenSSL.SSL.SysCallError (32, EPIPE) should be retried","user":{"login":"kevin1024","id":21099,"avatar_url":"https://avatars.githubusercontent.com/u/21099?v=3","gravatar_id":"","url":"https://api.github.com/users/kevin1024","html_url":"https://github.com/kevin1024","followers_url":"https://api.github.com/users/kevin1024/followers","following_url":"https://api.github.com/users/kevin1024/following{/other_user}","gists_url":"https://api.github.com/users/kevin1024/gists{/gist_id}","starred_url":"https://api.github.com/users/kevin1024/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kevin1024/subscriptions","organizations_url":"https://api.github.com/users/kevin1024/orgs","repos_url":"https://api.github.com/users/kevin1024/repos","events_url":"https://api.github.com/users/kevin1024/events{/privacy}","received_events_url":"https://api.github.com/users/kevin1024/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/boto/boto3/labels/blocked","name":"blocked","color":"e11d21"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":6,"created_at":"2015-08-25T18:04:47Z","updated_at":"2016-01-14T00:04:02Z","closed_at":null,"body":"pyopenssl sometimes raises this error which should be retried.  Just means the TCP connection got cut off somehow.\r\n\r\n```\r\nTraceback (most recent call last):\r\n  File \"/var/apps/test/lib/getters/s3.py\", line 17, in get_dir_listing\r\n    return [object.key for object in s3.Bucket(self.bucket_name).objects.all()]\r\n  File \"/usr/local/lib/python2.7/dist-packages/boto3/resources/collection.py\", line 82, in __iter__\r\n    for page in self.pages():\r\n  File \"/usr/local/lib/python2.7/dist-packages/boto3/resources/collection.py\", line 165, in pages\r\n    for page in pages:\r\n  File \"/usr/local/lib/python2.7/dist-packages/botocore/paginate.py\", line 83, in __iter__\r\n    response = self._make_request(current_kwargs)\r\n  File \"/usr/local/lib/python2.7/dist-packages/botocore/paginate.py\", line 155, in _make_request\r\n    return self._method(**current_kwargs)\r\n  File \"/usr/local/lib/python2.7/dist-packages/botocore/client.py\", line 269, in _api_call\r\n    return self._make_api_call(operation_name, kwargs)\r\n  File \"/usr/local/lib/python2.7/dist-packages/botocore/client.py\", line 312, in _make_api_call\r\n    operation_model, request_dict)\r\n  File \"/usr/local/lib/python2.7/dist-packages/botocore/endpoint.py\", line 110, in make_request\r\n    return self._send_request(request_dict, operation_model)\r\n  File \"/usr/local/lib/python2.7/dist-packages/botocore/endpoint.py\", line 139, in _send_request\r\n    success_response, exception):\r\n  File \"/usr/local/lib/python2.7/dist-packages/botocore/endpoint.py\", line 203, in _needs_retry\r\n    caught_exception=caught_exception)\r\n  File \"/usr/local/lib/python2.7/dist-packages/botocore/hooks.py\", line 226, in emit\r\n    return self._emit(event_name, kwargs)\r\n  File \"/usr/local/lib/python2.7/dist-packages/botocore/hooks.py\", line 209, in _emit\r\n    response = handler(**kwargs)\r\n  File \"/usr/local/lib/python2.7/dist-packages/botocore/retryhandler.py\", line 183, in __call__\r\n    if self._checker(attempts, response, caught_exception):\r\n  File \"/usr/local/lib/python2.7/dist-packages/botocore/retryhandler.py\", line 250, in __call__\r\n    caught_exception)\r\n  File \"/usr/local/lib/python2.7/dist-packages/botocore/retryhandler.py\", line 265, in _should_retry\r\n    return self._checker(attempt_number, response, caught_exception)\r\n  File \"/usr/local/lib/python2.7/dist-packages/botocore/retryhandler.py\", line 313, in __call__\r\n    caught_exception)\r\n  File \"/usr/local/lib/python2.7/dist-packages/botocore/retryhandler.py\", line 222, in __call__\r\n    return self._check_caught_exception(attempt_number, caught_exception)\r\n  File \"/usr/local/lib/python2.7/dist-packages/botocore/retryhandler.py\", line 355, in _check_caught_exception\r\n    raise caught_exception\r\nOpenSSL.SSL.SysCallError: (32, 'EPIPE')\r\n```\r\n\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/boto/boto3/issues/comments/171477361","html_url":"https://github.com/boto/boto3/issues/220#issuecomment-171477361","issue_url":"https://api.github.com/repos/boto/boto3/issues/220","id":171477361,"user":{"login":"Schweigi","id":1357884,"avatar_url":"https://avatars.githubusercontent.com/u/1357884?v=3","gravatar_id":"","url":"https://api.github.com/users/Schweigi","html_url":"https://github.com/Schweigi","followers_url":"https://api.github.com/users/Schweigi/followers","following_url":"https://api.github.com/users/Schweigi/following{/other_user}","gists_url":"https://api.github.com/users/Schweigi/gists{/gist_id}","starred_url":"https://api.github.com/users/Schweigi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Schweigi/subscriptions","organizations_url":"https://api.github.com/users/Schweigi/orgs","repos_url":"https://api.github.com/users/Schweigi/repos","events_url":"https://api.github.com/users/Schweigi/events{/privacy}","received_events_url":"https://api.github.com/users/Schweigi/received_events","type":"User","site_admin":false},"created_at":"2016-01-14T00:04:02Z","updated_at":"2016-01-14T00:04:02Z","body":"@hrez as a workaround you could disable the `pyopenssl` integration of `urllib3` in `botocore`:\r\n\r\n```\r\ntry:\r\n    from botocore.vendored.requests.packages.urllib3.contrib import pyopenssl\r\n    pyopenssl.extract_from_urllib3()\r\nexcept ImportError:\r\n    pass\r\n```"}}