@@ -452,7 +452,7 @@ def _on_peer_relation_joined(self, _) -> None:
452
452
self .unit_peer_data .setdefault ("member-role" , "unknown" )
453
453
self .unit_peer_data .setdefault ("member-state" , "waiting" )
454
454
455
- def _on_config_changed (self , event : EventBase ) -> None :
455
+ def _on_config_changed (self , _ : EventBase ) -> None :
456
456
"""Handle the config changed event."""
457
457
if not self ._is_peer_data_set :
458
458
# skip when not initialized
@@ -463,12 +463,6 @@ def _on_config_changed(self, event: EventBase) -> None:
463
463
# the upgrade already restart the daemon
464
464
return
465
465
466
- if not self ._mysql .is_mysqld_running ():
467
- # defer config-changed event until MySQL is running
468
- logger .debug ("Deferring config-changed event until MySQL is running" )
469
- event .defer ()
470
- return
471
-
472
466
config_content = self ._mysql .read_file_content (MYSQLD_CONFIG_FILE )
473
467
if not config_content :
474
468
# empty config means not initialized, skipping
@@ -492,8 +486,11 @@ def _on_config_changed(self, event: EventBase) -> None:
492
486
493
487
# persist config to file
494
488
self ._mysql .write_content_to_file (path = MYSQLD_CONFIG_FILE , content = new_config_content )
495
- self .on [f"{ self .restart .name } " ].acquire_lock .emit ()
496
- return
489
+
490
+ if self ._mysql .is_mysqld_running ():
491
+ # restart the service
492
+ self .on [f"{ self .restart .name } " ].acquire_lock .emit ()
493
+ return
497
494
498
495
if dynamic_config := self .mysql_config .filter_static_keys (changed_config ):
499
496
# if only dynamic config changed, apply it
0 commit comments