215 похожих чатов

И второй вопрос - в случае восстановление данных ноды не

через WAL а через скачивание snap - в этом случае получается before_replace не вызывается на каждой записи?

3 ответов

11 просмотров

зависит от того момента, в который поставлен триггер. начиная с 2.* есть триггер box.ctl.on_schema_init() который вызывается в момент когда собрана схема, и появился box.space но сам снапшот еще не прочитан. внутри него можно выставить пирамиду триггеров, чтобы поставить *_replace на спейс до начала чтения данных самого спейса из снапшота. но я надеюсь, так никто не делает. в 1.10 так сделать технически нельзя, поэтому да, при подъеме из снапов/джойне новой реплики триггеры не могут работать

Игрь-Минеев Автор вопроса

> но я надеюсь, так никто не делает Изначальная задача - иметь такую БД чтобы все записи удовлетворяли некоторому локальному условию. При том возможен византийский отказ. В таком случае на 1.10 нужно после восстановления из snap пройтись по всем записям видимо?

Игрь Минеев
> но я надеюсь, так никто не делает Изначальная з...

в случае 1.10 просто и отказоустойчиво сделать кажется не выйдет. имеет смвсл обновиться на 2.10-2.11 там хоть пирамиду триггеров можно построить. с другой стороны, если получится гарантировать, что в снапшоте всегда исполняется требуемое локальное условие — то перепроверять сам снапшот не нужно. то есть, все что легло в диск (снапшот и хлоги) всегда приведут базу к корректному локальному состоянию

Похожие вопросы

Обсуждают сегодня

А чем вам питонисты не угодили?😂
.
79
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
48
type TObj = object procedure Init; virtual; end; TObj1 = object(TObj) procedure Init; override; end; procedure TObj1.Init; begin inherited; end; procedur...
Alexander 👋
29
Такой вопросец - есть функция function MySuperDuperConcat(const a: array of AnsiString): AnsiString; Как мне в её теле сделать вот так? Result:=Concat(a); А не грустный вариан...
notme
15
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
86
Нужен пулл реквест с хаммингберд + асинкхттпклиент или хаммингберд + юрлсессия?
Karl {🌪️}{🐊} Shinobi
7
Всем привет. Поделитесь, пожалуйста, опытом. Есть форма, на которой имеется dbgrid и кнопки: добавить, редактировать, удалить. Если нет записей в dbgrid, то кнопки редактирова...
Евгений
5
может там как раз сжатие?
Дмитрий
7
Как структуру (из MSVC) в которой описаны битовые поля описать для fasm? Вот например это (fBinary...fDummy2 - это физически 1 DWORD): typedef struct _DCB { DWORD DCBlength;...
Евгений
3
type TExtensions<GExtender>=class function GetExtension<GEntityExtenderType>:GEntityExtenderType; end; function TExtensions<GExtender>.GetExtension<GEntityExtenderType...
zamtmn
9
Карта сайта