Почему я не могу прочитать данные с последнего вторичного узла в наборе реплики из трех узлов, хотя я установил readPref («вторичный»)? - PullRequest
0 голосов
/ 25 октября 2019

Я моделирую набор реплик из трех узлов:

localhost:8081 - PRIMARY

localhost:8082 - SECONDARY

localhost:8083 - SECONDARY

URI mongodb:

mongodb://localhost:8081,localhost:8082,localhost:8083/testDb?replicaSet=testreplica

Я использую приложение весенней загрузки с данными mongodb для выполнения чтениязапросы.

Когда доступны 2 или 3 узла, я могу получить данные из репликационного набора.

Когда узлы 8082 и 8083 недоступны, единственным доступным узлом является 8083 и, как и ожидалосьон становится вторичным, но в этом случае я не могу получить данные из репликационного набора.

Хотя бы из mongoshell, который я установил

db.getMongo().setReadPref('secondary')

Я выполнил эту команду с основного узла, когда все3 узла были активны.

В чем проблема? Почему я не могу выполнить операции чтения с отдельного вторичного узла, хотя для readPref установлено вторичное?

...