Bug #108426 | Adding instance to a new replica cluster under load results in errors | ||
---|---|---|---|
Submitted: | 8 Sep 2022 12:36 | Modified: | 6 Dec 2022 11:06 |
Reporter: | Jay Janssen | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | Shell AdminAPI InnoDB Cluster / ReplicaSet | Severity: | S3 (Non-critical) |
Version: | 8.0.30 | OS: | Any |
Assigned to: | CPU Architecture: | Any |
[8 Sep 2022 12:36]
Jay Janssen
[8 Sep 2022 12:37]
Jay Janssen
output log of script setting up new replica clsuter
Attachment: replica-cluster-setup.log (application/octet-stream, text), 6.39 KiB.
[9 Sep 2022 10:30]
MySQL Verification Team
Hi, I think this is not a bug. You had to wait for the first node you added to finish creating before you added a new one (and you could after first one finished) but I will check with GR dev team if there is something else we might report instead of that errror. thanks for your interest in MySQL
[9 Sep 2022 11:15]
Jay Janssen
> I think this is not a bug. You had to wait for the first node you added to finish creating before you added a new one (and you could after first one finished) The create_replica_cluster command completed successfully before I called add_instance, so I feel like I did wait. I am also setting the 'timeout' flag on create_replica_cluster command, which states from you documentation: "timeout: maximum number of seconds to wait for the instance to sync up with the PRIMARY Cluster. Default is 0 and it means no timeout." Given that I am setting that to a high value, isn't it reasonable to expect that after the create_replica_cluster command returns, that the new replica cluster would be synced up with the primary?
[9 Sep 2022 11:28]
MySQL Verification Team
Hi, I discussed this with GR dev team, things should not behave like this. There might be (or was, might be already fixed) a bug in AdminAPI. I'll try to reproduce this and move forward with it. Thanks
[9 Sep 2022 15:27]
Alfredo Kojima
The log you uploaded has some truncated output for cluster.status() at the end, would you happen to still have the full output in your terminal history?
[9 Sep 2022 18:34]
Alfredo Kojima
I was able to reproduce by using a fresh cluster handle from dba.getCluster() called after the replica cluster is created and before adding the secondaries.
[6 Dec 2022 11:06]
Edward Gilmore
Posted by developer: Added the following note to the MySQL Shell 8.0.32 release notes: Attempting to add an instance to a newly-created ReplicaCluster, if the Primary Cluster was under high load, failed with several errors related to super_read_only. This issue was caused by an out-of-date topology view, leading to the newly created ReplicaCluster being considered a standalone cluster. As of this release, createReplicaCluster() synchronizes the metadata update transactions. thereby ensuring it has the correct topology view.