Почему атомикос регулярно пингует pg_prepared_xacts - PullRequest
0 голосов
/ 24 мая 2018

У меня есть весеннее загрузочное приложение, которое обновляет две базы данных Postgres.Я использую Atomikos для управления распределенными транзакциями.

Я вижу, что мое приложение делает запрос в обе базы данных каждые 10 секунд: "SELECT gid FROM pg_prepared_xacts, где database = current_database ()"

Мне интересноЗачем?Имеет ли атомикос какое-то свойство для смены периода?Например 1 минута.Что будет, если запрос вернет некоторые цифры?

Я много искал интернет по этому вопросу, но не нашел ответа.

У меня есть предположение, и я хочу знать, как правильноответ.

1 Ответ

0 голосов
/ 28 мая 2018
  1. Почему Atomikos пингует pg_prepared_xacts?

Вызывает «сканирование восстановления», а целью является восстановление после сбоя приложения или ошибки в приложении.Из-за этого в базе данных не будет «осиротевших» подготовленных транзакций, созданных Atomikos.

Есть ли у atomikos какое-либо свойство для изменения периода?

Да, оно имеет: com.atomikos.icatch.recovery_delay.Другие полезные свойства здесь: JtaProperties

Что будет, если запрос вернет некоторые gids?

Atomikos проверяет, есть ли возвращенные значения gid в журнале транзакций atomikos и имеют статус «совершить».Если это так, он совершит подготовительные транзакции, иначе он откатит транзакции.Обратите внимание, что Atomikos будет обрабатывать подготовленные им транзакции подготовки и не будет обрабатывать другие подготовительные транзакции.

...