Версия 17.5.0#
Что нового:
Для длительной операции
idle_verifyпредусмотрено штатное прерывание с помощью флага--cancel. Документацияcontrol utilityуточняет использование флага, чтобы остановить выполняющуюся проверку без перезапуска узлов.Расширена конфигурация персистентного хранилища: отдельные регионы данных и кеши могут использовать собственные пути хранения, а для кеша поддерживается распределение данных по нескольким путям хранения. Путь хранения также передается в конфигурации тонких клиентов.
Оптимизирована сериализация UUID в коммуникационных сообщениях: UUID передаются специализированным бинарным представлением без лишних промежуточных объектов, что уменьшает объем служебных данных и нагрузку на сериализацию.
В SQL-движке Calcite добавлена поддержка пользовательских табличных функций. Функция может возвращать набор строк, который используется в запросе как обычная таблица.
Тонкий клиент JDBC получил поддержку типов BLOB/CLOB, включая базовые операции и потоковое чтение BLOB. Документация дополнена примерами и ограничениями работы с большими объектами.
Физические данные восстановления отделены от логического WAL, что уменьшает нагрузку на WAL и ускоряет аварийное восстановление.
Плагин безопасности получил интеграцию с LDAP: алгоритмы
simple bindиsearch+bind, TLS, пул соединений и тайм-ауты.Добавлено представление истории планов SQL-запросов. Размер истории настраивается, для H2 сбор по умолчанию отключен.
Оптимизировано распределенное хранение настроек и данных аутентификации плагина безопасности.
Добавлены гистограммы времени CDC-операций
conflict put/removeдля контроля задержек репликации.Плагин безопасности поддерживает аутентификацию первым фактором доменной учетной записи.
Вызовы
IgniteCache.clear()иremoveAll()внутри транзакции теперь явно отклоняются.Пустые учетные данные корректно отклоняются и фиксируются без раскрытия секрета.
Добавлена метрика последнего архивированного WAL-сегмента для контроля скорости и отставания репликации CDC/I2I.
Снижена нагрузка на GC при локальном выполнении
IndexQueryи исправлена постраничная выдача, включая применениеpageSizeв тонких клиентах.В плагине безопасности добавлена настраиваемая проверка минимальной длины пароля.
Вложенные SQL-запросы из UDF выполняются с помощью отдельного
blocking executor, что устраняет взаимную блокировку пула потоков. При исчерпании пула выводится предупреждение.Утилита согласованности партиций поддерживает штатную обработку сегментации с помощью настроенного
FailureHandler.В конфигурации Fetch SecMan можно задавать альтернативные имена с помощью параметра
alt_names.Standalone-сценарии DataGrid корректно работают без активного плагина безопасности благодаря инициализации безопасного
no-opпроцессора безопасности.Оптимизировано выполнение SQL в Calcite: повторное использование промежуточных объектов снижает число аллокаций и нагрузку на GC.
Приложения могут передавать пользовательские атрибуты и получать контекст сессии в JDBC, UDF и
CacheInterceptor.SQL-представления поддерживают расширенную конфигурацию Calcite, включая пользовательскую таблицу операторов.
Доступ к JMX защищен отдельным
SystemPermissionи может проходить аутентификацию и авторизацию с помощью плагина безопасности.Интеграция
SberCaподдерживает отдельныйjmxLoginModuleNameи сохраняет совместимость с прежней конфигурацией.Операции обертки (wrap) и разворачивания (unwrap) токенов фиксируются в аудите. Устранен NPE при обработке событий аудита.
В Calcite добавлены функции
REGEXP_INSTR,REPLACE,INSTR,RPADиLPADдля упрощения переноса SQL-запросов с Oracle.Команды управления DataGrid переведены на тонкие клиенты и получили единообразную обработку ошибок, результаты и документацию.
Экспортер метрик
http-metrics-exporterподдерживает защищенный доступ с базовой (basic) аутентификацией, TLS и проверкой прав с помощью плагина безопасности.Расширен API интеграции плагина безопасности и JMX-команд, включая поддержку офлайн-сценариев управления.
Добавлена утилита безопасного чтения данных безопасности с выводом данных в JSON без изменения исходного файла.
Документированы SQL с поддержкой транзакций и scan-запросы с
READ_COMMITTED, в том числе включение режима и правила видимости данных внутри транзакции.