Bug #75964 Fails on LCP_FRAG_ORD in master takeover after completing a checkpoint
Submitted: 19 Feb 2015 10:57 Modified: 16 Mar 2015 17:41
Reporter: Mikael Ronström Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Cluster: Cluster (NDB) storage engine Severity:S2 (Serious)
Version:7.4.4 OS:Any
Assigned to: CPU Architecture:Any

[19 Feb 2015 10:57] Mikael Ronström
Description:
LCP_FRAG_ORD signals can be sent as part of master takeover and the master isn't perfectly
synchronised with reality, so some signals have to be dropped. The master can even send
a LCP_FRAG_ORD with last fragment flag set even when the LCP has been completed. So it needs
to drop those signals as well.

How to repeat:
Run autotest with ndbd, the problem doesn't happen with ndbmtd

Suggested fix:
Ensure that lastFragmentFlag=true persists until the next LCP starts.
[16 Mar 2015 17:41] Jon Stephens
Documented fix in the NDB 7.4.5 changelog, as follows:

    When sending LCP_FRAG_ORD signals as part of master takeover, it is 
    possible that the master not is not synchronized with complete 
    accuracy in real time, so that some signals must be dropped. During 
    this time, the master can send a LCP_FRAG_ORD signal with its 
    lastFragmentFlag set even after the LCP has been completed. This 
    enhancement causes this flag to persist until the statrt of the next 
    local checkpoint, which causes these signals to be dropped as well.

    This change affects ndbd only; the issue described did not occur with ndbmtd.

Closed.