Ошибка «У источника синхронизации не было версии совместимости функций» при добавлении члена MongoDB 3.6 в набор реплик 3.4 - PullRequest
0 голосов
/ 26 апреля 2018

Я пытаюсь перенести кластер с MongoDB 3.4 на 3.6.

При добавлении нового участника, использующего MongoDB 3.6, первоначальная синхронизация завершается с ошибкой:

У источника синхронизации не было документа о версии совместимости функций в src / mongo / db / repl / replication_coordinator_impl.cpp 679

Как я вижу, это общеизвестная ошибка дляте, кто пытается мигрировать с 3,2 до 3,6.В моем случае, однако, я пытаюсь перейти с 3.4 (3.4.14, чтобы быть более конкретным, как сообщает db.version() на каждом экземпляре кластера), на 3.6.Поскольку в официальной документации MongoDB нет ссылки на версию 3.5, я не уверен, что я должен делать.

Что я делаю не так?

1 Ответ

0 голосов
/ 27 апреля 2018

Вы можете определенно обновить набор реплик или сегментированный кластер с MongoDB 3.4 до 3.6.В настоящее время обновления поддерживаются только между смежными основными выпусками, поэтому перед обновлением до MongoDB 3.6 необходимо завершить обновление до MongoDB 3.4.

В источнике синхронизации не было совместимости функций версия документа

Это сообщение об ошибке указывает на то, что вы пропустили предварительное условие в предыдущих обновлениях: для набора реплик не установлено значение featureCompatibilityVersion, равное 3,4.Это будет иметь место, если вы ранее обновили версию MongoDB старше 3.4 и еще не включили функции, несовместимые с предыдущими версиями.

Параметр версии совместимости компонентов (FCV) был добавлен в MongoDB 3.4 для обеспечения контролясверх возможности обратно несовместимые функции данных , которые могут усложнить процесс перехода на более раннюю версию.Например, MongoDB 3.4 добавляет представления, дополнительные форматы индекса (с поддержкой сортировки и регистрозависимых индексов) и новый тип Decimal BSON.

После обновления до 3.4 и подтверждения минимальной вероятности понижения FCVдолжен быть установлен с помощью:

db.adminCommand( { setFeatureCompatibilityVersion: "3.4" } )

Это обязательное условие для обновления до MongoDB 3.6 , которое имеет последний шаг обновления до , включающий обратно несовместимые функции 3.6 установка FCV на «3,6».

Вы можете проверить текущий FCV, используя:

db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )

Поскольку официальная документация MongoDB не ссылается на версию 3.5, я неуверен, что я должен делать.

MongoDB 3.5 (и выпуски со вторым компонентом, являющимся нечетным числом) не упоминаются в примечаниях по обновлению, поскольку они являются выпусками разработки (см .: Номера версий MongoDB ).MongoDB 3.5 - это серия для разработчиков, предшествующая серии серийных версий MongoDB 3.6.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...