powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / бработка ошибок при асинхронной репликации в несколько приём
19 сообщений из 19, страница 1 из 1
бработка ошибок при асинхронной репликации в несколько приём
    #39146772
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если идёт асинхронная (или полусинхронная) репликация в несколько БД-приёмников
одновременно, как обрабатываются ошибки репликации, случившиеся только на одном из приёмников?

Скажем, из пяти slave четыре на commit сказали "ок", а третий (по счёту) вернул "извини,
не могу". Что делают умные люди в таких случаях?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
бработка ошибок при асинхронной репликации в несколько приём
    #39146774
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

Я бы добивался, пока все не скажут ок. Разнообразными способами, в зависимости от ошибки.
...
Рейтинг: 0 / 0
бработка ошибок при асинхронной репликации в несколько приём
    #39146782
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

повторяют попытку, если неудачно - сигналят админу. На автомате врядли можно разрулить корректно.
...
Рейтинг: 0 / 0
бработка ошибок при асинхронной репликации в несколько приём
    #39146788
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMaster> повторяют попытку, если неудачно - сигналят админу

Это от "не могу" зависит. В некоторых случаях повторять
только на сбойном, в некоторых вообще повторять смысла нет.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
бработка ошибок при асинхронной репликации в несколько приём
    #39146789
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMasterповторяют попытку, если неудачно - сигналят админу.
Попытку чего именно следует повторять в случае когда, например, проблемный сервер ушёл в
перезагрузку и вернётся через пару минут?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
бработка ошибок при асинхронной репликации в несколько приём
    #39146794
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

Попытку еще раз заслать данные. Насчет 2 минут - не факт. Может на принимающей стороне сбой на пару суток работы - непредсказуемо в общем.
...
Рейтинг: 0 / 0
бработка ошибок при асинхронной репликации в несколько приём
    #39146803
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMasterПопытку еще раз заслать данные.
Это значит, что надо откатить транзакцию на этом конкретном приёмнике и полностью её
повторить?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
бработка ошибок при асинхронной репликации в несколько приём
    #39146805
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

Я вижу так. Тут или все прошло или нет. По идее нельзя делать частичный коммит.
...
Рейтинг: 0 / 0
бработка ошибок при асинхронной репликации в несколько приём
    #39146808
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMasterЯ вижу так. Тут или все прошло или нет. По идее нельзя делать частичный
коммит.
Это значит, что все данные транзакции надо буферизовать в каком-нибудь логе, что, впрочем,
не проблема. Но что когда и повторная попытка провалится? На оставшихся-то четырёх
приёмниках транзакция уже закоммичена...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
бработка ошибок при асинхронной репликации в несколько приём
    #39146813
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovЧто делают умные люди в таких случаях?Изучают протокол two phase commit
...
Рейтинг: 0 / 0
бработка ошибок при асинхронной репликации в несколько приём
    #39146903
YuRock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DimitryНо что когда и повторная попытка провалится? На оставшихся-то четырёх
приёмниках транзакция уже закоммичена...
Ну вот, "отключать" проблемный приемник, пока админ не вмешается и не заставит его принять этот пакет вместе со следующими. Я как-то так понимаю репликацию.
...
Рейтинг: 0 / 0
бработка ошибок при асинхронной репликации в несколько приём
    #39146985
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovЭто значит, что все данные транзакции надо буферизовать в каком-нибудь логе
для асинхронной репликации они и так буферизированы (в журнале), разве нет? Просто не удаляй из него данные, пока не подтвердили все приемники. Т.е. кто-то читает журнал с одной позиции, а кто-то - с другой (retry после сбоя). И предусмотреть возможность вручную (или по таймауту) выкинуть сбойную ноду.
...
Рейтинг: 0 / 0
бработка ошибок при асинхронной репликации в несколько приём
    #39147002
sergpn_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovЕсли идёт асинхронная (или полусинхронная) репликация в несколько БД-приёмников
одновременно, как обрабатываются ошибки репликации, случившиеся только на одном из приёмников?

Скажем, из пяти slave четыре на commit сказали "ок", а третий (по счёту) вернул "извини,
не могу". Что делают умные люди в таких случаях?

на умность не претендую -
у нас есть механизм настраивания промежутка после которого нода уже не пытается подняться самостоятельно, с вычиткой накопившихся изменений .
промежуток может выражаться как во времени прошедшем со момента последней транзакции (на самой ноде)
так и в количестве не отправленных транзакций (на мастере).
...
Рейтинг: 0 / 0
бработка ошибок при асинхронной репликации в несколько приём
    #39147251
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrкто-то читает журнал с одной позиции, а кто-то - с другой (retry после сбоя).

То есть на каждый приёмник работает выделенный парсер?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
бработка ошибок при асинхронной репликации в несколько приём
    #39147257
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

да. Или даже каждый приемник работает со своей копией журнала и творит с ней что хочет.
...
Рейтинг: 0 / 0
бработка ошибок при асинхронной репликации в несколько приём
    #39148470
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда вопрос номер два: предположим, есть синхронная репликация с возможностью fallback в
асинхронную при временном выпадении одной ноды (причём только для данной ноды). Есть идеи
как можно автоматически производить процедуру обратного перехода этой ноды из асинхронного
режима в синхронный?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
бработка ошибок при асинхронной репликации в несколько приём
    #39148473
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

Если нода вычитала весь журнал с данными и применила изменениями - что мешает ей перейти в синхронный режим? Или это я не в ту сторону смотрю?
...
Рейтинг: 0 / 0
бработка ошибок при асинхронной репликации в несколько приём
    #39148479
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMasterчто мешает ей перейти в синхронный режим?
Например, то, что уже работающие на этот момент транзакции её не считают синхронной и
незакоммиченные изменения ей не посылают. А если включить эту ноду в список синхронных
только для новых транзакций, то нарушится сериализация транзакций, когда данные от текущие
активных транзакций (после того, как они завершатся) будут досылаться на эту ноду из лога
позже новых, синхронных.

Покамест мне видится только вариант ждать момента, когда активных транзакций вообще нет.
При высокой нагрузке, я подозреваю, этого можно ждать долго.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
бработка ошибок при асинхронной репликации в несколько приём
    #39148659
sergpn_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov

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

или организовывать его принудительно - как перед выборами "день тишины" так и здесь - секунда на "определится" кто есть кто, частоту актуализации состояния нод можно отдать на откуп админам.
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / бработка ошибок при асинхронной репликации в несколько приём
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]