Построение индекса переднего плана MongoDB блокирует вторичное чтение для всех баз данных

Сегодня один из пользователей нашего сегментированного кластера MongoDB 3.0.12 (ошибочно) выпустил построение индекса переднего плана для своей собственной базы данных (pride_archive_ms), после того как операция завершилась на основном члене каждого набора реплик (сегменте), он были реплицированы во вторичные.

Я ожидал, что база данных, в которой все еще выполняется построение индекса, будет заблокирована для чтения и записи, но на самом деле все чтения / записи баз данных заблокированы при использовании вторичных или secondaryPreferred предпочтение чтения. Любой открытый сеанс просто добавляется. Это ожидаемое поведение? Документы сообщают, что:

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

Но в нашем случае это простая find () для отдельных баз данных из тот, на котором строится индекс.

Кто-нибудь может пролить свет?

Спасибо

0
задан 20 May 2019 в 09:26
1 ответ

Томас Шуберт дал ответ на этот вопрос в:

https://jira.mongodb.org/browse/SERVER-25168

Тем не менее, мне интересно, почему маршрутизатор не обнаруживать заблокированные по чтению вторичные серверы и обслуживать запросы от первичного, когда указано предпочтение чтения secondaryPreferred .

0
ответ дан 5 December 2019 в 09:47

Теги

Похожие вопросы