summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/backend/pgxc/locator/locator.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/backend/pgxc/locator/locator.c b/src/backend/pgxc/locator/locator.c
index 2c8aa676ae..4c7772f07d 100644
--- a/src/backend/pgxc/locator/locator.c
+++ b/src/backend/pgxc/locator/locator.c
@@ -577,7 +577,6 @@ RelationBuildLocator(Relation rel)
*/
offset = compute_modulo(abs(rand()), list_length(relationLocInfo->rl_nodeList));
- srand(time(NULL));
relationLocInfo->roundRobinNode = relationLocInfo->rl_nodeList->head; /* initialize */
for (j = 0; j < offset && relationLocInfo->roundRobinNode->next != NULL; j++)
relationLocInfo->roundRobinNode = relationLocInfo->roundRobinNode->next;
@@ -907,7 +906,8 @@ createLocator(char locatorType, RelationAccessType accessType,
Assert(false);
break;
}
- locator->roundRobinNode = -1;
+ /* randomize choice of the initial node */
+ locator->roundRobinNode = (abs(rand()) % locator->nodeCount) - 1;
}
else
{