Skip to content

Commit 216a287

Browse files
Fix identity for sticky worker (#659)
1 parent 317135c commit 216a287

File tree

1 file changed

+20
-19
lines changed

1 file changed

+20
-19
lines changed

src/main/java/com/uber/cadence/worker/WorkerFactory.java

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,9 @@
3333
import com.uber.cadence.internal.worker.WorkflowPollTaskFactory;
3434
import com.uber.m3.tally.Scope;
3535
import com.uber.m3.util.ImmutableMap;
36+
import org.slf4j.Logger;
37+
import org.slf4j.LoggerFactory;
38+
3639
import java.net.InetAddress;
3740
import java.net.UnknownHostException;
3841
import java.util.ArrayList;
@@ -45,8 +48,6 @@
4548
import java.util.concurrent.TimeUnit;
4649
import java.util.concurrent.atomic.AtomicInteger;
4750
import java.util.stream.Collectors;
48-
import org.slf4j.Logger;
49-
import org.slf4j.LoggerFactory;
5051

5152
/** Maintains worker creation and lifecycle. */
5253
public final class WorkerFactory {
@@ -63,7 +64,7 @@ public static WorkerFactory newInstance(
6364
private final List<Worker> workers = new ArrayList<>();
6465
private final WorkflowClient workflowClient;
6566
// Guarantee uniqueness for stickyTaskListName when multiple factories
66-
private final UUID id = UUID.randomUUID();
67+
private final UUID stickyTasklistRandomId = UUID.randomUUID();
6768
private final ThreadPoolExecutor workflowThreadPool;
6869
private final AtomicInteger workflowThreadCounter = new AtomicInteger();
6970
private final WorkerFactoryOptions factoryOptions;
@@ -122,20 +123,20 @@ public WorkerFactory(WorkflowClient workflowClient, WorkerFactoryOptions factory
122123
dispatcher = new PollDecisionTaskDispatcher(workflowClient.getService());
123124
stickyPoller =
124125
new Poller<>(
125-
id.toString(),
126-
new WorkflowPollTaskFactory(
127-
workflowClient.getService(),
128-
workflowClient.getOptions().getDomain(),
129-
getStickyTaskListName(),
130-
stickyScope,
131-
id.toString())
132-
.get(),
133-
dispatcher,
134-
PollerOptions.newBuilder()
135-
.setPollThreadNamePrefix(POLL_THREAD_NAME)
136-
.setPollThreadCount(this.factoryOptions.getStickyPollerCount())
137-
.build(),
138-
stickyScope);
126+
workflowClient.getOptions().getIdentity(),
127+
new WorkflowPollTaskFactory(
128+
workflowClient.getService(),
129+
workflowClient.getOptions().getDomain(),
130+
getStickyTaskListName(),
131+
stickyScope,
132+
workflowClient.getOptions().getIdentity())
133+
.get(),
134+
dispatcher,
135+
PollerOptions.newBuilder()
136+
.setPollThreadNamePrefix(POLL_THREAD_NAME)
137+
.setPollThreadCount(this.factoryOptions.getStickyPollerCount())
138+
.build(),
139+
stickyScope);
139140
}
140141

141142
/**
@@ -336,8 +337,8 @@ private String getHostName() {
336337
@VisibleForTesting
337338
String getStickyTaskListName() {
338339
return this.factoryOptions.isDisableStickyExecution()
339-
? null
340-
: String.format("%s:%s:%s", STICKY_TASK_LIST_PREFIX, getHostName(), id);
340+
? null
341+
: String.format("%s:%s:%s", STICKY_TASK_LIST_PREFIX, getHostName(), stickyTasklistRandomId);
341342
}
342343

343344
public synchronized void suspendPolling() {

0 commit comments

Comments
 (0)