Skip to content

Commit 4804646

Browse files
Fix boolean returned by isUsingVirtualThreadsOnWorkflowWorker (#2957)
Co-authored-by: Dan Plyukhin <dan.plyukhin@temporal.io>
1 parent b0f197e commit 4804646

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
@@ -1011,7 +1011,7 @@ public String getIdentity() {
10111011
}
10121012

10131013
public boolean isUsingVirtualThreadsOnWorkflowWorker() {
1014-
return usingVirtualThreadsOnActivityWorker;
1014+
return usingVirtualThreadsOnWorkflowWorker;
10151015
}
10161016

10171017
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)