через WAL а через скачивание snap - в этом случае получается before_replace не вызывается на каждой записи?
зависит от того момента, в который поставлен триггер. начиная с 2.* есть триггер box.ctl.on_schema_init() который вызывается в момент когда собрана схема, и появился box.space но сам снапшот еще не прочитан. внутри него можно выставить пирамиду триггеров, чтобы поставить *_replace на спейс до начала чтения данных самого спейса из снапшота. но я надеюсь, так никто не делает. в 1.10 так сделать технически нельзя, поэтому да, при подъеме из снапов/джойне новой реплики триггеры не могут работать
> но я надеюсь, так никто не делает Изначальная задача - иметь такую БД чтобы все записи удовлетворяли некоторому локальному условию. При том возможен византийский отказ. В таком случае на 1.10 нужно после восстановления из snap пройтись по всем записям видимо?
в случае 1.10 просто и отказоустойчиво сделать кажется не выйдет. имеет смвсл обновиться на 2.10-2.11 там хоть пирамиду триггеров можно построить. с другой стороны, если получится гарантировать, что в снапшоте всегда исполняется требуемое локальное условие — то перепроверять сам снапшот не нужно. то есть, все что легло в диск (снапшот и хлоги) всегда приведут базу к корректному локальному состоянию
Обсуждают сегодня