BFG: MonkeyPatch GEvent приводит к рекурсивному импорту ssl
anasekin opened this issue · comments
anasekin commented
В случае запуска yandex-tank с конфигом:
phantom:
enabled: false
bfg:
enabled: true
ammofile: ./ammo.txt
instances: 1
worker_type: green
green_threads_per_instance: 1
gun_type: ultimate
gun_config:
module_path: ./
module_name: single_request_test
class_name: SingleRequestTest
pip: >
requests
load_profile:
load_type: instances
schedule: const(1, 1m)
ломается импорт requests, в консоли:
/tank/yandextank/plugins/Bfg/worker.py:200: MonkeyPatchWarning: Monkey-patching ssl after ssl has already been imported may lead to errors, including RecursionError on Python 3.6. It may also silently lead to incorrect behaviour on Python 3.7. Please monkey-patch earlier. See https://github.com/gevent/gevent/issues/1016. Modules that had direct imports (NOT patched): ['urllib3.util.ssl_ (/usr/local/lib/python3.10/site-packages/urllib3/util/ssl_.py)', 'urllib3.util (/usr/local/lib/python3.10/site-packages/urllib3/util/__init__.py)', 'pip._vendor.urllib3.util.ssl_ (/usr/local/lib/python3.10/site-packages/pip/_vendor/urllib3/util/ssl_.py)', 'pip._vendor.urllib3.util (/usr/local/lib/python3.10/site-packages/pip/_vendor/urllib3/util/__init__.py)'].
monkey.patch_all(thread=False, select=False)