kubeblocks
kubeblocks copied to clipboard
[BUG] Changing a non-existent parameter will cause MySQL to terminate.
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