-
Lakshmi Narayanan Sreethar authored
IF IT CREATES PROBLEM STATES If a DDL is executed from a MySQL Server, during an ongoing upgrade of MySQL Cluster from a version that does not support MySQL Data Dictionary to a version that does, the schema might become inconsistent across the different nodes connected to the cluster, due to the following issues : 1) If the datanodes are not upgraded yet, then the DDL from the upgraded MySQL Server would create the schema with the new extraMetadata information which will be ignored by the older data nodes. Due to this, the schema distribution doesn't work and the schema change won't be distributed to any upgraded or unupgraded MySQL Servers. And if the MySQL Server, where the DDL originated, is restarted after the DDL, the schema object might be lost. 2) Any unupgraded MySQL Server connected to the cluster will miss out any schema changes made by a DDL from an upgraded MySQL Server as the older MySQL Server cannot read the newer extra metadata information. This patch fixes these issues by blocking all DDLs in ndbcluster during an upgrade, until all the nodes have been upgraded to a version that has support for MySQL Data Dictionary. Any database related DDLs are still allowed as they are executed in the Server layer and do not have these issues. DDLs are still allowed from the unupgraded MySQL Servers. They will succeed in executing the DDL but the subsequent attempt to distribute them to any upgraded MySQL Server will fail. The DDLs will eventually get distributed to the upgraded MySQL Servers when the schema object is being accessed or by the metadata sync thread if it is running. They can also be synced by restarting the upgraded MySQL Server. Change-Id: I7e61a6f6721a231dbf4d3cc505a0e1086fc466b7
Lakshmi Narayanan Sreethar authoredIF IT CREATES PROBLEM STATES If a DDL is executed from a MySQL Server, during an ongoing upgrade of MySQL Cluster from a version that does not support MySQL Data Dictionary to a version that does, the schema might become inconsistent across the different nodes connected to the cluster, due to the following issues : 1) If the datanodes are not upgraded yet, then the DDL from the upgraded MySQL Server would create the schema with the new extraMetadata information which will be ignored by the older data nodes. Due to this, the schema distribution doesn't work and the schema change won't be distributed to any upgraded or unupgraded MySQL Servers. And if the MySQL Server, where the DDL originated, is restarted after the DDL, the schema object might be lost. 2) Any unupgraded MySQL Server connected to the cluster will miss out any schema changes made by a DDL from an upgraded MySQL Server as the older MySQL Server cannot read the newer extra metadata information. This patch fixes these issues by blocking all DDLs in ndbcluster during an upgrade, until all the nodes have been upgraded to a version that has support for MySQL Data Dictionary. Any database related DDLs are still allowed as they are executed in the Server layer and do not have these issues. DDLs are still allowed from the unupgraded MySQL Servers. They will succeed in executing the DDL but the subsequent attempt to distribute them to any upgraded MySQL Server will fail. The DDLs will eventually get distributed to the upgraded MySQL Servers when the schema object is being accessed or by the metadata sync thread if it is running. They can also be synced by restarting the upgraded MySQL Server. Change-Id: I7e61a6f6721a231dbf4d3cc505a0e1086fc466b7
Loading