This is an automated email from the ASF dual-hosted git repository. weihao pushed a commit to branch addShowQ in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit c91b0e7e075bb6bc6eda55ec80c0fe51408b9a49 Author: Weihao Li <[email protected]> AuthorDate: Tue Mar 24 16:08:19 2026 +0800 tree Signed-off-by: Weihao Li <[email protected]> --- .../execution/operator/source/ShowQueriesOperator.java | 2 ++ .../db/queryengine/plan/execution/IQueryExecution.java | 2 ++ .../iotdb/db/queryengine/plan/execution/QueryExecution.java | 5 +++++ .../queryengine/plan/execution/config/ConfigExecution.java | 5 +++++ .../plan/planner/plan/node/source/ShowQueriesNode.java | 13 +++++++------ .../execution/operator/MergeTreeSortOperatorTest.java | 5 +++++ .../iotdb/commons/schema/column/ColumnHeaderConstant.java | 8 ++++++-- 7 files changed, 32 insertions(+), 8 deletions(-) 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 b23906f00a1..7742741e796 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 @@ -150,6 +150,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 9fe9b28a3a2..3432a139079 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 @@ -70,6 +70,8 @@ public interface IQueryExecution { */ long getTotalExecutionTime(); + 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 c63937996b9..6e940e9816e 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 @@ -680,6 +680,11 @@ public class QueryExecution implements IQueryExecution { return totalExecutionTime; } + @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 f75670db84e..f431bb2e51f 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 @@ -334,6 +334,11 @@ public class ConfigExecution implements IQueryExecution { return totalExecutionTime; } + @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 25e94c0da5c..87157c1d236 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.commons.schema.column.ColumnHeaderConstant; +import org.apache.iotdb.commons.schema.column.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,15 +33,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.commons.schema.column.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()); private final String allowedUsername; diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/MergeTreeSortOperatorTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/MergeTreeSortOperatorTest.java index 1758f0c9f49..587814b938c 100644 --- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/MergeTreeSortOperatorTest.java +++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/MergeTreeSortOperatorTest.java @@ -1876,6 +1876,11 @@ public class MergeTreeSortOperatorTest { return Optional.empty(); } + @Override + public long getTimeout() { + return 60_000L; + } + @Override public Optional<ByteBuffer> getByteBufferBatchResult() { return Optional.empty(); diff --git a/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/schema/column/ColumnHeaderConstant.java b/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/schema/column/ColumnHeaderConstant.java index 219cd310be1..a657c604e84 100644 --- a/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/schema/column/ColumnHeaderConstant.java +++ b/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/schema/column/ColumnHeaderConstant.java @@ -212,6 +212,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_TREE_MODEL = "ClientIp"; + public static final String TIMEOUT = "Timeout"; // column names for show idle connection public static final String DATANODE_ID = "datanode_id"; @@ -645,10 +647,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_TREE_MODEL, TSDataType.STRING), + new ColumnHeader(TIMEOUT, TSDataType.INT64)); public static final List<ColumnHeader> showDiskUsageColumnHeaders = ImmutableList.of(
