diff options
-rw-r--r-- | src/backend/pgxc/locator/locator.c | 4 |
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 { |