Size: a a a

2020 October 30

AN

Artem Nazarenko in Tarantool
непонятно исправлено или нет
источник

KY

Kirill Yukhin in Tarantool
Да, падение должно быть исправлено. Немного порефакторили апсерты. Но нужно помнить, что есть ограничение BOX_UPDATE_OP_CNT_MAX
источник

AN

Artem Nazarenko in Tarantool
Для чего помнить?))
источник

AN

Artem Nazarenko in Tarantool
Что будет если ограничение будет превышено и как этого избежать?
источник

AN

Artem Nazarenko in Tarantool
В той версии, на которой воспроизводился баг после превышения этого порога база переставала полностью работать:
* не работало чтение
* не работала запись
* не мержились сегменты
источник

AN

Artem Nazarenko in Tarantool
из ответа, который вы приложили к багу непонятно удалось ли с этим справиться
источник

A

Andrew in Tarantool
any теперь scalar?
источник

AT

Alexander Turenko in Tarantool
any включает array и map, scalar — нет.
источник

NP

Nikita Pettik in Tarantool
Artem Nazarenko
из ответа, который вы приложили к багу непонятно удалось ли с этим справиться
В 2.6 все исправлено, кроме ограничения по кол-ву апдейт операций (те которые не могут смержиться - теперь просто пропускаются, чтение и запись работает при этом). Мы подумаем над этим, может вообще уберем этот лимит.
источник

AN

Artem Nazarenko in Tarantool
Ясно! Благодарю за разъяснение!
источник

AN

Artem Nazarenko in Tarantool
😘
источник

A

Andrew in Tarantool
Alexander Turenko
any включает array и map, scalar — нет.
почему тогда any из документации пропал?
источник

AT

Alexander Turenko in Tarantool
А где пропал?
источник

A

Andrew in Tarantool
Alexander Turenko
А где пропал?
источник

AT

Alexander Turenko in Tarantool
Какой раздел?
источник

AT

Alexander Turenko in Tarantool
В 'Indexed field types' any быть не должно.
источник

Sergey Й in Tarantool
Pavel Lapaev
Tarantool 2.6 — Синхронная репликация, Raft и MVCC!

Эти новые возможности Tarantool уже доступны в версии 2.6. Мы подробно расскажем про каждую тему на следующей неделе на нашем Youtube-канале.

2, 3 и 5 ноября в 18:00 МСК подключайтесь сюда https://www.youtube.com/c/Tarantool, в следующем сообщении прикладываю .ics файлы для календаря.

Читайте подробнее про изменения https://github.com/tarantool/tarantool/releases/tag/2.6.1

---

Транзакционный менеджер в in-memory движке, наконец-то полноценный MVCC!

Многие в курсе, что Tarantool реализует кооперативную многозадачность при помощи примитива файбер, который является одной из реализаций легковесных потоков.

В старых версиях Tarantool, когда файбер с открытой транзакцией передавал управление, транзакция автоматически откатывалась. Теперь транзакция не откатывается, а остается открытой и может быть закончена при следующей передаче управления файберу! Чтобы это работало, мы добавили новый менеджер транзакций.

Чем так полезен новый транзакционный менеджер?

 Основная цель нового транзакционного менеджера — избавиться от давней проблемы "грязных чтений" транзакций, которые впоследствии не удалось записать на диск из-за отказа. Это повышает уровень изоляции до истинного Serializable при любом исходе. Также это позволяет использовать Tarantool в более привычном для баз данных сценарии, растягивая транзакцию во времени и исполняя транзакции параллельно.

Сейчас новый менеджер работает только под опцией. Следующий шаг — включить его по умолчанию. Мы всерьез думаем о добавлении так называемых cross-engine транзакций. Это когда в одной транзакции можно манипулировать данными из двух движков. Например, когда из холодного хранилища (vinyl) нужно перенести данные в горячее хранилище (memtx).

---

Синхронная репликация (c Raft-ом)

Синхронная репликация на протяжении существования Tarantool была одной из самых (если не самой-самой) востребованных возможностей. Все дело в том, что асинхронная репликация не дает 100% гарантий сохранности данных при работе в кластере, когда происходит смена лидера.

5 лет назад началось проектирование и разработка синхрона на базе популярного алгоритма Raft. За эти пять лет буквально каждый пункт плана пошел под откос. В Tarantool за это время сделали SQL, дисковый движок, шардинг, и многое другое. Состав команды успел смениться почти полностью, включая CTO.

В этом году сам метод разработки был пересмотрен с нуля. Мы сосредоточились на синхроне и его рабочем прототипе, который можно было бы сразу использовать и улучшать. Как результат, теперь в Tarantool представлена синхронная репликация с автоматическими выборами лидера на базе Raft.

С синхронной репликацией хранение данных в кластере получает новый уровень гарантий сохранности. В прошлом отказа одного узла было уже достаточно, чтобы получить риск потери. С синхронной репликацией данные гарантированно выживут, пока больше половины кластера функционирует.

Также пользователям больше не требуется заниматься конфигурацией лидера кластера вручную — надо только следить, кого Tarantool выбирает сам.

На этом путь синхронной репликации еще не окончен. В следующих релизах будут проводиться работы по различным оптимизациям, создание специальных вспомогательных узлов для выборов лидера, и следующая большая разработка — синхронная мастер-мастер репликация без выделенного лидера.

---

А что еще?

- Добавили поддержку tarantool-1.10+ в модуль миграции данных из tarantool-1.5 (migrate). Теперь можно мигрировать на свежие версии Tarantool со старых.
- В queue исправили проблему с автовозвратом задач на старте, добавили возможность запускать очередь на read-only узлах, прояснили сообщения об ошибках.
- Исправили много проблем в коннекторах и модулях.
- Наконец-то добавили форматированный вывод в селектах!

https://github.com/tarantool/tarantool/releases/tag/2.6.1
А запись будет?
источник

Sergey Й in Tarantool
Не терпится потыкать в консоли фэйловер с рафтом. С чего начать? Какие параметры и команды искать в доке? Или в коде, если доки еще нет?
источник

AT

Alexander Turenko in Tarantool
Я не очень в теме, но могу дать входные точки.
источник

AT

Alexander Turenko in Tarantool
источник