Skip to content

Commit eabd51f

Browse files
authored
Ensure identity copied to Builder from source WorkerOptions (#2151)
1 parent b95322f commit eabd51f

File tree

2 files changed

+59
-0
lines changed

2 files changed

+59
-0
lines changed

temporal-sdk/src/main/java/io/temporal/worker/WorkerOptions.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,7 @@ private Builder(WorkerOptions o) {
109109
this.useBuildIdForVersioning = o.useBuildIdForVersioning;
110110
this.buildId = o.buildId;
111111
this.stickyTaskQueueDrainTimeout = o.stickyTaskQueueDrainTimeout;
112+
this.identity = o.identity;
112113
}
113114

114115
/**

temporal-sdk/src/test/java/io/temporal/worker/WorkerOptionsTest.java

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,12 @@
2121
package io.temporal.worker;
2222

2323
import static org.junit.Assert.assertEquals;
24+
import static org.junit.Assert.assertSame;
2425
import static org.junit.Assert.assertThrows;
26+
import static org.mockito.Mockito.mock;
2527

2628
import io.temporal.worker.tuning.*;
29+
import java.time.Duration;
2730
import org.junit.Test;
2831

2932
public class WorkerOptionsTest {
@@ -50,6 +53,61 @@ public void verifyWorkerOptionsEquality() {
5053
assertEquals(w1, w2);
5154
}
5255

56+
@Test
57+
public void verifyNewBuilderFromExistingWorkerOptions() {
58+
WorkerOptions w1 =
59+
WorkerOptions.newBuilder()
60+
.setMaxWorkerActivitiesPerSecond(100)
61+
.setMaxConcurrentActivityExecutionSize(1000)
62+
.setMaxConcurrentWorkflowTaskExecutionSize(500)
63+
.setMaxConcurrentLocalActivityExecutionSize(200)
64+
.setWorkerTuner(mock(WorkerTuner.class))
65+
.setMaxTaskQueueActivitiesPerSecond(50)
66+
.setMaxConcurrentWorkflowTaskPollers(4)
67+
.setMaxConcurrentActivityTaskPollers(3)
68+
.setLocalActivityWorkerOnly(false)
69+
.setDefaultDeadlockDetectionTimeout(2)
70+
.setMaxHeartbeatThrottleInterval(Duration.ofSeconds(10))
71+
.setDefaultHeartbeatThrottleInterval(Duration.ofSeconds(7))
72+
.setStickyQueueScheduleToStartTimeout(Duration.ofSeconds(60))
73+
.setDisableEagerExecution(false)
74+
.setUseBuildIdForVersioning(false)
75+
.setBuildId("build-id")
76+
.setStickyTaskQueueDrainTimeout(Duration.ofSeconds(15))
77+
.setIdentity("worker-identity")
78+
.build();
79+
80+
WorkerOptions w2 = WorkerOptions.newBuilder(w1).build();
81+
82+
assertEquals(w1.getMaxWorkerActivitiesPerSecond(), w2.getMaxWorkerActivitiesPerSecond(), 0);
83+
assertEquals(
84+
w1.getMaxConcurrentActivityExecutionSize(), w2.getMaxConcurrentActivityExecutionSize());
85+
assertEquals(
86+
w1.getMaxConcurrentWorkflowTaskExecutionSize(),
87+
w2.getMaxConcurrentWorkflowTaskExecutionSize());
88+
assertEquals(
89+
w1.getMaxConcurrentLocalActivityExecutionSize(),
90+
w2.getMaxConcurrentLocalActivityExecutionSize());
91+
assertSame(w1.getWorkerTuner(), w2.getWorkerTuner());
92+
assertEquals(
93+
w1.getMaxTaskQueueActivitiesPerSecond(), w2.getMaxTaskQueueActivitiesPerSecond(), 0);
94+
assertEquals(
95+
w1.getMaxConcurrentWorkflowTaskPollers(), w2.getMaxConcurrentWorkflowTaskPollers());
96+
assertEquals(
97+
w1.getMaxConcurrentActivityTaskPollers(), w2.getMaxConcurrentActivityTaskPollers());
98+
assertEquals(w1.isLocalActivityWorkerOnly(), w2.isLocalActivityWorkerOnly());
99+
assertEquals(w1.getMaxHeartbeatThrottleInterval(), w2.getMaxHeartbeatThrottleInterval());
100+
assertEquals(
101+
w1.getDefaultHeartbeatThrottleInterval(), w2.getDefaultHeartbeatThrottleInterval());
102+
assertEquals(
103+
w1.getStickyQueueScheduleToStartTimeout(), w2.getStickyQueueScheduleToStartTimeout());
104+
assertEquals(w1.isEagerExecutionDisabled(), w2.isEagerExecutionDisabled());
105+
assertEquals(w1.isUsingBuildIdForVersioning(), w2.isUsingBuildIdForVersioning());
106+
assertEquals(w1.getBuildId(), w2.getBuildId());
107+
assertEquals(w1.getStickyTaskQueueDrainTimeout(), w2.getStickyTaskQueueDrainTimeout());
108+
assertEquals(w1.getIdentity(), w2.getIdentity());
109+
}
110+
53111
@Test
54112
public void canBuildMixedSlotSupplierTuner() {
55113
ResourceBasedController resourceController =

0 commit comments

Comments
 (0)