Skip to content

Commit 8a97f40

Browse files
DPE-7726: Stop deffering for non-joined peers on on_start/on_config_changed
Those defers are necessary to support scale-up/scale-down during the refresh, while they have significalty slowdown PostgreSQL 16 bootstrap (and other daily related mainteinance tasks, like re-scaling, full node reboot/recovery, etc). Muting them for now with the proper documentation record to forbid rescaling during the refresh, untli we minimise amount of defers in PG16. Throw and warning for us to recall this promiss.
1 parent f134270 commit 8a97f40

File tree

1 file changed

+4
-8
lines changed

1 file changed

+4
-8
lines changed

src/charm.py

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1428,10 +1428,8 @@ def _on_config_changed(self, event) -> None: # noqa: C901
14281428
return
14291429

14301430
if self.refresh is None:
1431-
logger.debug("Defer on_config_changed: Refresh could be in progress")
1432-
event.defer()
1433-
return
1434-
if self.refresh.in_progress:
1431+
logger.warning("Warning _on_config_changed: Refresh could be in progress")
1432+
elif self.refresh.in_progress:
14351433
logger.debug("Defer on_config_changed: Refresh in progress")
14361434
event.defer()
14371435
return
@@ -1553,10 +1551,8 @@ def _can_start(self, event: StartEvent) -> bool:
15531551

15541552
# Safeguard against starting while refreshing.
15551553
if self.refresh is None:
1556-
logger.debug("Defer on_start: Refresh could be in progress")
1557-
event.defer()
1558-
return False
1559-
if self.refresh.in_progress:
1554+
logger.warning("Warning on_start: Refresh could be in progress")
1555+
elif self.refresh.in_progress:
15601556
# TODO: we should probably start workload if scale up while refresh in progress
15611557
logger.debug("Defer on_start: Refresh in progress")
15621558
event.defer()

0 commit comments

Comments
 (0)