From ab80a2e8b270936413189b04e4aa67fbc046662a Mon Sep 17 00:00:00 2001 From: Ants Aasma Date: Thu, 21 Aug 2025 09:56:30 +0300 Subject: [PATCH 1/2] Fix bad on_shutdown call and make pyright happy --- patroni/ha.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/patroni/ha.py b/patroni/ha.py index 69111b8ce..faf33d9cc 100644 --- a/patroni/ha.py +++ b/patroni/ha.py @@ -1626,8 +1626,7 @@ def on_shutdown(checkpoint_location: int, prev_location: int) -> None: status['released'] = True if mode == 'multisite': - on_shutdown = self.patroni.multisite.on_shutdown # pyright: ignore [reportAssignmentType] # noqa: F811 - + on_shutdown = self.patroni.multisite.on_shutdown def before_shutdown() -> None: if self.state_handler.mpp_handler.is_coordinator(): self.state_handler.mpp_handler.on_demote() @@ -1643,7 +1642,7 @@ def before_shutdown() -> None: # for demotion to a standby cluster we need shutdown checkpoint lsn to be written to optime, not the prev one checkpoint_lsn, prev_lsn = self.state_handler.latest_checkpoint_locations() \ - if mode == 'graceful' else (None, None) + if mode in ('graceful', 'multisite') else (None, None) is_standby_leader = mode == 'demote-cluster' and not status['released'] if is_standby_leader: @@ -1660,8 +1659,7 @@ def before_shutdown() -> None: time.sleep(2) # Give a time to somebody to take the leader lock if mode == 'multisite': - self.patroni.multisite.on_shutdown( - self.state_handler.latest_checkpoint_location(), None) # pyright: ignore [reportArgumentType] + self.patroni.multisite.on_shutdown(checkpoint_lsn, prev_lsn) # pyright: ignore [reportArgumentType] # noqa: F811 if mode == 'demote-cluster': if demote_cluster_with_archive: From f0115acd1b651e07a4d0b1ea4e2c5a3dc4fc59ac Mon Sep 17 00:00:00 2001 From: Ants Aasma Date: Thu, 21 Aug 2025 10:04:55 +0300 Subject: [PATCH 2/2] Make flake8 happy --- patroni/ha.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/patroni/ha.py b/patroni/ha.py index faf33d9cc..f8cca4e53 100644 --- a/patroni/ha.py +++ b/patroni/ha.py @@ -1626,7 +1626,8 @@ def on_shutdown(checkpoint_location: int, prev_location: int) -> None: status['released'] = True if mode == 'multisite': - on_shutdown = self.patroni.multisite.on_shutdown + on_shutdown = self.patroni.multisite.on_shutdown # noqa: F811 + def before_shutdown() -> None: if self.state_handler.mpp_handler.is_coordinator(): self.state_handler.mpp_handler.on_demote() @@ -1659,7 +1660,7 @@ def before_shutdown() -> None: time.sleep(2) # Give a time to somebody to take the leader lock if mode == 'multisite': - self.patroni.multisite.on_shutdown(checkpoint_lsn, prev_lsn) # pyright: ignore [reportArgumentType] # noqa: F811 + on_shutdown(checkpoint_lsn, prev_lsn) # pyright: ignore [reportArgumentType] # noqa: F811 if mode == 'demote-cluster': if demote_cluster_with_archive: