kubeblocks icon indicating copy to clipboard operation
kubeblocks copied to clipboard

[BUG] Changing a non-existent parameter will cause MySQL to terminate.

Open weicao opened this issue 5 months ago • 0 comments

Describe the bug

The parameter "query_response_time_stats" exists in Percona MySQL and MariaDB, and doesn't exist in MySQL Community Edition.

However, change the parameter is allowed

s$ kbcli cluster configure laurel47 --components=mysql --config-spec=mysql-consensusset-config  --set query_response_time_stats=ON
Warning: The parameter change incurs a cluster restart, which brings the cluster down for a while. Enter to continue...
Please type "yes" to confirm: yes
Will updated configure file meta:
  ConfigSpec: mysql-consensusset-config	  ConfigFile: my.cnf	ComponentName: mysql	ClusterName: laurel47
OpsRequest laurel47-reconfiguring-qzmms created successfully, you can view the progress:
	kbcli cluster describe-ops laurel47-reconfiguring-qzmms -n default

Even worse, MySQL will fail to start.

$ kubectl get pods
NAME               READY   STATUS             RESTARTS      AGE
laurel47-mysql-0   3/4     CrashLoopBackOff   6 (19s ago)   6m58s

Expected behavior

The controller should detect that the parameter does not exist and fail the operation.

Desktop (please complete the following information): $ kbcli version Kubernetes: v1.23.8+k3s1 KubeBlocks: 0.9.0 kbcli: 0.9.0

weicao avatar Sep 03 '24 13:09 weicao