Форум проекта Pro-LDAP.ru

Общие вопросы по LDAP => Общий раздел => Тема начата: Леонид Юрьев от 24 Март 2016, 22:15:17

Название: full-mesh multi-master репликация работает в ReOpenLDAP на 100% (и больше нигде)
Отправлено: Леонид Юрьев от 24 Март 2016, 22:15:17
Репликация/синхронизация починена, полностью. Плюс попутно ещё десяток-другой багов.
Пока не известны другие LDAP-сервера, репликация в которых 100% работоспособна в конфигурации full-mesh multi-master.

В драконовских тестах multi-master режима остался только один экстремальный сценарий, который изредка (с вероятностью 1/1000) подглючивает - это многократное циклическое добавление/удаление ограниченного набора DN-записей на фоне циклического развала-схождения full-mesh multi-master кластера из 4-х или более узлов (в графе связей должно быть два или более цикла разной длины). При этом на части узлов кластера может остаться одна-две удаленные записи.

Грубо говоря, если смотреть на версионные отметки, то add или modify после delete как-бы экранирует это удаление и увидеть его можно только сравнив local и remote базы поэлементно. Но это уже проблема не реализации, а самой идеи RFC4533.

В ReOpenLDAP с этим можно бороться двумя способами:
- включить limit-concurrent-refresh (см. man pages) = проблема не проявится.
- произвести развал-схождение кластера (перезапустить) = благодаря доработкам расхождение в данных будет устранено.

https://github.com/ReOpen/ReOpenLDAP/releases/tag/ReOpenLDAP-1.0-beta