This is an automated email from the ASF dual-hosted git repository.
gianm pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/druid.git
The following commit(s) were added to refs/heads/master by this push:
new 3091a97deba fix: MSQ workers closing each other in tests. (#19339)
3091a97deba is described below
commit 3091a97debaa9a761497b47aaf37282d8593823f
Author: Gian Merlino <[email protected]>
AuthorDate: Fri Apr 17 15:14:37 2026 -0700
fix: MSQ workers closing each other in tests. (#19339)
The MSQTestWorkerClient has logic in close() to cancel any still-running
workers. This logic should only run on the controller version of the
worker client, not the worker-to-worker client. When it runs on the
worker-to-worker client, it can cause spurious test failures.
---
.../org/apache/druid/msq/test/MSQTestControllerContext.java | 2 +-
.../java/org/apache/druid/msq/test/MSQTestWorkerClient.java | 10 ++++++++--
.../java/org/apache/druid/msq/test/MSQTestWorkerContext.java | 2 +-
.../druid/msq/test/TestDartControllerContextFactoryImpl.java | 2 +-
4 files changed, 11 insertions(+), 5 deletions(-)
diff --git
a/multi-stage-query/src/test/java/org/apache/druid/msq/test/MSQTestControllerContext.java
b/multi-stage-query/src/test/java/org/apache/druid/msq/test/MSQTestControllerContext.java
index e4b2850a74b..5bae51c53e3 100644
---
a/multi-stage-query/src/test/java/org/apache/druid/msq/test/MSQTestControllerContext.java
+++
b/multi-stage-query/src/test/java/org/apache/druid/msq/test/MSQTestControllerContext.java
@@ -470,7 +470,7 @@ public class MSQTestControllerContext implements
ControllerContext, DartControll
@Override
public WorkerClient newWorkerClient()
{
- return new MSQTestWorkerClient(inMemoryWorkers, mapper);
+ return new MSQTestWorkerClient(inMemoryWorkers, mapper, true);
}
@Override
diff --git
a/multi-stage-query/src/test/java/org/apache/druid/msq/test/MSQTestWorkerClient.java
b/multi-stage-query/src/test/java/org/apache/druid/msq/test/MSQTestWorkerClient.java
index 711047e78ec..52c06afff97 100644
---
a/multi-stage-query/src/test/java/org/apache/druid/msq/test/MSQTestWorkerClient.java
+++
b/multi-stage-query/src/test/java/org/apache/druid/msq/test/MSQTestWorkerClient.java
@@ -49,12 +49,18 @@ public class MSQTestWorkerClient implements WorkerClient
protected final Map<String, WorkerRunRef> inMemoryWorkers;
private final ObjectMapper objectMapper;
+ private final boolean closeWorkersOnClose;
private final AtomicBoolean closed = new AtomicBoolean();
- public MSQTestWorkerClient(Map<String, WorkerRunRef> inMemoryWorkers,
ObjectMapper objectMapper)
+ public MSQTestWorkerClient(
+ Map<String, WorkerRunRef> inMemoryWorkers,
+ ObjectMapper objectMapper,
+ boolean closeWorkersOnClose
+ )
{
this.inMemoryWorkers = inMemoryWorkers;
this.objectMapper = objectMapper;
+ this.closeWorkersOnClose = closeWorkersOnClose;
}
@Override
@@ -191,7 +197,7 @@ public class MSQTestWorkerClient implements WorkerClient
@Override
public void close()
{
- if (closed.compareAndSet(false, true)) {
+ if (closed.compareAndSet(false, true) && closeWorkersOnClose) {
inMemoryWorkers.forEach((k, v) -> v.cancel());
}
}
diff --git
a/multi-stage-query/src/test/java/org/apache/druid/msq/test/MSQTestWorkerContext.java
b/multi-stage-query/src/test/java/org/apache/druid/msq/test/MSQTestWorkerContext.java
index fc08fd122eb..a926aabee6f 100644
---
a/multi-stage-query/src/test/java/org/apache/druid/msq/test/MSQTestWorkerContext.java
+++
b/multi-stage-query/src/test/java/org/apache/druid/msq/test/MSQTestWorkerContext.java
@@ -161,7 +161,7 @@ public class MSQTestWorkerContext implements WorkerContext
@Override
public WorkerClient makeWorkerClient()
{
- return new MSQTestWorkerClient(inMemoryWorkers, mapper);
+ return new MSQTestWorkerClient(inMemoryWorkers, mapper, false);
}
@Override
diff --git
a/multi-stage-query/src/test/java/org/apache/druid/msq/test/TestDartControllerContextFactoryImpl.java
b/multi-stage-query/src/test/java/org/apache/druid/msq/test/TestDartControllerContextFactoryImpl.java
index c965c297685..6032afc853b 100644
---
a/multi-stage-query/src/test/java/org/apache/druid/msq/test/TestDartControllerContextFactoryImpl.java
+++
b/multi-stage-query/src/test/java/org/apache/druid/msq/test/TestDartControllerContextFactoryImpl.java
@@ -116,7 +116,7 @@ public class TestDartControllerContextFactoryImpl extends
DartControllerContextF
public DartTestWorkerClient()
{
- super(workerMap, jsonMapper);
+ super(workerMap, jsonMapper, true);
}
@Override
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]