This is an automated email from the ASF dual-hosted git repository.
deardeng pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push:
new 102f69734a2 [fix](fe) Report active compute group in processlist
(#68111)
102f69734a2 is described below
commit 102f69734a26a97ebd88bd0bc90c627173046bb1
Author: deardeng <[email protected]>
AuthorDate: Fri Sep 18 10:50:23 2026 +0800
[fix](fe) Report active compute group in processlist (#68111)
Problem Summary: due to https://github.com/apache/doris/pull/50783 ,SHOW
PROCESSLIST read the cached policy-selected compute group directly,
while query routing gives precedence to the session compute group. When
a session or per-query hint selected another compute group, the query
ran there but PROCESSLIST reported the stale cached group. Prefer the
active session compute group when rendering process rows and retain the
cached value as the fallback.
SHOW PROCESSLIST now reports the compute group used by the running
query.
- Test: Unit Test
- ./run-fe-ut.sh --run org.apache.doris.qe.ConnectContextTest
- Behavior changed: Yes. The CloudCluster column now reports the active
session compute group instead of a stale cached value.
---
.../main/java/org/apache/doris/qe/ConnectContext.java | 8 ++++++--
.../java/org/apache/doris/qe/ConnectContextTest.java | 16 ++++++++++++++++
2 files changed, 22 insertions(+), 2 deletions(-)
diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/ConnectContext.java
b/fe/fe-core/src/main/java/org/apache/doris/qe/ConnectContext.java
index 6680457e1d2..8d96b1b2f7a 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/qe/ConnectContext.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/qe/ConnectContext.java
@@ -1504,10 +1504,14 @@ public class ConnectContext {
}
row.add(Env.getCurrentEnv().getSelfNode().getHost());
- if (cloudCluster == null) {
+ String currentCloudCluster = sessionVariable.getCloudCluster();
+ if (Strings.isNullOrEmpty(currentCloudCluster)) {
+ currentCloudCluster = cloudCluster;
+ }
+ if (currentCloudCluster == null) {
row.add("NULL");
} else {
- row.add(cloudCluster);
+ row.add(currentCloudCluster);
}
return row;
}
diff --git
a/fe/fe-core/src/test/java/org/apache/doris/qe/ConnectContextTest.java
b/fe/fe-core/src/test/java/org/apache/doris/qe/ConnectContextTest.java
index 647ad861874..c48c48e7e5d 100644
--- a/fe/fe-core/src/test/java/org/apache/doris/qe/ConnectContextTest.java
+++ b/fe/fe-core/src/test/java/org/apache/doris/qe/ConnectContextTest.java
@@ -324,6 +324,22 @@ public class ConnectContextTest {
}
}
+ @Test
+ public void testThreadInfoUsesSessionCloudCluster() {
+ try (MockedStatic<Env> mockedEnv = Mockito.mockStatic(Env.class)) {
+ mockedEnv.when(Env::getCurrentEnv).thenReturn(env);
+ Mockito.when(env.getSelfNode())
+ .thenReturn(new SystemInfoService.HostInfo("127.0.0.1",
9030));
+
+ ConnectContext ctx = new ConnectContext();
+ ctx.cloudCluster = "test";
+ ctx.setCloudCluster("test1");
+
+ List<String> row = ctx.toThreadInfo(false).toRow(-1, 0,
Optional.empty());
+ Assertions.assertEquals("test1", row.get(14));
+ }
+ }
+
@Test
public void testSleepTimeout() {
ConnectContext ctx = new ConnectContext();
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]