This is an automated email from the ASF dual-hosted git repository.
jackietien pushed a commit to branch dev/1.3
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/dev/1.3 by this push:
new 0b67cb824eb [To dev/1.3] Add extra client_ip and timeout columns for
show queries
0b67cb824eb is described below
commit 0b67cb824eb45538e63e02817f15055107a17ecf
Author: Weihao Li <[email protected]>
AuthorDate: Wed Mar 25 18:13:12 2026 +0800
[To dev/1.3] Add extra client_ip and timeout columns for show queries
---
.../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 | 7 +++++++
.../apache/iotdb/db/queryengine/common/SessionInfo.java | 16 +++++++++++++---
.../queryengine/common/header/ColumnHeaderConstant.java | 8 +++++++-
.../execution/fragment/FragmentInstanceContext.java | 4 ++--
.../execution/operator/source/ShowQueriesOperator.java | 3 +++
.../db/queryengine/plan/execution/IQueryExecution.java | 5 +++++
.../db/queryengine/plan/execution/QueryExecution.java | 10 ++++++++++
.../plan/execution/config/ConfigExecution.java | 10 ++++++++++
.../plan/planner/plan/node/source/ShowQueriesNode.java | 12 ++++++------
.../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, 90 insertions(+), 24 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..fdd50c447f7 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,11 @@ public class MPPQueryContext {
public void setUserQuery(boolean userQuery) {
this.userQuery = userQuery;
}
+
+ public String getClientHostName() {
+ if (session == null || session.getCliHostname() == null) {
+ return "UNKNOWN";
+ }
+ 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..24d9509e0f3 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,9 @@ 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 WAIT_TIME_IN_SERVER = "WaitTimeInServer";
+ 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";
@@ -499,7 +502,10 @@ public class ColumnHeaderConstant {
new ColumnHeader(QUERY_ID, TSDataType.TEXT),
new ColumnHeader(DATA_NODE_ID, TSDataType.INT32),
new ColumnHeader(ELAPSED_TIME, TSDataType.FLOAT),
- new ColumnHeader(STATEMENT, TSDataType.TEXT));
+ new ColumnHeader(STATEMENT, TSDataType.TEXT),
+ new ColumnHeader(WAIT_TIME_IN_SERVER, TSDataType.FLOAT),
+ new ColumnHeader(CLIENT_IP, TSDataType.TEXT),
+ 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..97651d35376 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,9 @@ public class ShowQueriesOperator implements SourceOperator {
(float) (currTime - queryExecution.getStartExecutionTime()) /
1000);
columnBuilders[3].writeBinary(
BytesUtils.valueOf(queryExecution.getExecuteSQL().orElse("UNKNOWN")));
+ columnBuilders[4].writeFloat((float)
queryExecution.getTotalExecutionTime() / 1000_000_000);
+
columnBuilders[5].writeBinary(BytesUtils.valueOf(queryExecution.getClientHostname()));
+ columnBuilders[6].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..61824aa4f02 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,11 @@ public interface IQueryExecution {
*/
long getTotalExecutionTime();
+ /** return ip for a thrift-based client, client-id for MQTT/REST client */
+ 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..92f1c19280f 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;
@@ -33,14 +33,14 @@ import java.nio.ByteBuffer;
import java.util.List;
import java.util.Objects;
+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(ImmutableList.toImmutableList());
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 =