Релиз Radix 0.13.0

Александр Толстой

Команда разработчиков Picodata рада сообщить о выпуске Radix 0.13.0 — коммерческого плагина к Picodata, реализующего Redis на базе СУБД Picodata. Новая версия плагина работает с Picodata 25.4.3 или новее и содержит много новой функциональности и исправлений!

Новая функциональность

  • Добавили поддержку дополнительных команд для работы с сортированными множествами (SADD, SINTER, SDIFF, SMEMBERS и другие).
  • Добавили секцию latency в команду INFO.
  • Добавили поддержку следующих устаревших команды: QUIT, RPOPLPUSH, BRPOPLPUSH. По умолчанию, они отключены.
  • Добавили тестовую поддержку команд SSUBSCRIBE, SPUBLISH, PUBSUB SHARDCHANNELS, PUBSUB SHARDNUMSUB, SUNSUBSCRIBE. Команды полностью функциональны с нашей точки зрения — будем рады обратной связи!
  • Добавлены отладочные команды PICO LUA и PICO SQL, позволяющие выполнять диагностику кластера через redis-cli. Если эти команды не требуются, их можно отключить в файле конфигурации плагина.

Исправления

  • TTL-механизм теперь гарантирует, что устаревшие данные не будут возвращены клиенту, даже если они ещё не были зачищены сборщиком этих данных.
  • Перезаписывающие команды (SET и устаревшие вариации, группы команд ZSTORE и SSTORE) перезаписывают данные, даже если указанный ключ существовал и был другого типа. Например, в предыдущих версиях плагина, для списка с ключом adf123 команда SET adf123 asd привела бы к ошибке несоответствия типов данных. Начиная с версии 0.13.0, плагин Radix ведёт себя как Redis и команда SET adf123 asd выполнится успешно.
  • В случае невозможности записи данных на диск теперь выводится более понятное сообщение об ошибке. Если кончилась выделенная для Radix память, место на диске или случилась авария, то пользователи увидят ошибку PICODATA_WRITE_ERROR с детальным описанием случившегося — вместо старой менее понятной ошибки.

Улучшения

  • При получении уведомлений от Picodata, Radix записывает в журнал сообщения о начале обработки уведомления и её успешном завершении (используется уровень info). Ошибки записываются с уровнем warn. На данный момент регистрируется четыре вида уведомлений:
    • on_start: Picodata запустила плагин, реагируя на ALTER PLUGIN ... ENABLE или при старте инстанса;
    • on_stop: Picodata остановила плагин, реагируя на ALTER PLUGIN ... DISABLE или при успешной неаварийной остановке инстанса;
    • on_leader_change: инстанс Picodata стал/перестал быть лидером своего репликасета;
    • on_config_change: произошло изменение конфигурации плагина.

Описание Radix 0.13 поставляется вместе с дистрибутивом плагина. Обновление пользовательской документации состоится в ближайшее время.

Планы на ближайшее будущее

Мы приступаем к разработке поддержки Redis ACL, тестированию возможности запуска Radix без хранения данных на диске и возможности настроить TLS для Radix. Предварительный срок реализации — первый квартал 2026 года.


Вопросы и пожелания направляйте в наш Telegram-чат @picodataru.