Mon go :: Error :: SocketError: Обрыв канала при выполнении запросов в наборе реплик mon go - PullRequest
0 голосов
/ 09 мая 2020

Я случайно получаю эту ошибку из моего приложения rails, подключенного к набору реплик mon go. Затем это приводит к тому, что описание сервера меняется на «unknown» и выбор сервера начинается заново.

Этого не происходит, когда я пытаюсь запустить приложение локально, подключенное к автономному серверу mongod.

По какой-то причине подключение к набору реплик и выполнение повторяющихся запросов к нему приводит к

Read retry due to: Mongo::Error::SocketError EOFError: end of file reached

Это проблема с подчеркнутым подключением SSL / TLS к набор реплик? Я попытался увеличить socket_timeout, connection_timeout в моем mongoid.yml безуспешно.

1 Ответ

0 голосов
/ 11 мая 2020

Это происходит, когда сервер закрывает соединение с клиентом. Один раз, когда происходит , что происходит, когда в наборе реплик происходит выбор - старый основной закрывает все свои соединения с MongoDB 4.0 и более ранними версиями (не с 4.2+).

Поскольку чтение выполняется повторная попытка, ситуация обычно не влияет на приложение, кроме сообщения диагностики c, которое вы видите.

Вы можете просмотреть журналы сервера во время печати сообщения, чтобы узнать, почему сервер закрыл соединение. Иногда соединения закрываются без регистрации на стороне сервера (например, когда серверный процесс завершается, он не регистрирует закрытие всех соединений).

...