mirror of
https://github.com/outbackdingo/patroni.git
synced 2026-08-25 14:53:37 +00:00
* Avoid retries when syncing replication slots. Do not retry postgres queries that fetch, create and drop slots at the end of the HA cycle. The complete run_cycle routine executes with the async_executor lock. This lock is also used with scheduling operations like reinit or restart in different threads. Looks like CPython threading class has fairness issues when multiple threads try to acquire the same lock and one of them executes long-running actions while holding it: the others have little chances of acquiring the lock in order. To get around this issue, the long action (i.e. retrying the query) is removed. Investigation by Ants Aasma and Alexander Kukushkin.