LICENSE MIT
When inserting a new vldb server, if the rank is 0 (unknown), do not
override the default rank assigned by cm_NewServer(). Doing so erases
the randomized ranking.
else
tsp = cm_NewServer(addrp, CM_SERVER_VLDB, cellp, NULL, probe ? 0 : CM_FLAG_NOPROBE);
- tsp->ipRank = ipRank;
+ if (ipRank)
+ tsp->ipRank = ipRank;
/* Insert the vlserver into a sorted list, sorted by server rank */
tsrp = cm_NewServerRef(tsp, 0);
} else {
lock_ReleaseMutex(&cp->mx);
}
+
+ if (code == 0)
+ cm_RandomizeServer(&cp->vlServersp);
+
return code ? NULL : cp;
}