Description:
Failing to restarting of a node too many times gives poor error message
Message: Array index out of range (Internal error, programming error or missing error message, please report a bug)
Error: 2304
Error data: DbdihMain.cpp
Error object: DBDIH (Line: 8287) 0x0000000a
How to repeat:
have node restart fail in e.g. startphase 5, 8 times
Suggested fix:
/*--------------------------------------------------------------
* SINCE IT WAS NOT ALIVE AT THE TIME OF THE SYSTEM CRASH THIS IS
* A COMPLETELY NEW REPLICA. WE WILL SET THE CREATE GCI TO BE THE
* NEXT GCI TO BE EXECUTED.
*--------_----------------------------------------------------- */
const Uint32 nextCrashed = noCrashedReplicas + 1;
replicaPtr.p->noCrashedReplicas = nextCrashed;
arrGuard(nextCrashed, 8);
replicaPtr.p->createGci[nextCrashed] = newestRestorableGCI + 1;
ndbrequire(newestRestorableGCI + 1 != 0xF1F1F1F1);
replicaPtr.p->replicaLastGci[nextCrashed] = (Uint32)-1;
fix arrGuard to give correct error message