Top.Mail.Ru
Tarantool 1.9 | Tarantool
 

Tarantool 1.9

Tarantool 1.9

Версия 1.9.0

Тип версии: стабильная. Дата выхода: 2018-02-26. Тег: 1.9.0-4-g195d446.

Сообщение: https://github.com/tarantool/tarantool/releases/tag/1.9.0.

Эта версия следует за стабильной версией 1.7.6. Цель данной версии – повысить стабилизацию vinyl’а и репликации типа мастер-мастер, для чего предусмотрено значительное количество новых функций. Следуйте инструкциям по загрузке по ссылке https://tarantool.io/en/download/download.html для установки пакета для вашей операционной системы.

Изменения или добавления функциональности:

  • (Безопасность) появилась возможность блокировки и разблокировки пользователей. Проблема 2898.
  • (Безопасность) новая функция box.session.euid() возвращает действующего пользователя. Действующий пользователь может отличаться от авторизованного пользователя при использовании функций setuid или box.session.su. Проблема 2994.
  • (Безопасность) новая роль суперпользователя super. Чтобы отключить управление доступом, следует назначить пользователю guest роль „super“. Проблема 3022.
  • (Безопасность) триггер on_auth срабатывает, когда аутентификация пройдена, а также, когда аутентификация не пройдена. Проблема 3039.
  • (Репликация/восстановление) новый алгоритм конфигурации репликации: если экземпляр не подключается к количеству узлов, указанному в replication_quorum, за количество секунд, указанное в replication_connect_timeout, сервер начинает работу, но в качестве одиночного, то есть в режиме только для чтения, пока реплики не подключатся друг к другу. Проблемы 3151 и 2958.
  • (Репликация/восстановление) после включения репликации при запуске сервер не начинает обработку запросов на запись до синхронизации со всеми подключенными узлами.
  • (Репликация/восстановление) появилась возможность явным образом задать UUID экземпляра и UUID набора реплик в качестве конфигурационных параметров. Проблема 2967.
  • (Репликация/восстановление) box.once() больше не прекращает работу на реплике в режиме только для чтения, а переходит в режим ожидания. Проблема 2537.
  • (Репликация/восстановление) force_recovery может пропускать поврежденный xlog-файл. Проблема 3076.
  • (Репликация/восстановление) улучшен мониторинг репликации: box.info.replication показывает IP-адрес:порт узла в сети и правильную задержку репликации для неактивных узлов. Проблема 2753 и 2689.
  • (Сервер приложений) новые триггеры до события (before) можно использовать для разрешения конфликтов при репликации типа мастер-мастер. Проблема 2993.
  • (Сервер приложений) http client правильно разбирает файлы cookie и поддерживает пути http+unix://. Проблемы 3040 и 2801.
  • (Сервер приложений) в модуле fio появилась поддержка file_exists(), rename() работает в разных файловых системах, read() без аргументов выполняет чтение всего файла. Проблемы 2924, 2751 и 2925.
  • (Сервер приложений) ошибки в модуле fio соответствуют стандартам вызова функции в Tarantool’е и всегда возвращают сообщение об ошибке вместе с флагом ошибки.
  • (Сервер приложений) модуль digest поддерживает алгоритм хеширования паролей pbkdf2, который используется в приложениях, совместимых с PCI/DSS. Проблема 2874.
  • (Сервер приложений) box.info.memory() обеспечивает общий обзор использования памяти сервера: работа по сети, Lua, транзакции и индексы. Проблема 934.
  • (База данных) появилась возможность добавить отсутствующие поля кортежа в индекс, что используется при добавлении индекса вместе с эволюцией схемы базы данных. Проблема 2988.
  • (База данных) множество улучшений поддержки типов полей при создании или изменении спейсов и индексов. Проблемы 2893, 3011 и 3008.
  • (База данных) появилась возможность включения опции is_nullable для поля, даже если спейс не является пустым, с мгновенным применением изменений. Проблема 2973.
  • (База данных) улучшены многие аспекты журналирования: отдельные сообщения (проблемы 1972, 2743, 2900), увеличение количества записей при необходимости (проблемы 3096, 2871).
  • (Движок базы данных Vinyl) появилась возможность сделать уникальный индекс в vinyl’е неуникальным без повторного создания индекса. Проблема 2449.
  • (Движок базы данных Vinyl) улучшена производительность операций обновления UPDATE, замены REPLACE и восстановления при наличии вторичных ключей. Проблемы 2289, 2875 и 3154.
  • (Движок базы данных Vinyl) space:len() и space:bsize() работают с vinyl’ом (хотя и неточно). Проблема 3056.
  • (Движок базы данных Vinyl) улучшена скорость восстановления при наличии вторичных ключей. Проблема 2099.
  • (Сборки) Поддержка Alpine Linux. Проблема 3067.