yandex/odyssey

При запуске пачки сессий половина отваливается по ошибке в версии 1.3

nsvintsov-github opened this issue · 3 comments

Всем привет
При запуске 90 сессий одновременно только 20-30 остается активными остальные отваливаются с ошибкой, настройка pool_size=80, количество отвалившихся и активных сессий всегда разное.
Для тестирования запускаю скрипт в котором в цикле запускаю 90 сессий psql.
Версия Odyssey 1.3, версия постгрес 13.3
Спасибо

Ошибка генерилась такая:
2735 2022-09-27T15:40:53Z error [c6c853c6cfe40 s59d3b04e3066] (main) ERROR 57014 canceling statement due to user request
2735 2022-09-27T15:40:53Z error [ce933fd40433f s2ebc6930175a] (main) ERROR 57014 canceling statement due to user request

Личные наблюдения следующие - в бд max_connections = 100, в тот момент в бд работает порядка 10-15 сессий. Я запускаю 90 с расчетом что 80 (pool_size=80, workers=9) будут работать и 10 станут в очередь. После запуска пачки сессий через 5 сек. большая часть отваливается по ошибке.

И odyssey и postgresql работают в отдельных контейнерах докера. Есть мнение что такая ошибка возникает когда количетсов сессий (обращаю внимание не pool_size - он меньше) + количество активных сессий больше max_connections.
Не удалось получить ошибку когда получаемое количество сессий меньше max_connections.

иногда для воспроизведения ошибки запускаю пачку сессий через скрипт и через 2 секунды их убиваю через pkill psql, видимо это приводит odyssey в не стабильное состояние, что следующий запуск и все последющие сессий уже отваливаются с ошибками