Версия 17.8.0#
Что нового:
Улучшены диагностические инструменты для анализа артефактов, которые относятся к
dump/WAL/page.DumpReaderвыводит имя кеш-группы в диагностических сообщениях. Обработка чувствительных данных при удобочитаемом преобразовании WAL стала более безопасной и предсказуемой. Улучшен запуск утилитcommand/controlна новых JDK.В журнал добавлено событие завершения вытеснения партиции кеш-группы. Сообщение упрощает диагностику освобождения места и позволяет видеть окончание процесса вытеснения без косвенного анализа состояния партиций.
Добавлена возможность задавать локальный порядок запуска сервисов DataGrid с помощью
ServiceConfiguration.setLocalStartOrder(int). Сервисы с меньшим значением инициализируются раньше при статической конфигурации и групповом runtime-развертывании. Глобальный порядок между узлами параметр не задает.Устранены конфликты при создании SQL-таблиц поверх существующих кешей. DDL корректно учитывает схему существующего кеша и поля ключа в индексах, поэтому таблицу можно создать без перезаливки уже загруженных данных.
SQL-движок Calcite получил крупный набор улучшений: расширена поддержка SQL, DDL и DML, исправлена обработка типов и параметров, улучшены планирование, выбор индексов и распределенное выполнение запросов. Дополнительно повышены стабильность, производительность и совместимость клиентских сценариев.
Повышена надежность и наблюдаемость вытеснения страниц. Исправлено зависание операций записи с
RANDOM_LRUиRANDOM_2_LRU, добавлена метрикаEvictionsStarted, а предупреждение о начале вытеснения и рекомендации по мониторингу уточнены отдельно для каждого региона данных.Повышено самовосстановление после кратковременных сетевых сбоев: исправлены повторные отправки и проверки соединения в discovery- и cache-communication, улучшена обработка SSL-ошибок и попыток подключения тонких клиентов, добавлены диагностические сообщения и параллельная проверка удаленных узлов при восстановлении связи между ЦОД.
Добавлена поддержка мультиЦОД для одного кластера DataGrid: узлам назначается идентификатор ЦОД, аффинити равномерно размещает копии партиций между ЦОД, а Topology Validator контролирует конфигурацию. Оптимизированы процессы обнаружения, ребалансировка, снятие снепшотов, SQL и работа клиентов. Добавлены представления и метрики для ЦОД и клиентского маршрутизатора.
Добавлены метрики для локализации кратковременной сетевой недоступности узлов, включая показатели состояния соединений и максимального интервала недоступности. Документация дополнена рекомендациями по использованию этих метрик при диагностике сетевых инцидентов.
Событие
EVT_CONSISTENCY_VIOLATIONтеперь включено по умолчанию, поэтому командаconsistency repairработает без предварительной настройки хранилища событий. С помощью утилитыcontrol.shможно во время работы кластера просмотреть, включить или отключить нужные типы событий без перезапуска узлов.Тонкий клиент Java получил возможность задавать количество партиций при создании кеша. Параметр доступен с помощью аффинити-настройки
ClientCacheConfigurationи передается серверу с учетом версии протокола.Ошибки операций с кешем тонкого клиента Java теперь содержат пользовательское имя кеша. При обращении к отсутствующему кешу диагностика показывает заданный псевдоним (alias) вместо внутреннего идентификатора.
Тонкий клиент Java получил синхронные и асинхронные методы
ClientCache.sizeLong, которые возвращают размер кеша как значение long. Это позволяет корректно получать размер кешей, в которых количество записей превышает диапазон int.Исправлен жизненный цикл дескриптора сервиса при изменении топологии. Неуспешное развертывание больше не оставляет устаревший дескриптор. Дескриптор сервиса без текущих экземпляров сохраняется, чтобы новый подходящий узел получил конфигурацию и запустил сервис после присоединения к кластеру.