Мы рады объявить о выпуске Manticore Search 2.7.0 GA.
Предварительно собранные пакеты для Debian, Ubuntu, Red Hat/CentOS, Windows и OSX можно загрузить здесь . Для образа Docker проверьте официальный репозиторий .
Внутренние улучшения
Эта версия вводит переработки нескольких внутренних компонентов, которые были необходимы для модернизации кода и потоков. Эти изменения прозрачны, и нет необходимости обновляться с более ранних версий или с Sphinx 2.x.
Чтобы снизить влияние патчей Spectre и Meltdown, количество системных вызовов было уменьшено, где это возможно.
Управление локальными индексами было переработано. Мы отказались от механизмов RW блокировок в пользу режима, при котором индексы независимы от потоков запроса. Это означает, что ротации больше не блокируются выполняемыми запросами или входящие запросы не задерживаются ротацией в процессе.
Перезагрузки конфигурации теперь полностью применяются. Например, в предыдущих версиях перенастроенный индекс требовал перезапуска демона.
Соединения с удаленными узлами полностью независимы. Протокол был улучшен, так как теперь рукопожатие и данные (запрос) отправляются в одном пакете (ранее сначала отправлялось рукопожатие). Это должно улучшить задержки и снизить объем передаваемых данных между узлами. Изменения протокола работают с удаленными узлами, использующими более ранние версии.
TCP Fast Open может использоваться между мастер-узлом и узлами, если это включено на уровне системы.
Клиентское опрошение до сих пор использовало epoll/kqueue и переключалось на poll/select, если первые были недоступны. Режим poll/select был полностью исключен, что означает, что Manticore не поддерживает ядра без поддержки epoll (epoll был добавлен в 2012 году в версии 2.5.44). На платформе Windows мы перешли с wsapoll на I/O completion ports.
Новые функции и улучшения
- Фильтры запросов Percolate могут содержать выражения и могут использоваться с атрибутами JSON и строками. Новая опция
docs_id
может быть использована для указания идентификатора документа, используемого в наборе результатов. SHOW STATUS
теперь включает версию демона, а такжеmysql_version_string
.- Распределенные индексы могут работать с FEDERATED.
- Добавлен фиктивный SHOW NAMES COLLATE и SET wait_timeout для лучшей совместимости с ProxySQL.
- Суффиксы
g
,G
,t
,T
могут использоваться в конфигурационном файле для переменных, выражающих размеры данных.
Изменения
- Веса хостов, рассчитанные в стратегиях HA с весами, теперь выражаются как float проценты (0..99.99) вместо uint16 (0..65535).
- Начиная с этой версии, мы больше не предлагаем сборку для Debian Wheezy.
- В этой версии было устранено несколько ошибок, полный отчет можно найти в заметках о выпуске .