Add the option to skip the node that is executing the node

pull/2345/head
Onder Kalaci 2018-08-20 17:50:38 +03:00
parent a4c6cefb17
commit 97ba7bf2eb
2 changed files with 19 additions and 2 deletions

View File

@ -117,7 +117,15 @@ SendBareCommandListToWorkers(TargetWorkerSet targetWorkerSet, List *commandList)
int nodePort = workerNode->workerPort;
int connectionFlags = FORCE_NEW_CONNECTION;
if (targetWorkerSet == WORKERS_WITH_METADATA && !workerNode->hasMetadata)
if ((targetWorkerSet == WORKERS_WITH_METADATA ||
targetWorkerSet == WORKERS_WITH_METADATA_EXCLUDE_CURRENT_WORKER) &&
!workerNode->hasMetadata)
{
continue;
}
if (targetWorkerSet == WORKERS_WITH_METADATA_EXCLUDE_CURRENT_WORKER &&
workerNode->groupId == GetLocalGroupId())
{
continue;
}
@ -169,7 +177,15 @@ SendCommandToWorkersParams(TargetWorkerSet targetWorkerSet, char *command,
MultiConnection *connection = NULL;
int connectionFlags = 0;
if (targetWorkerSet == WORKERS_WITH_METADATA && !workerNode->hasMetadata)
if ((targetWorkerSet == WORKERS_WITH_METADATA ||
targetWorkerSet == WORKERS_WITH_METADATA_EXCLUDE_CURRENT_WORKER) &&
!workerNode->hasMetadata)
{
continue;
}
if (targetWorkerSet == WORKERS_WITH_METADATA_EXCLUDE_CURRENT_WORKER &&
workerNode->groupId == GetLocalGroupId())
{
continue;
}

View File

@ -22,6 +22,7 @@
typedef enum TargetWorkerSet
{
WORKERS_WITH_METADATA,
WORKERS_WITH_METADATA_EXCLUDE_CURRENT_WORKER,
ALL_WORKERS
} TargetWorkerSet;