yandex / yandex-tank

Load and performance benchmark tool

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

BFG: MonkeyPatch GEvent приводит к рекурсивному импорту ssl

anasekin opened this issue · comments

В случае запуска 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)