LINUX.ORG.RU

Выпущен релиз-кандидат ReOpenLDAP 2.4.41 «Christmas»

 , , , ,


0

7

ReOpenLDAP — это форк OpenLDAP, который стал ответом на отказ принимать исправления, улучшающие качество кода (было убрано порядка 5000 предупреждений), и добавления новых функций. Причиной отказа являлась консервативность разработчиков исходного проекта при постановке целей.

Новая версия базируется на кодовой базе готовящегося к выпуску OpenLDAP 2.4.41, куда изначально направлялись все наши исправления.

Главное качество этой версии — работа без падений и без отказов сервиса под высокой нагрузкой с репликацией в кластере, что ранее было невозможно. В частности, исправлено 8 heisenbugs, которые существовали годами, особенно в коде репликации и LMDB-движке http://en.wikipedia.org/wiki/Lightning_Memory-Mapped_Database. Одному из багов официально почти 7 лет ;)

Добавленные функции позволяют держать нагрузку по изменениям в 2—10 раз больше оригинального OpenLDAP и до 50 — при наличии у системы хранения write-back кэша (проще говоря, RAID с батарейкой). Для точности следует отметить, что «без батарейки» производительность повышается в результате компромисса, за счет более редкой фиксации данных на диск.

>>> Подробности на github: Описание исправлений и новых фич, исходные тексты.



Проверено: leave ()

Хоть бы в двух словах написали, что это за ReOpenLDAP точка-с-запятой-скобка-закрывается такое?

anonymous ()
Ответ на: комментарий от anonymous

Видимо, точка-с-запятой-скобка-закрывается - это версия. Только не понятно, где открывающая скобка.

Valdor ★★ ()

Мы выпустили

Кто, вы? Говорящие птицы? Роботы с планеты Шелезяка? Души тараканов, убитых Столлманом?
Что, нафиг, за заголовок новости? Лив, ты всё отмечаешь? ))

sluggard ★★★★ ()
Ответ на: комментарий от sluggard

You make my day! :)

А по сути - абсолютно по делу. «Мы» - это тот, кого нельзя называть? )))

anonymous ()

О, чуваки, вы просто супер!

ei-grad ★★★★★ ()

а под какой проект этот форк затачивался?

actionless ★★★★ ()

А внятной документации по lmdb (использованию) не добавили? А то когда интересовался, не нашёл, сижу на hdb.

Ivan_qrt ★★★ ()
Ответ на: комментарий от sluggard

Меня раскусили ( Дети у бабушек, мы с женой предаемся излишествами )

leave ★★★★★ ()
Ответ на: комментарий от actionless
  • проект - нагруженный распределенный кластер из 4 узлов (2+2).
  • сейчас порядка 15K LDAP обновлений в секунду, но будет больше.
  • плюс порядка 15-30K LDAP-запросов чтения в секунду.
  • размер LMDB-базы - несколько десятков Gb.
ly ()
Ответ на: комментарий от ly

По данному тегу ни фига, кроме этой новости, на сайте не находится, и ничего не объясняет — кто, что, зачем. )) Но АР уже поправил заголовок, спасибо ему. Где о PeterService почитать можно?

sluggard ★★★★ ()
Ответ на: комментарий от Ivan_qrt

Дока по функциям LMDB есть в lmbdb.h

Для понимания концепта легко найти презентации от Symas Corp.

В код лучше не смотреть - rebus codestyle, в одном месте кол-во БД-страниц делится на номер транзакции...

ly ()
Ответ на: комментарий от sluggard

По данному тегу ни фига, кроме этой новости, на сайте не находится, и ничего не объясняет — кто, что, зачем. )) Но АР уже поправил заголовок, спасибо ему. Где о PeterService почитать можно?

Хм, гуглояндекc совсем не в моде?

https://ru.wikipedia.org/wiki/%CF%E5%F2%E5%F0-%D1%E5%F0%E2%E8%F1

ly ()
Ответ на: комментарий от r_a_vic

Вроде HLR (не все) у себя данные в LDAP хранят и обмениваются ими в LDIF. Для этого?

r_a_vic ()
Ответ на: комментарий от ly

