Skip to content

Commit 4d68e2e

Browse files
committed
WorkerOptions.Builder.isUsingVirtualThreadsOnWorkflowWorker was
returning the wrong field
1 parent 8b57794 commit 4d68e2e

2 files changed

Lines changed: 41 additions & 1 deletion

File tree

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -920,7 +920,7 @@ public String getIdentity() {
920920
}
921921

922922
public boolean isUsingVirtualThreadsOnWorkflowWorker() {
923-
return usingVirtualThreadsOnActivityWorker;
923+
return usingVirtualThreadsOnWorkflowWorker;
924924
}
925925

926926
public boolean isUsingVirtualThreadsOnActivityWorker() {

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

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,46 @@ public void validateAndBuildWithDefaultsIsIdempotentWithPollerBehavior() {
181181
assertNotNull(second.getWorkflowTaskPollersBehavior());
182182
}
183183

184+
@Test
185+
public void setUsingVirtualThreadsEnablesAllWorkers() {
186+
WorkerOptions options = WorkerOptions.newBuilder().setUsingVirtualThreads(true).build();
187+
assertTrue(options.isUsingVirtualThreadsOnWorkflowWorker());
188+
assertTrue(options.isUsingVirtualThreadsOnActivityWorker());
189+
assertTrue(options.isUsingVirtualThreadsOnLocalActivityWorker());
190+
assertTrue(options.isUsingVirtualThreadsOnNexusWorker());
191+
}
192+
193+
@Test
194+
public void perWorkerVirtualThreadOptionsAreIndependent() {
195+
WorkerOptions workflowOnly =
196+
WorkerOptions.newBuilder().setUsingVirtualThreadsOnWorkflowWorker(true).build();
197+
assertTrue(workflowOnly.isUsingVirtualThreadsOnWorkflowWorker());
198+
assertFalse(workflowOnly.isUsingVirtualThreadsOnActivityWorker());
199+
assertFalse(workflowOnly.isUsingVirtualThreadsOnLocalActivityWorker());
200+
assertFalse(workflowOnly.isUsingVirtualThreadsOnNexusWorker());
201+
202+
WorkerOptions activityOnly =
203+
WorkerOptions.newBuilder().setUsingVirtualThreadsOnActivityWorker(true).build();
204+
assertFalse(activityOnly.isUsingVirtualThreadsOnWorkflowWorker());
205+
assertTrue(activityOnly.isUsingVirtualThreadsOnActivityWorker());
206+
assertFalse(activityOnly.isUsingVirtualThreadsOnLocalActivityWorker());
207+
assertFalse(activityOnly.isUsingVirtualThreadsOnNexusWorker());
208+
209+
WorkerOptions localActivityOnly =
210+
WorkerOptions.newBuilder().setUsingVirtualThreadsOnLocalActivityWorker(true).build();
211+
assertFalse(localActivityOnly.isUsingVirtualThreadsOnWorkflowWorker());
212+
assertFalse(localActivityOnly.isUsingVirtualThreadsOnActivityWorker());
213+
assertTrue(localActivityOnly.isUsingVirtualThreadsOnLocalActivityWorker());
214+
assertFalse(localActivityOnly.isUsingVirtualThreadsOnNexusWorker());
215+
216+
WorkerOptions nexusOnly =
217+
WorkerOptions.newBuilder().setUsingVirtualThreadsOnNexusWorker(true).build();
218+
assertFalse(nexusOnly.isUsingVirtualThreadsOnWorkflowWorker());
219+
assertFalse(nexusOnly.isUsingVirtualThreadsOnActivityWorker());
220+
assertFalse(nexusOnly.isUsingVirtualThreadsOnLocalActivityWorker());
221+
assertTrue(nexusOnly.isUsingVirtualThreadsOnNexusWorker());
222+
}
223+
184224
@Test
185225
public void verifyMaxTaskQueuePerSecondsDisablesEagerExecution() {
186226
// Verify that by default eager execution is enabled

0 commit comments

Comments
 (0)