This is an automated email from the ASF dual-hosted git repository.
yiguolei pushed a commit to branch branch-4.1
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-4.1 by this push:
new 9b192334d89 branch-4.1: [fix](process list) return unexpected result
in FULL mode #64631 (#64983)
9b192334d89 is described below
commit 9b192334d894fcc56b245e35e3fcd277b2a59fcd
Author: morrySnow <[email protected]>
AuthorDate: Tue Jun 30 16:09:19 2026 +0800
branch-4.1: [fix](process list) return unexpected result in FULL mode
#64631 (#64983)
picked from master #64631
---
.../apache/doris/common/proc/FrontendsProcNode.java | 20 ++++++++++----------
.../java/org/apache/doris/qe/ConnectPoolMgr.java | 2 +-
2 files changed, 11 insertions(+), 11 deletions(-)
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/common/proc/FrontendsProcNode.java
b/fe/fe-core/src/main/java/org/apache/doris/common/proc/FrontendsProcNode.java
index f83a49bf8bf..27723196728 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/common/proc/FrontendsProcNode.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/common/proc/FrontendsProcNode.java
@@ -79,14 +79,10 @@ public class FrontendsProcNode implements ProcNodeInterface
{
List<Pair<String, Integer>> allFe = new ArrayList<>();
List<Frontend> frontends = env.getFrontends(null);
- String selfNode = Env.getCurrentEnv().getSelfNode().getHost();
- if (ConnectContext.get() != null &&
!Strings.isNullOrEmpty(ConnectContext.get().getCurrentConnectedFEIp())) {
- selfNode = ConnectContext.get().getCurrentConnectedFEIp();
- }
+ String selfNodeName = env.getNodeName();
- String finalSelfNode = selfNode;
frontends.stream()
- .filter(fe -> (!fe.getHost().equals(finalSelfNode) || includeSelf))
+ .filter(fe -> (!fe.getNodeName().equals(selfNodeName) ||
includeSelf))
.map(fe -> Pair.of(fe.getHost(), fe.getRpcPort()))
.forEach(allFe::add);
return allFe;
@@ -129,7 +125,7 @@ public class FrontendsProcNode implements ProcNodeInterface
{
info.add(Integer.toString(fe.getEditLogPort()));
info.add(Integer.toString(Config.http_port));
- if (fe.getHost().equals(env.getSelfNode().getHost())) {
+ if (fe.getNodeName().equals(env.getNodeName())) {
info.add(Integer.toString(Config.query_port));
info.add(Integer.toString(Config.rpc_port));
info.add(Integer.toString(Config.arrow_flight_sql_port));
@@ -143,12 +139,16 @@ public class FrontendsProcNode implements
ProcNodeInterface {
InetSocketAddress socketAddress = new
InetSocketAddress(fe.getHost(), fe.getEditLogPort());
//An ipv6 address may have different format, so we compare
InetSocketAddress objects instead of IP Strings.
//e.g. fdbd:ff1:ce00:1c26::d8 and fdbd:ff1:ce00:1c26:0:0:d8
- info.add(String.valueOf(socketAddress.equals(master)));
+ boolean isMaster = socketAddress.equals(master);
+ if (!isMaster && master == null &&
fe.getNodeName().equals(env.getNodeName()) && env.isMaster()) {
+ isMaster = true;
+ }
+ info.add(String.valueOf(isMaster));
info.add(Integer.toString(env.getClusterId()));
info.add(String.valueOf(isJoin(allFe, fe)));
- if (fe.getHost().equals(env.getSelfNode().getHost())) {
+ if (fe.getNodeName().equals(env.getNodeName())) {
info.add("true");
info.add(Long.toString(env.getEditLog().getMaxJournalId()));
} else {
@@ -170,7 +170,7 @@ public class FrontendsProcNode implements ProcNodeInterface
{
public static Frontend getCurrentFrontendVersion(Env env) {
for (Frontend fe : env.getFrontends(null /* all */)) {
- if (fe.getHost().equals(env.getSelfNode().getHost())) {
+ if (fe.getNodeName().equals(env.getNodeName())) {
return fe;
}
}
diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/ConnectPoolMgr.java
b/fe/fe-core/src/main/java/org/apache/doris/qe/ConnectPoolMgr.java
index e0f311aec85..b64bcdd9284 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/qe/ConnectPoolMgr.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/qe/ConnectPoolMgr.java
@@ -141,7 +141,7 @@ public class ConnectPoolMgr {
for (ConnectContext ctx : connectionMap.values()) {
// Check auth
if (!ctx.getCurrentUserIdentity().equals(userIdentity) &&
!Env.getCurrentEnv().getAccessManager()
- .checkGlobalPriv(userIdentity, PrivPredicate.GRANT)) {
+ .checkGlobalPriv(userIdentity, PrivPredicate.ADMIN)) {
continue;
}
list.add(ctx.toThreadInfo(isShowFullSql).toRow(-1, nowMs,
timeZone));
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]