Skip to content
  • Lakshmi Narayanan Sreethar's avatar
    b0d044b8
    Bug#30877440 NDB 8.0 : RESTRICT DDL DURING UPGRADE · b0d044b8
    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
    b0d044b8
    Bug#30877440 NDB 8.0 : RESTRICT DDL DURING UPGRADE
    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
Loading