-
Maitrayi Sabaratnam authored
Problem: Injector thread consumes epoch events from event buffer (EB) queue and writes to the Binlog. When the consumption gets slow, the EB becomes full causing mysqld to shut down. Fix: This EB-out-of memory(OOM) should be treated like inconsistent epoch, by injecting a GAP event into the Binlog instead of crashing mysqld. The current event API is unable to get exceptional events like empty, inconsistent or OOM. Use the new event API (nextEvent2, etc) in order to get these events and handle them. This patch series uses the 'new event API' for injector ndb, but not for schema ndb. Reasons: S_ndb has not handled TE_INCONSISTENT by writing gap epoch earlier. It gets fewer events compared to injector ndb. Reviewed by: Martin Skold <Martin.Skold@oracle.com>
Maitrayi Sabaratnam authoredProblem: Injector thread consumes epoch events from event buffer (EB) queue and writes to the Binlog. When the consumption gets slow, the EB becomes full causing mysqld to shut down. Fix: This EB-out-of memory(OOM) should be treated like inconsistent epoch, by injecting a GAP event into the Binlog instead of crashing mysqld. The current event API is unable to get exceptional events like empty, inconsistent or OOM. Use the new event API (nextEvent2, etc) in order to get these events and handle them. This patch series uses the 'new event API' for injector ndb, but not for schema ndb. Reasons: S_ndb has not handled TE_INCONSISTENT by writing gap epoch earlier. It gets fewer events compared to injector ndb. Reviewed by: Martin Skold <Martin.Skold@oracle.com>
Loading