Bug #21494 Master Cluster MySQLD is point of failure that can lead to mismatch slave data

- insert gap event on cluster connect
This commit is contained in:
unknown 2007-04-03 14:31:46 +02:00
parent e0f91f2262
commit e5a81746de
3 changed files with 10 additions and 2 deletions

View File

@ -3589,6 +3589,14 @@ restart:
/* /*
Main NDB Injector loop Main NDB Injector loop
*/ */
{
/*
Always insert a GAP event as we cannot know what has happened in the cluster
while not being connected.
*/
LEX_STRING const msg= { C_STRING_WITH_LEN("Cluster connect") };
inj->record_incident(thd, INCIDENT_LOST_EVENTS, msg);
}
{ {
thd->proc_info= "Waiting for ndbcluster to start"; thd->proc_info= "Waiting for ndbcluster to start";

View File

@ -198,7 +198,7 @@ int injector::record_incident(THD *thd, Incident incident)
return 0; return 0;
} }
int injector::record_incident(THD *thd, Incident incident, LEX_STRING message) int injector::record_incident(THD *thd, Incident incident, LEX_STRING const message)
{ {
Incident_log_event ev(thd, incident, message); Incident_log_event ev(thd, incident, message);
if (int error= mysql_bin_log.write(&ev)) if (int error= mysql_bin_log.write(&ev))

View File

@ -324,7 +324,7 @@ public:
void new_trans(THD *, transaction *); void new_trans(THD *, transaction *);
int record_incident(THD*, Incident incident); int record_incident(THD*, Incident incident);
int record_incident(THD*, Incident incident, LEX_STRING message); int record_incident(THD*, Incident incident, LEX_STRING const message);
private: private:
explicit injector(); explicit injector();