"Починили" - так как встроенные тесты теперь проходят 42 итерации при параллельном тестировании разных сборок в 4 сессии.
"Почти" - так как проблема расхождения экземпляров кластера по-прежнему может быть воспроизведена в некоторых жестких сценариях.
В сравнении с оригинальным OpenLDAP это просто супер-стабильное решение и мега-надежное решение:
- оригинальный openldap по-прежнему генерирует около 5000 предупреждений компилятора при сборке, из которых порядка 20 о реальных проблемах/ошибках.
- прогон тестов openldap с включенным ThreadSanitizer генерирует порядка 100 предупреждений о "гонках" между потоками.
- оригинальный openldap никогда не проходил более 10 итераций при параллельном тестировании, в среднем около 5.
Детали проблемы, которую "почти устранили" можно посмотреть здесь =
https://github.com/ReOpen/ReOpenLDAP/issues/43#issuecomment-172208085Эта ревизия помечена тегом "2016" =
https://github.com/ReOpen/ReOpenLDAP/releases/tag/2016Актуальная стабильная версия ReOpenLDAP всегда доступна в ветке master =
https://github.com/ReOpen/ReOpenLDAPПояснения зачем мы занялись этим можно найти на wiki =
https://github.com/ReOpen/ReOpenLDAP/wiki