-
Arnab Ray authored
Problem: -------- The NDB index stat tables are missing from the MySQL Server after an initial system restart. The binlog thread of the first MySQL Server connecting to the Cluster post an initial restart pokes the index stat thread to inform it about the initial restart. The index stat thread then recycles its Ndb object and creates the index stat tables in NDB. The binlog thread signals the index stat thread after the synchronization phase which results in the tables not being synced to the DD of the first MySQL Server connecting to the Cluster. If there are multiple MySQL Servers connecting to the Cluster, there's a race condition during subsequent MySQL Server connections where the index stat tables could be synchronized or not depending on when the index stat thread creates the tables in NDB. If the creation occurs in the middle of the sync during binlog setup of a Server, it opens the door to unpredictable behaviour and errors in the sync of these tables. Fix: ---- The ndb_index_stat_head and ndb_index_stat_sample tables aren't exposed to the MySQL Server. This makes them exempt from all types of metadata synchronization and table discovery. The presence of these tables in the MySQL Server offers little value to users since their contents are incomprehensible without some kind of parsing. The tables remain visible and accessible via NDB tools such as ndb_show_tables, ndb_desc, and ndb_select_all. Change-Id: I30bdce6451cc1c99b6f7dc982fc634ddcce61404
Arnab Ray authoredProblem: -------- The NDB index stat tables are missing from the MySQL Server after an initial system restart. The binlog thread of the first MySQL Server connecting to the Cluster post an initial restart pokes the index stat thread to inform it about the initial restart. The index stat thread then recycles its Ndb object and creates the index stat tables in NDB. The binlog thread signals the index stat thread after the synchronization phase which results in the tables not being synced to the DD of the first MySQL Server connecting to the Cluster. If there are multiple MySQL Servers connecting to the Cluster, there's a race condition during subsequent MySQL Server connections where the index stat tables could be synchronized or not depending on when the index stat thread creates the tables in NDB. If the creation occurs in the middle of the sync during binlog setup of a Server, it opens the door to unpredictable behaviour and errors in the sync of these tables. Fix: ---- The ndb_index_stat_head and ndb_index_stat_sample tables aren't exposed to the MySQL Server. This makes them exempt from all types of metadata synchronization and table discovery. The presence of these tables in the MySQL Server offers little value to users since their contents are incomprehensible without some kind of parsing. The tables remain visible and accessible via NDB tools such as ndb_show_tables, ndb_desc, and ndb_select_all. Change-Id: I30bdce6451cc1c99b6f7dc982fc634ddcce61404
Loading