Вы в тексте новости не представились, и не объяснили, кто вы, а я гуглить должен? =)) Спасибо большое за ссылку.
P.S. Офигеть, сколько в Вики «[источник не указан 277 дней]». Статью, похоже, писали сами. :D

sluggard ★★★★ ()
Последнее исправление: sluggard (всего исправлений: 1)
Ответ на: комментарий от r_a_vic

А зачем биллингу такой большой LDAP?

Биллинг это только вершина айсбегра, ну и исторический домен.

Внутри управление сетью оператора, а они у нас в России большие.

ly ()
Ответ на: комментарий от anonymous

На первой странице выдачи про ReOpenLDAP только одна ссылка (4-я), и та на эту новость, остальное про чистый OpenLDAP. :D

sluggard ★★★★ ()

Причиной отказа являлась консервативность разработчиков исходного проекта при постановке целей.

Или патчи были кривые, или разработчики чудаки. Что из этого - правда?

orion ★★ ()

«Christmas»

Долой какую бы то ни было религиозную пропаганду с моего светского ЛОРа.

anonymous ()

Нормальный конфиг вернут?

anonymous ()

Причиной отказа являлась консервативность разработчиков исходного проекта при постановке целей.

Ухаха. Познакомились с ебанько со скрипочкой Howard Chu?

У нас с ним в свое время был следующий диалог:

- Чуваки, у вас в SLAPI недоделка!
- SLAPI - legacy и ненужен.
- Но как же совместимость с остальными LDAP-серверами?
- Они все медленнее OpenLDAP и ненужны.
- А на чем же тогда писать расширения?
- Используйте Overlay API.
- Но ведь оно же не документировано, в отличие от SLAPI!
- Лучшая документация - код.

Поздравляю со вступлением в клуб...

anonymous ()
Ответ на: комментарий от orion

Или патчи были кривые, или разработчики чудаки. Что из этого - правда?

Посмотрите код slapd и LMDB, попробуйте сделать выводы.

ly ()

К слову, откуда такая зацикленность на legacy (LMDB)? Что не так с HDB?

anonymous ()
Ответ на: комментарий от alfss

а вы это решение рассматривали? http://en.wikipedia.org/wiki/OpenDJ

В выборе LDAP-платфоры я не участвовал, работал в другом месте.

Думаю OpenDJ очень неплохой вариант, однако есть одно «бальшое НО».

Openldap, а особенно lmdb-backed и сам lmdb - соответствуют MVCC без блокировок. Поясню, в lmdb один писатель и много читателей, которые ни как не блокируются вообще (только при коннекте). Максимальная хрень, которая там есть (кроме качества кода) - медленный/застрявшие читатели удерживают старые версии БД и не дают делать реклайминг (в результате можно получить out of space). Но эту беду я поборол (99% в dreamcatcher, 1% в oom-handler yield).

Поэтому при всей говнокодовости, можно почти гарантировать что производительность записи будет ограничиваться одним ядром CPU плюс подситемой хранения, а вот чтение будет масштабироваться практически линейно по кол-ву ядер (за вычетом оверхеда NUMA, если таковое будет).

Ну примерно как если-бы Tarantool от Осипова работал на всех ядрах с разделяемой базой. Это - реальная фишка LMDB.

OpenDJ так не может, масштабирования чтения по ядрам не будет.

Можно попробовать к OpenDJ приклеить хранение в LMDB, но пока не до этого. Для начала неплохо бы зачистить или переписать LMDB, ибо там rebus codestyle. Кроме этого, клеить просто LMDB к Java мне не вкусно. Если все будет хорошо, я сделаю это через 1Hippeus (задействую инфраструктуру работы в разделяемой памяти).

ly ()
Ответ на: комментарий от anonymous

К слову, откуда такая зацикленность на legacy (LMDB)? Что не так с HDB?

Вы путаете mdb и lmdb, что полностью оправдано («афтары» виноваты). http://symas.com/mdb/

... Note: LMDB was originally called MDB, but was renamed to avoid confusion with other software associated with the name MDB...

ly ()
Ответ на: комментарий от anonymous

