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
The following commit(s) were added to refs/heads/addShowQ by this push:
new 9369f908906 modify according review
9369f908906 is described below
commit 9369f908906ab84f168c10dd16194ae55dcaf434
Author: Weihao Li <[email protected]>
AuthorDate: Wed Mar 25 15:48:45 2026 +0800
modify according review
Signed-off-by: Weihao Li <[email protected]>
---
.../iotdb/relational/it/query/recent/IoTDBMaintainAuthIT.java | 1 +
.../java/org/apache/iotdb/relational/it/schema/IoTDBDatabaseIT.java | 2 ++
.../org/apache/iotdb/db/queryengine/common/MPPQueryContext.java | 3 +++
.../queryengine/execution/operator/source/ShowQueriesOperator.java | 6 ++++--
.../source/relational/InformationSchemaContentSupplierFactory.java | 5 +++--
.../apache/iotdb/db/queryengine/plan/execution/IQueryExecution.java | 1 +
.../queryengine/plan/planner/plan/node/source/ShowQueriesNode.java | 3 +--
.../plan/relational/planner/informationschema/ShowQueriesTest.java | 3 +++
.../apache/iotdb/commons/schema/column/ColumnHeaderConstant.java | 3 +++
.../org/apache/iotdb/commons/schema/table/InformationSchema.java | 3 +++
10 files changed, 24 insertions(+), 6 deletions(-)
diff --git
a/integration-test/src/test/java/org/apache/iotdb/relational/it/query/recent/IoTDBMaintainAuthIT.java
b/integration-test/src/test/java/org/apache/iotdb/relational/it/query/recent/IoTDBMaintainAuthIT.java
index ccd264fd67c..2d86a652194 100644
---
a/integration-test/src/test/java/org/apache/iotdb/relational/it/query/recent/IoTDBMaintainAuthIT.java
+++
b/integration-test/src/test/java/org/apache/iotdb/relational/it/query/recent/IoTDBMaintainAuthIT.java
@@ -174,6 +174,7 @@ public class IoTDBMaintainAuthIT {
"elapsed_time",
"statement",
"user",
+ "wait_time_in_server",
"client_ip",
"timeout"
};
diff --git
a/integration-test/src/test/java/org/apache/iotdb/relational/it/schema/IoTDBDatabaseIT.java
b/integration-test/src/test/java/org/apache/iotdb/relational/it/schema/IoTDBDatabaseIT.java
index 36368d33da7..94c215a52ae 100644
---
a/integration-test/src/test/java/org/apache/iotdb/relational/it/schema/IoTDBDatabaseIT.java
+++
b/integration-test/src/test/java/org/apache/iotdb/relational/it/schema/IoTDBDatabaseIT.java
@@ -465,6 +465,7 @@ public class IoTDBDatabaseIT {
"elapsed_time,FLOAT,ATTRIBUTE,",
"statement,STRING,ATTRIBUTE,",
"user,STRING,ATTRIBUTE,",
+ "wait_time_in_server,FLOAT,ATTRIBUTE,",
"client_ip,STRING,ATTRIBUTE,",
"timeout,INT64,ATTRIBUTE,")));
TestUtils.assertResultSetEqual(
@@ -685,6 +686,7 @@ public class IoTDBDatabaseIT {
"information_schema,queries,elapsed_time,FLOAT,ATTRIBUTE,USING,null,",
"information_schema,queries,statement,STRING,ATTRIBUTE,USING,null,",
"information_schema,queries,user,STRING,ATTRIBUTE,USING,null,",
+
"information_schema,queries,wait_time_in_server,FLOAT,ATTRIBUTE,USING,null,",
"information_schema,queries,client_ip,STRING,ATTRIBUTE,USING,null,",
"information_schema,queries,timeout,INT64,ATTRIBUTE,USING,null,",
"test,test,time,TIMESTAMP,TIME,USING,null,",
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 4eea2457b50..0294a14af25 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
@@ -589,6 +589,9 @@ public class MPPQueryContext implements IAuditEntity {
@Override
public String getCliHostname() {
+ 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/execution/operator/source/ShowQueriesOperator.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/ShowQueriesOperator.java
index 7742741e796..75013c844dc 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,8 +150,10 @@ 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());
+ 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/execution/operator/source/relational/InformationSchemaContentSupplierFactory.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/InformationSchemaContentSupplierFactory.java
index 557117283de..d7162b03be3 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/InformationSchemaContentSupplierFactory.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/InformationSchemaContentSupplierFactory.java
@@ -283,8 +283,9 @@ public class InformationSchemaContentSupplierFactory {
columnBuilders[4].writeBinary(
BytesUtils.valueOf(queryExecution.getExecuteSQL().orElse("UNKNOWN")));
columnBuilders[5].writeBinary(BytesUtils.valueOf(queryExecution.getUser()));
-
columnBuilders[6].writeBinary(BytesUtils.valueOf(queryExecution.getClientHostname()));
- columnBuilders[7].writeLong(queryExecution.getTimeout());
+ columnBuilders[6].writeFloat((float)
queryExecution.getTotalExecutionTime() / 1000_000_000);
+
columnBuilders[7].writeBinary(BytesUtils.valueOf(queryExecution.getClientHostname()));
+ columnBuilders[8].writeLong(queryExecution.getTimeout());
resultBuilder.declarePosition();
}
nextConsumedIndex++;
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 3432a139079..f754bc4b10e 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
@@ -80,6 +80,7 @@ public interface IQueryExecution {
String getUser();
+ /** return ip for a thrift-based client, client-id for MQTT/REST client */
String getClientHostname();
boolean isDebug();
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 87157c1d236..1eaf122c773 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
@@ -33,7 +33,6 @@ 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;
@@ -42,7 +41,7 @@ public class ShowQueriesNode extends VirtualSourceNode {
public static final List<String> SHOW_QUERIES_HEADER_COLUMNS =
showQueriesColumnHeaders.stream()
.map(ColumnHeader::getColumnName)
- .collect(Collectors.toList());
+ .collect(ImmutableList.toImmutableList());
private final String allowedUsername;
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/planner/informationschema/ShowQueriesTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/planner/informationschema/ShowQueriesTest.java
index 61b54fcf1c9..6226dd98627 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/planner/informationschema/ShowQueriesTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/planner/informationschema/ShowQueriesTest.java
@@ -37,6 +37,7 @@ import static
org.apache.iotdb.commons.schema.column.ColumnHeaderConstant.STATEM
import static
org.apache.iotdb.commons.schema.column.ColumnHeaderConstant.TIMEOUT_TABLE_MODEL;
import static org.apache.iotdb.commons.schema.column.ColumnHeaderConstant.USER;
import static
org.apache.iotdb.commons.schema.column.ColumnHeaderConstant.USER_TABLE_MODEL;
+import static
org.apache.iotdb.commons.schema.column.ColumnHeaderConstant.WAIT_TIME_IN_SERVER_TABLE_MODEL;
import static
org.apache.iotdb.db.queryengine.plan.relational.planner.assertions.PlanAssert.assertPlan;
import static
org.apache.iotdb.db.queryengine.plan.relational.planner.assertions.PlanMatchPattern.collect;
import static
org.apache.iotdb.db.queryengine.plan.relational.planner.assertions.PlanMatchPattern.exchange;
@@ -67,6 +68,7 @@ public class ShowQueriesTest {
ELAPSED_TIME_TABLE_MODEL,
STATEMENT_TABLE_MODEL,
USER_TABLE_MODEL,
+ WAIT_TIME_IN_SERVER_TABLE_MODEL,
CLIENT_IP,
TIMEOUT_TABLE_MODEL))));
@@ -147,6 +149,7 @@ public class ShowQueriesTest {
ELAPSED_TIME_TABLE_MODEL,
STATEMENT.toLowerCase(Locale.ENGLISH),
USER.toLowerCase(Locale.ENGLISH),
+ WAIT_TIME_IN_SERVER_TABLE_MODEL,
CLIENT_IP,
TIMEOUT_TABLE_MODEL)))));
}
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 74e161f758f..33f56cdefe9 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,7 @@ 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_TREE_MODEL = "ClientIp";
public static final String TIMEOUT = "Timeout";
@@ -227,6 +228,7 @@ public class ColumnHeaderConstant {
public static final String DATA_NODE_ID_TABLE_MODEL = "datanode_id";
public static final String START_TIME_TABLE_MODEL = "start_time";
public static final String ELAPSED_TIME_TABLE_MODEL = "elapsed_time";
+ public static final String WAIT_TIME_IN_SERVER_TABLE_MODEL =
"wait_time_in_server";
public static final String TIMEOUT_TABLE_MODEL = "timeout";
// column names for current_queries and queries_costs_histogram
@@ -652,6 +654,7 @@ public class ColumnHeaderConstant {
new ColumnHeader(DATA_NODE_ID, TSDataType.INT32),
new ColumnHeader(ELAPSED_TIME, TSDataType.FLOAT),
new ColumnHeader(STATEMENT, TSDataType.STRING),
+ new ColumnHeader(WAIT_TIME_IN_SERVER, TSDataType.FLOAT),
new ColumnHeader(CLIENT_IP_TREE_MODEL, TSDataType.STRING),
new ColumnHeader(TIMEOUT, TSDataType.INT64));
diff --git
a/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/schema/table/InformationSchema.java
b/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/schema/table/InformationSchema.java
index 454267dbc9f..98bf4a9a830 100644
---
a/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/schema/table/InformationSchema.java
+++
b/iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/schema/table/InformationSchema.java
@@ -78,6 +78,9 @@ public class InformationSchema {
new AttributeColumnSchema(ColumnHeaderConstant.STATEMENT_TABLE_MODEL,
TSDataType.STRING));
queriesTable.addColumnSchema(
new AttributeColumnSchema(ColumnHeaderConstant.USER_TABLE_MODEL,
TSDataType.STRING));
+ queriesTable.addColumnSchema(
+ new AttributeColumnSchema(
+ ColumnHeaderConstant.WAIT_TIME_IN_SERVER_TABLE_MODEL,
TSDataType.FLOAT));
queriesTable.addColumnSchema(
new AttributeColumnSchema(ColumnHeaderConstant.CLIENT_IP,
TSDataType.STRING));
queriesTable.addColumnSchema(