This is an automated email from the ASF dual-hosted git repository.

weihao pushed a commit to branch showQ-dev/1.3
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit e9bbe68eee029512d3a7477c3ae513252097001c
Author: Weihao Li <[email protected]>
AuthorDate: Tue Mar 24 15:43:14 2026 +0800

    add
    
    Signed-off-by: Weihao Li <[email protected]>
---
 .../main/java/org/apache/iotdb/db/audit/AuditLogger.java |  2 +-
 .../protocol/legacy/IoTDBLegacyPipeReceiverAgent.java    |  2 +-
 .../receiver/protocol/legacy/loader/DeletionLoader.java  |  2 +-
 .../receiver/protocol/legacy/loader/TsFileLoader.java    |  2 +-
 .../db/pipe/sink/protocol/writeback/WriteBackSink.java   |  2 +-
 .../apache/iotdb/db/protocol/session/SessionManager.java |  6 +++++-
 .../iotdb/db/queryengine/common/MPPQueryContext.java     |  4 ++++
 .../apache/iotdb/db/queryengine/common/SessionInfo.java  | 16 +++++++++++++---
 .../queryengine/common/header/ColumnHeaderConstant.java  |  8 ++++++--
 .../execution/fragment/FragmentInstanceContext.java      |  4 ++--
 .../execution/operator/source/ShowQueriesOperator.java   |  2 ++
 .../db/queryengine/plan/execution/IQueryExecution.java   |  4 ++++
 .../db/queryengine/plan/execution/QueryExecution.java    | 10 ++++++++++
 .../plan/execution/config/ConfigExecution.java           | 10 ++++++++++
 .../plan/planner/plan/node/source/ShowQueriesNode.java   | 13 +++++++------
 .../db/service/metrics/IoTDBInternalLocalReporter.java   |  2 +-
 .../load/active/ActiveLoadTsFileLoader.java              |  2 +-
 .../execution/operator/MergeSortOperatorTest.java        | 10 ++++++++++
 .../iotdb/db/queryengine/plan/analyze/AnalyzeTest.java   |  2 +-
 .../plan/optimization/LimitOffsetPushDownTest.java       |  2 +-
 .../plan/planner/FragmentInstanceSerdeTest.java          |  3 ++-
 .../plan/planner/logical/LogicalPlannerTestUtil.java     |  2 +-
 22 files changed, 85 insertions(+), 25 deletions(-)

diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/audit/AuditLogger.java 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/audit/AuditLogger.java
index ed3efee9a1b..5019d3ab8fe 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/audit/AuditLogger.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/audit/AuditLogger.java
@@ -64,7 +64,7 @@ public class AuditLogger {
   private static final IoTDBConfig config = 
IoTDBDescriptor.getInstance().getConfig();
   private static final List<AuditLogStorage> auditLogStorageList = 
config.getAuditLogStorage();
   private static final SessionInfo sessionInfo =
-      new SessionInfo(0, AuthorityChecker.SUPER_USER, ZoneId.systemDefault());
+      new SessionInfo(0, AuthorityChecker.SUPER_USER, ZoneId.systemDefault(), 
"");
 
   private static final List<AuditLogOperation> auditLogOperationList =
       config.getAuditLogOperation();
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/protocol/legacy/IoTDBLegacyPipeReceiverAgent.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/protocol/legacy/IoTDBLegacyPipeReceiverAgent.java
index 32eade04262..ae7ab22308a 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/protocol/legacy/IoTDBLegacyPipeReceiverAgent.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/protocol/legacy/IoTDBLegacyPipeReceiverAgent.java
@@ -151,7 +151,7 @@ public class IoTDBLegacyPipeReceiverAgent {
               .executeForTreeModel(
                   statement,
                   queryId,
-                  new SessionInfo(0, AuthorityChecker.SUPER_USER, 
ZoneId.systemDefault()),
+                  new SessionInfo(0, AuthorityChecker.SUPER_USER, 
ZoneId.systemDefault(), ""),
                   "",
                   partitionFetcher,
                   schemaFetcher,
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/protocol/legacy/loader/DeletionLoader.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/protocol/legacy/loader/DeletionLoader.java
index fe1255ce8c3..019dfb7718b 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/protocol/legacy/loader/DeletionLoader.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/protocol/legacy/loader/DeletionLoader.java
@@ -64,7 +64,7 @@ public class DeletionLoader implements ILoader {
               .executeForTreeModel(
                   statement,
                   queryId,
-                  new SessionInfo(0, AuthorityChecker.SUPER_USER, 
ZoneId.systemDefault()),
+                  new SessionInfo(0, AuthorityChecker.SUPER_USER, 
ZoneId.systemDefault(), ""),
                   "",
                   PARTITION_FETCHER,
                   SCHEMA_FETCHER,
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/protocol/legacy/loader/TsFileLoader.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/protocol/legacy/loader/TsFileLoader.java
index e181ec1d592..f88510a0ca8 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/protocol/legacy/loader/TsFileLoader.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/protocol/legacy/loader/TsFileLoader.java
@@ -67,7 +67,7 @@ public class TsFileLoader implements ILoader {
               .executeForTreeModel(
                   statement,
                   queryId,
-                  new SessionInfo(0, AuthorityChecker.SUPER_USER, 
ZoneId.systemDefault()),
+                  new SessionInfo(0, AuthorityChecker.SUPER_USER, 
ZoneId.systemDefault(), ""),
                   "",
                   PARTITION_FETCHER,
                   SCHEMA_FETCHER,
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/writeback/WriteBackSink.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/writeback/WriteBackSink.java
index 7aa54f1120d..80c9e09f9ac 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/writeback/WriteBackSink.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/sink/protocol/writeback/WriteBackSink.java
@@ -187,7 +187,7 @@ public class WriteBackSink implements PipeConnector {
         .executeForTreeModel(
             new PipeEnrichedStatement(statement),
             SessionManager.getInstance().requestQueryId(),
-            new SessionInfo(0, AuthorityChecker.SUPER_USER, 
ZoneId.systemDefault()),
+            new SessionInfo(0, AuthorityChecker.SUPER_USER, 
ZoneId.systemDefault(), ""),
             "",
             ClusterPartitionFetcher.getInstance(),
             ClusterSchemaFetcher.getInstance(),
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/session/SessionManager.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/session/SessionManager.java
index e32034c9ab0..c062726e4e4 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/session/SessionManager.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/session/SessionManager.java
@@ -373,7 +373,11 @@ public class SessionManager implements SessionManagerMBean 
{
 
   public SessionInfo getSessionInfo(IClientSession session) {
     return new SessionInfo(
-        session.getId(), session.getUsername(), session.getZoneId(), 
session.getClientVersion());
+        session.getId(),
+        session.getUsername(),
+        session.getZoneId(),
+        session.getClientVersion(),
+        session.getClientAddress());
   }
 
   @Override
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/common/MPPQueryContext.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/common/MPPQueryContext.java
index fc457ab9ce4..aca7ba1edb1 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/common/MPPQueryContext.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/common/MPPQueryContext.java
@@ -402,4 +402,8 @@ public class MPPQueryContext {
   public void setUserQuery(boolean userQuery) {
     this.userQuery = userQuery;
   }
+
+  public String getClientHostName() {
+    return session.getCliHostname();
+  }
 }
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/common/SessionInfo.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/common/SessionInfo.java
index ddfe8da6a7c..dee94543cd6 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/common/SessionInfo.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/common/SessionInfo.java
@@ -33,20 +33,24 @@ public class SessionInfo {
   private final long sessionId;
   private final String userName;
   private final ZoneId zoneId;
+  private final String cliHostname;
 
   private ClientVersion version = ClientVersion.V_1_0;
 
-  public SessionInfo(long sessionId, String userName, ZoneId zoneId) {
+  public SessionInfo(long sessionId, String userName, ZoneId zoneId, String 
cliHostname) {
     this.sessionId = sessionId;
     this.userName = userName;
     this.zoneId = zoneId;
+    this.cliHostname = cliHostname;
   }
 
-  public SessionInfo(long sessionId, String userName, ZoneId zoneId, 
ClientVersion version) {
+  public SessionInfo(
+      long sessionId, String userName, ZoneId zoneId, ClientVersion version, 
String cliHostname) {
     this.sessionId = sessionId;
     this.userName = userName;
     this.zoneId = zoneId;
     this.version = version;
+    this.cliHostname = cliHostname;
   }
 
   public long getSessionId() {
@@ -65,16 +69,22 @@ public class SessionInfo {
     return version;
   }
 
+  public String getCliHostname() {
+    return cliHostname;
+  }
+
   public static SessionInfo deserializeFrom(ByteBuffer buffer) {
     long sessionId = ReadWriteIOUtils.readLong(buffer);
     String userName = ReadWriteIOUtils.readString(buffer);
     ZoneId zoneId = 
ZoneId.of(Objects.requireNonNull(ReadWriteIOUtils.readString(buffer)));
-    return new SessionInfo(sessionId, userName, zoneId);
+    String cliHostname = ReadWriteIOUtils.readString(buffer);
+    return new SessionInfo(sessionId, userName, zoneId, cliHostname);
   }
 
   public void serialize(DataOutputStream stream) throws IOException {
     ReadWriteIOUtils.write(sessionId, stream);
     ReadWriteIOUtils.write(userName, stream);
     ReadWriteIOUtils.write(zoneId.getId(), stream);
+    ReadWriteIOUtils.write(cliHostname, stream);
   }
 }
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/common/header/ColumnHeaderConstant.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/common/header/ColumnHeaderConstant.java
index 0f26c42e39d..bd9e74b73b9 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/common/header/ColumnHeaderConstant.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/common/header/ColumnHeaderConstant.java
@@ -196,6 +196,8 @@ public class ColumnHeaderConstant {
   public static final String QUERY_ID = "QueryId";
   public static final String ELAPSED_TIME = "ElapsedTime";
   public static final String STATEMENT = "Statement";
+  public static final String CLIENT_IP = "ClientIp";
+  public static final String TIMEOUT = "Timeout";
 
   // column names for show space quota
   public static final String QUOTA_TYPE = "QuotaType";
@@ -496,10 +498,12 @@ public class ColumnHeaderConstant {
 
   public static final List<ColumnHeader> showQueriesColumnHeaders =
       ImmutableList.of(
-          new ColumnHeader(QUERY_ID, TSDataType.TEXT),
+          new ColumnHeader(QUERY_ID, TSDataType.STRING),
           new ColumnHeader(DATA_NODE_ID, TSDataType.INT32),
           new ColumnHeader(ELAPSED_TIME, TSDataType.FLOAT),
-          new ColumnHeader(STATEMENT, TSDataType.TEXT));
+          new ColumnHeader(STATEMENT, TSDataType.STRING),
+          new ColumnHeader(CLIENT_IP, TSDataType.STRING),
+          new ColumnHeader(TIMEOUT, TSDataType.INT64));
 
   public static final List<ColumnHeader> showSpaceQuotaColumnHeaders =
       ImmutableList.of(
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/fragment/FragmentInstanceContext.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/fragment/FragmentInstanceContext.java
index 14995b887bf..f655df432bf 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/fragment/FragmentInstanceContext.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/fragment/FragmentInstanceContext.java
@@ -208,7 +208,7 @@ public class FragmentInstanceContext extends QueryContext {
       FragmentInstanceId id, FragmentInstanceStateMachine stateMachine) {
     FragmentInstanceContext instanceContext =
         new FragmentInstanceContext(
-            id, stateMachine, new SessionInfo(1, "test", 
ZoneId.systemDefault()));
+            id, stateMachine, new SessionInfo(1, "test", 
ZoneId.systemDefault(), ""));
     instanceContext.initialize();
     instanceContext.start();
     return instanceContext;
@@ -223,7 +223,7 @@ public class FragmentInstanceContext extends QueryContext {
         new FragmentInstanceContext(
             id,
             stateMachine,
-            new SessionInfo(1, "test", ZoneId.systemDefault()),
+            new SessionInfo(1, "test", ZoneId.systemDefault(), ""),
             memoryReservationManager);
     instanceContext.initialize();
     instanceContext.start();
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/ShowQueriesOperator.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/ShowQueriesOperator.java
index d12eb84d850..1a507d25b75 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/ShowQueriesOperator.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/ShowQueriesOperator.java
@@ -140,6 +140,8 @@ public class ShowQueriesOperator implements SourceOperator {
             (float) (currTime - queryExecution.getStartExecutionTime()) / 
1000);
         columnBuilders[3].writeBinary(
             
BytesUtils.valueOf(queryExecution.getExecuteSQL().orElse("UNKNOWN")));
+        
columnBuilders[4].writeBinary(BytesUtils.valueOf(queryExecution.getClientHostname()));
+        columnBuilders[5].writeLong(queryExecution.getTimeout());
         builder.declarePosition();
       }
     }
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/IQueryExecution.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/IQueryExecution.java
index 5cb2d4b449c..11ced723eeb 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/IQueryExecution.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/IQueryExecution.java
@@ -66,6 +66,10 @@ public interface IQueryExecution {
    */
   long getTotalExecutionTime();
 
+  String getClientHostname();
+
+  long getTimeout();
+
   Optional<String> getExecuteSQL();
 
   String getStatementType();
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/QueryExecution.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/QueryExecution.java
index 0ae40345268..43f46133053 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/QueryExecution.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/QueryExecution.java
@@ -657,6 +657,16 @@ public class QueryExecution implements IQueryExecution {
     return totalExecutionTime;
   }
 
+  @Override
+  public String getClientHostname() {
+    return context.getClientHostName();
+  }
+
+  @Override
+  public long getTimeout() {
+    return context.getTimeOut();
+  }
+
   @Override
   public Optional<String> getExecuteSQL() {
     return Optional.ofNullable(context.getSql());
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/ConfigExecution.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/ConfigExecution.java
index a9d96961834..a3e16a991ec 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/ConfigExecution.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/ConfigExecution.java
@@ -251,6 +251,16 @@ public class ConfigExecution implements IQueryExecution {
     return totalExecutionTime;
   }
 
+  @Override
+  public String getClientHostname() {
+    return context.getClientHostName();
+  }
+
+  @Override
+  public long getTimeout() {
+    return context.getTimeOut();
+  }
+
   @Override
   public Optional<String> getExecuteSQL() {
     return Optional.ofNullable(context.getSql());
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/ShowQueriesNode.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/ShowQueriesNode.java
index 80a6e0326d3..896d91ebb8b 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/ShowQueriesNode.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/ShowQueriesNode.java
@@ -19,7 +19,7 @@
 package org.apache.iotdb.db.queryengine.plan.planner.plan.node.source;
 
 import org.apache.iotdb.common.rpc.thrift.TDataNodeLocation;
-import org.apache.iotdb.db.queryengine.common.header.ColumnHeaderConstant;
+import org.apache.iotdb.db.queryengine.common.header.ColumnHeader;
 import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNode;
 import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeId;
 import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeType;
@@ -32,15 +32,16 @@ import java.io.IOException;
 import java.nio.ByteBuffer;
 import java.util.List;
 import java.util.Objects;
+import java.util.stream.Collectors;
+
+import static 
org.apache.iotdb.db.queryengine.common.header.ColumnHeaderConstant.showQueriesColumnHeaders;
 
 public class ShowQueriesNode extends VirtualSourceNode {
 
   public static final List<String> SHOW_QUERIES_HEADER_COLUMNS =
-      ImmutableList.of(
-          ColumnHeaderConstant.QUERY_ID,
-          ColumnHeaderConstant.DATA_NODE_ID,
-          ColumnHeaderConstant.ELAPSED_TIME,
-          ColumnHeaderConstant.STATEMENT);
+      showQueriesColumnHeaders.stream()
+          .map(ColumnHeader::getColumnName)
+          .collect(Collectors.toList());
 
   public ShowQueriesNode(PlanNodeId id, TDataNodeLocation dataNodeLocation) {
     super(id, dataNodeLocation);
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/metrics/IoTDBInternalLocalReporter.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/metrics/IoTDBInternalLocalReporter.java
index d31b7d11244..3e566fd6df7 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/metrics/IoTDBInternalLocalReporter.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/metrics/IoTDBInternalLocalReporter.java
@@ -88,7 +88,7 @@ public class IoTDBInternalLocalReporter extends 
IoTDBInternalReporter {
   public IoTDBInternalLocalReporter() {
     partitionFetcher = ClusterPartitionFetcher.getInstance();
     schemaFetcher = ClusterSchemaFetcher.getInstance();
-    sessionInfo = new SessionInfo(0, AuthorityChecker.SUPER_USER, 
ZoneId.systemDefault());
+    sessionInfo = new SessionInfo(0, AuthorityChecker.SUPER_USER, 
ZoneId.systemDefault(), "");
 
     IClientManager<ConfigRegionId, ConfigNodeClient> configNodeClientManager =
         ConfigNodeClientManager.getInstance();
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/load/active/ActiveLoadTsFileLoader.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/load/active/ActiveLoadTsFileLoader.java
index 0aeb83c959e..8a1f305e4f2 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/load/active/ActiveLoadTsFileLoader.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/load/active/ActiveLoadTsFileLoader.java
@@ -242,7 +242,7 @@ public class ActiveLoadTsFileLoader {
           .executeForTreeModel(
               statement,
               SessionManager.getInstance().requestQueryId(),
-              new SessionInfo(0, AuthorityChecker.SUPER_USER, 
ZoneId.systemDefault()),
+              new SessionInfo(0, AuthorityChecker.SUPER_USER, 
ZoneId.systemDefault(), ""),
               "",
               ClusterPartitionFetcher.getInstance(),
               ClusterSchemaFetcher.getInstance(),
diff --git 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/MergeSortOperatorTest.java
 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/MergeSortOperatorTest.java
index 604d3eb3442..7f3b5cd8d2d 100644
--- 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/MergeSortOperatorTest.java
+++ 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/MergeSortOperatorTest.java
@@ -1838,6 +1838,16 @@ public class MergeSortOperatorTest {
       return Optional.empty();
     }
 
+    @Override
+    public String getClientHostname() {
+      return "";
+    }
+
+    @Override
+    public long getTimeout() {
+      return 60_000L;
+    }
+
     @Override
     public Optional<ByteBuffer> getByteBufferBatchResult() {
       return Optional.empty();
diff --git 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/analyze/AnalyzeTest.java
 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/analyze/AnalyzeTest.java
index b9681477344..f7b47615bd7 100644
--- 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/analyze/AnalyzeTest.java
+++ 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/analyze/AnalyzeTest.java
@@ -1059,7 +1059,7 @@ public class AnalyzeTest {
           new MPPQueryContext(
               "",
               new QueryId("test_query"),
-              new SessionInfo(0, "test", ZoneId.systemDefault()),
+              new SessionInfo(0, "test", ZoneId.systemDefault(), ""),
               new TEndPoint(),
               new TEndPoint());
       Analyzer analyzer =
diff --git 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/optimization/LimitOffsetPushDownTest.java
 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/optimization/LimitOffsetPushDownTest.java
index b82d9ed6af2..5fd5647845d 100644
--- 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/optimization/LimitOffsetPushDownTest.java
+++ 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/optimization/LimitOffsetPushDownTest.java
@@ -450,7 +450,7 @@ public class LimitOffsetPushDownTest {
         new MPPQueryContext(
             "",
             new QueryId("test_query"),
-            new SessionInfo(-1L, "", ZoneId.systemDefault()),
+            new SessionInfo(-1L, "", ZoneId.systemDefault(), ""),
             new TEndPoint(),
             new TEndPoint());
     Analyzer analyzer =
diff --git 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/FragmentInstanceSerdeTest.java
 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/FragmentInstanceSerdeTest.java
index 711e67682ca..e435468f533 100644
--- 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/FragmentInstanceSerdeTest.java
+++ 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/FragmentInstanceSerdeTest.java
@@ -56,7 +56,8 @@ import static org.junit.Assert.assertNull;
 
 public class FragmentInstanceSerdeTest {
   private static final IoTDBConfig config = 
IoTDBDescriptor.getInstance().getConfig();
-  private static final SessionInfo sessionInfo = new SessionInfo(1, "test", 
ZoneId.systemDefault());
+  private static final SessionInfo sessionInfo =
+      new SessionInfo(1, "test", ZoneId.systemDefault(), "");
 
   @Test
   public void testSerializeAndDeserializeForTree1() throws 
IllegalPathException {
diff --git 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/logical/LogicalPlannerTestUtil.java
 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/logical/LogicalPlannerTestUtil.java
index 176cc7bde18..7365102d85d 100644
--- 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/logical/LogicalPlannerTestUtil.java
+++ 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/logical/LogicalPlannerTestUtil.java
@@ -49,7 +49,7 @@ public class LogicalPlannerTestUtil {
         new MPPQueryContext(
             "",
             new QueryId("test_query"),
-            new SessionInfo(0, AuthorityChecker.SUPER_USER, 
ZoneId.systemDefault()),
+            new SessionInfo(0, AuthorityChecker.SUPER_USER, 
ZoneId.systemDefault(), ""),
             DataNodeEndPoints.LOCAL_HOST_DATA_BLOCK_ENDPOINT,
             DataNodeEndPoints.LOCAL_HOST_INTERNAL_ENDPOINT);
     Analyzer analyzer =

Reply via email to