Ухаха. Познакомились с $%#$ Howard Chu

Угу, доставляет ;) Я в facepalm впал когда фоточку показали...

Но меня больше достает святая уверенность «так надо делать» относительно их rebus codestyle. Диспут от нужности volatile - это были перлы, пока ассемблерный код от gcc -flto не показали. Ну и https://github.com/ReOpenLDAP/reopenldap/commit/5eedc54971ee9d56f6265c2bed166...

Однако, есть подозрение что это сознательно, типа - хрен разберешься, придешь к нам.

ly ()
Ответ на: комментарий от anonymous

Нормальный конфиг вернут?

Хм, что значит «нормальный» и куда он делся?

ly ()
Последнее исправление: ly (всего исправлений: 1)
Ответ на: комментарий от Komintern

+1 к вопросу, даешь slapd.conf =)

А он и так есть. Хотите - фигачте в config-базе, не хотите - slapd.conf

ly ()
Ответ на: комментарий от ly

Одно время, где-то в районе 2.32 его люто-бешено выпиливали, типа он устарел, онлайн обновления, кудaх-тaх-тaх, пользуйтесь ldapmodify для правки конфига демона. Так вот, пошли они в с@$^ку с такими идеями.

Кому это очень надо - тот пусть и использует, это достаточно нишевой случай, когда нельзя даже минутного даунтайма на перезапуск демона.

Ещё и руками эту сгенеренную простыню править мешают, мудни. Чексуммы впилили. А конфиг остался по сути только для «прикурить», дальше - ldapmodify.

anonymous ()
Ответ на: комментарий от anonymous

Нормальный конфиг вернут?

А чем cn=config не устраивает?

dexpl ★★★★★ ()

А почему не назвали LibreLDAP?

anonymous ()

Работа проделана большая, авторам (у?) респект.

Но не загнется ли этот проект, будет ли перекрестное опыление, хватит ли сил на поддержку форка?

Xintrea ★★★★★ ()
Ответ на: комментарий от ly

это cp1251, koi8r, iso, mac, cp866? что это, чёрт возьми, и почему оно работает? (если у юзера винда в юзерагенте, требую превентивного бана).

odii ()
Ответ на: комментарий от odii

Он просто использует или старую версию обозревателя или политика выставлена кодировать ссылки в URL формате.

Вообще википедия сама срёт такими адресами, не все обозреватели исправляют их на лету. Она даже пострашнее выдаёт через якорь.

Например можно вот такое получить: https://ru.wikipedia.org/wiki/Русский_язык#.D0.A1.D0.BB.D0.BE.D0.B6.D0.BD.D0.... Вот обозреватели эти .D0.BE никак на лету не исправляют и не могут, потому что это дебилизм чисто википедии и если исправить якорь не заработает, он прям так и пишется:

id=".D0.A1.D0.BB.D0.BE.D0.B6.D0.BD.D0.BE.D0.BF.D0.BE.D0.B4.D1.87.D0.B8.D0.BD.D1.91.D0.BD.D0.BD.D0.BE.D0.B5_.D0.BF.D1.80.D0.B5.D0.B4.D0.BB.D0.BE.D0.B6.D0.B5.D0.BD.D0.B8.D0.B5"

EvilFox ()
Последнее исправление: EvilFox (всего исправлений: 4)
Ответ на: комментарий от anonymous

к 389ds это тоже относится?

Да, на 100% (вопрос был про MVCC и масштабирование по ядрам).

ly ()
Ответ на: комментарий от ly

Для начала неплохо бы зачистить или переписать LMDB

А сторону wiredtiger смотреть не пробовали? Вроде бы — тру, только с 32-битными архитектурами проблема...

Macil ★★★★★ ()
Ответ на: комментарий от ly

т.е. openldap, несмотря на накопившиеся шероховатости, всё равно работает лучше, чем альтернативы: 389ds, apacheds, opendj?

если у кого-то ещё есть пример по этой теме, дайте знать.

anonymous ()

Молодцы, кто бы вы ни были =). Работа колоссальная проделана и нужная, к тому же =). Вот он open-source в своей красе =).

elve ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.