powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Транзакция, стартуемая сервисом backup
3 сообщений из 3, страница 1 из 1
Транзакция, стартуемая сервисом backup
    #40042605
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К какой момент сервис стратует транзакцию? В вызове start() или в первом query()?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Транзакция, стартуемая сервисом backup
    #40042626
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сервис же в отдельном потоке работает. Так что скорее между start() и query().
...
Рейтинг: 0 / 0
Транзакция, стартуемая сервисом backup
    #40042629
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Собственно проблема в том, чтобы в базу, копирующуюся на другую ноду с помощью
бэкап-рестор (в отличии от физической копии у встроенной репликации), добавить запись о
том какие транзакции к ней были уже применены на этой ноде.

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

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

Если не будет лучших идей - придётся делать подобие TIP, что громоздко. И остаётся вопрос
сабжа: в какой момент брать номер последней транзакции, чтобы ничего не потерялось, но и
двойного применения было по минимуму.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Транзакция, стартуемая сервисом backup
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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