Bug #22346 3r: Incorrect dist key handling in case of master node failure
Submitted: 14 Sep 2006 13:36 Modified: 18 Dec 2008 9:45
Reporter: Jonas Oreland Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Cluster: Cluster (NDB) storage engine Severity:S3 (Non-critical)
Version:5.1 OS:Any
Assigned to: Jonas Oreland CPU Architecture:Any

[14 Sep 2006 13:36] Jonas Oreland
Description:
Six nodes, 3 replicas, 2 node groups
X0 X1 X2 Y0 Y1 Y2

X0 is DIH Master
Y0 Goes down
Y0 Starts up
X0 Starts running CREATE_FRAG_REQ to all DIH
If X0 then fails, some of alive nodes can have received CREATE_FRAG_REQ while 
  others may not have received it...This can lead to inconsistent fragDistKey
Which will lead to 1204.

How to repeat:
Six nodes, 3 replicas, 2 node groups
X0 X1 X2 Y0 Y1 Y2

X0 is DIH Master
Y0 Goes down
Y0 Starts up
X0 Starts running CREATE_FRAG_REQ to all DIH
If X0 then fails, some of alive nodes can have received CREATE_FRAG_REQ while 
  others may not have received it...This can lead to inconsistent fragDistKey
Which will lead to 1208.

Suggested fix:
1) Only check fragDistKey during node recovery (fix in LQH)
2) Add extra phase before CREATE_FRAG_REQ to compute unique new fragDistKey
  (maybe max() + 1)
[18 Dec 2008 9:45] Jonas Oreland
this has been fixed,
close wo/ docs