diff --git a/HISTORY.rst b/HISTORY.rst index 02af67d..eef9acd 100644 --- a/HISTORY.rst +++ b/HISTORY.rst @@ -2,6 +2,10 @@ Release History =============== +0.0.9 (2017-05-09) +------------------ +* Enforce basic SSL utilization to ensure performance due to `GitHub issue 625 ` + 0.0.8 (2017-04-26) ------------------ * Fix server-side throttling retry support. This is not a guarantee that if the server is throttling the upload (or download) it will eventually succeed, but there is now a back-off retry in place to make it more likely. diff --git a/azure/datalake/store/__init__.py b/azure/datalake/store/__init__.py index 495438f..4298576 100644 --- a/azure/datalake/store/__init__.py +++ b/azure/datalake/store/__init__.py @@ -6,7 +6,7 @@ # license information. # -------------------------------------------------------------------------- -__version__ = "0.0.8" +__version__ = "0.0.9" from .core import AzureDLFileSystem from .multithread import ADLDownloader diff --git a/azure/datalake/store/lib.py b/azure/datalake/store/lib.py index 81a29ea..de5e1cc 100644 --- a/azure/datalake/store/lib.py +++ b/azure/datalake/store/lib.py @@ -25,6 +25,21 @@ import requests import requests.exceptions +# this is required due to github issue, to ensure we don't lose perf from openPySSL: https://github.com/pyca/pyopenssl/issues/625 +enforce_no_py_open_ssl = None +try: + from requests.packages.urllib3.contrib.pyopenssl import extract_from_urllib3 as enforce_no_py_open_ssl +except ImportError: + # in the case of debian/ubuntu system packages, the import is slightly different + try: + from urllib3.contrib.pyopenssl import extract_from_urllib3 as enforce_no_py_open_ssl + except ImportError: + # if OpenSSL is unavailable in both cases then there is no need to "undo" it. + pass + +if enforce_no_py_open_ssl: + enforce_no_py_open_ssl() + from msrest.authentication import Authentication from .exceptions import DatalakeBadOffsetException, DatalakeRESTException from .exceptions import FileNotFoundError, PermissionError