Openshift + Docker, Apache, mod_wsgi - усеченные или увеличенные заголовки ответа, полученные от процесса демона (cx_ oracle query) - PullRequest
0 голосов
/ 28 мая 2020

Наша команда уже несколько месяцев пытается решить эту проблему, и мы в растерянности. Вот базовое c описание нашей настройки:

У нас есть сервер приложений, написанный на Python, который запрашивает в базе данных Oracle точки данных (запросы могут легко получить миллионы строк или больше) и затем следует построить их, используя CERN root. Затем файл root с графиком возвращается клиенту для отображения в программе просмотра javascript.

Все это развертывается на сервере CentOS7 с использованием Apache и mod_wsgi, окончательно инкапсулированного в контейнер Docker, который находится на Openshift. У нас есть приложение, которое запрашивает базу данных Oracle, находящуюся на другом компьютере.

Теперь мы обнаружили проблему, заключающуюся в том, что возникает только при развертывании через Openshift . То есть это не происходит при развертывании в локальной конфигурации «голого металла» через Apache и mod_wsgi с / без Docker.

Мы отслеживали, что эта проблема возникает, когда cursor.fetchall() из cx_oracle называется. Вскоре после этого появляется сообщение об ошибке Truncated or oversized response headers received from daemon process. Это определенно связано с количеством возвращаемых строк, поскольку мы индексируем и запрашиваем точки данных по метке времени, и мы нашли максимальный временной диапазон, после которого запросы начинают возвращать эту ошибку.

Сначала мы подумали, что это могло быть была проблемой тайм-аута маршрутизации Openshift, но даже после массового увеличения значения ROUTER_DEFAULT_CONNECT_TIMEOUT проблема не изменилась, и запросы по-прежнему не работают с тем же ограничением размера.

Любые решения или даже потенциальные клиенты будут значительно добро пожаловать.

...