[3pt] feedback: Решение конфликтов репликации | Tarantool #2478
Labels
add details
[nature] More details needed, some info missing. Documentation is incomplete.
replication
[area] Related to Replication
Product: Tarantool
Root document: https://www.tarantool.io/en/doc/latest/book/replication/repl_problem_solving/#replacing-the-same-primary-key
SME: @ alyapunov
Details
Feedback from a user:
https://www.tarantool.io/en/doc/latest/book/replication/repl_problem_solving/#replacing-the-same-primary-key
Добрый день, в документации приведен пример установки треггера для резолва master-master. Если я не ошибаюсь, тригер в таком случае будет выпонятся для загружаемых из WAL записей.
Я отслеживал box.info.status чтобы этого избежать.
Возможно будет полезно кому-то.
** Questions to and comments from @ alyapunov **
Триггер выполняется для загружаемых из WAL записей?
Это зависит от того, что в "my_trigger", могу предположить.
Когда загружается WAL (речь ведь идет про recovery, когда Тарантул перезапущен), memtx находится в частично рабочем состоянии. Это неизбежно - без полностью загруженных данных нет полной картины состояния БД. В частности все selectы для определенности возвращают пустоту. Судя по всем такой хитрый триггер просто не будет работать как ожидается.
Собственно, это всегда надо иметь ввиду при использовании on_schema_init.
Почему выполнять триггер для записей из WAL может быть плохо?
Это скорее всего просто бессмысленно - если данные есть в WAL, то триггер по ним уже отработал в тот момент, когда эти данные попадали в WAL. Второй раз не нужно.
ToDo
box.info.status
is useful and can be added to the article. If yes, add this info.The text was updated successfully, but these errors were encountered: