Skip to content
  • Arnab Ray's avatar
    b6e5bf3f
    Bug#31569436 AUTO SYNC: NO EASY WAY TO RECOVER FROM PERMANENT FAILURES · b6e5bf3f
    Arnab Ray authored
    Problem:
    --------
    
    In order to synchronize excluded metadata objects, users had to
    correct the underlying issue, if any, and then trigger the
    synchronization of the objects again. This could be achieved
    through discovery of individual tables or a complete
    synchronization by virtue of reconnecting the MySQL Server to
    the Cluster. Table discovery doesn't scale well with an increase
    in the number of tables and MySQL Servers while the latter
    approach involves the overhead of a reconnection to the Cluster.
    
    Fix:
    ----
    
    The excluded objects list is cleared when ndb_metadata_sync is
    set by the user. This makes all such objects eligible for
    synchronization in the ensuing detection run thus providing a
    simple way for users to retry the sync of all excluded objects.
    
    An additional improvement is to remove the validation logic for
    retry objects which used to take place at the beginning of every
    detection run. Since these objects are of interest only for the
    length of time ndb_metadata_sync remains enabled, the list of
    retry objects is cleared when ndb_metadata_sync is flipped to OFF
    which denotes that all changes have been synchronized. A further
    effect of this change is that the retry objects data structure no
    longer needs to be protected by a mutex. The data structure
    continues to be accessed by the binlog and metadata change monitor
    threads but this occurs only when ndb_metadata_sync is enabled and
    in serial fashion.
    
    Change-Id: Ie49367c05f6434fa36dabe280d09ad7a4348820c
    b6e5bf3f
    Bug#31569436 AUTO SYNC: NO EASY WAY TO RECOVER FROM PERMANENT FAILURES
    Arnab Ray authored
    Problem:
    --------
    
    In order to synchronize excluded metadata objects, users had to
    correct the underlying issue, if any, and then trigger the
    synchronization of the objects again. This could be achieved
    through discovery of individual tables or a complete
    synchronization by virtue of reconnecting the MySQL Server to
    the Cluster. Table discovery doesn't scale well with an increase
    in the number of tables and MySQL Servers while the latter
    approach involves the overhead of a reconnection to the Cluster.
    
    Fix:
    ----
    
    The excluded objects list is cleared when ndb_metadata_sync is
    set by the user. This makes all such objects eligible for
    synchronization in the ensuing detection run thus providing a
    simple way for users to retry the sync of all excluded objects.
    
    An additional improvement is to remove the validation logic for
    retry objects which used to take place at the beginning of every
    detection run. Since these objects are of interest only for the
    length of time ndb_metadata_sync remains enabled, the list of
    retry objects is cleared when ndb_metadata_sync is flipped to OFF
    which denotes that all changes have been synchronized. A further
    effect of this change is that the retry objects data structure no
    longer needs to be protected by a mutex. The data structure
    continues to be accessed by the binlog and metadata change monitor
    threads but this occurs only when ndb_metadata_sync is enabled and
    in serial fashion.
    
    Change-Id: Ie49367c05f6434fa36dabe280d09ad7a4348820c
Loading