This is an automated email from the ASF dual-hosted git repository. jackietien pushed a commit to branch ty/kill in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 43f2e8d2cfa6531680829dae00d4b4b57677f040 Merge: 0a13d70c743 0b67cb824eb Author: JackieTien97 <[email protected]> AuthorDate: Wed Mar 25 18:14:17 2026 +0800 Merge remote-tracking branch 'origin/dev/1.3' into ty/kill example/pom.xml | 1 + {iotdb-client => example/subscription}/pom.xml | 30 +- .../apache/iotdb/SubscriptionSessionExample.java | 0 integration-test/pom.xml | 5 + .../iotdb/it/env/cluster/env/AbstractEnv.java | 25 + .../iotdb/it/env/remote/env/RemoteServerEnv.java | 5 + .../java/org/apache/iotdb/itbase/env/BaseEnv.java | 6 + .../org/apache/iotdb/db/it/IoTDBRestServiceIT.java | 109 +- .../db/it/orderBy/IoTDBOrderByForDebugIT.java | 1410 -------------------- .../pipe/it/autocreate/IoTDBPipeDataSinkIT.java | 67 +- iotdb-client/pom.xml | 1 + iotdb-client/service-rpc/pom.xml | 5 - iotdb-client/subscription/pom.xml | 81 ++ .../rpc/subscription/config/ConsumerConfig.java | 0 .../rpc/subscription/config/ConsumerConstant.java | 0 .../iotdb/rpc/subscription/config/TopicConfig.java | 0 .../rpc/subscription/config/TopicConstant.java | 0 .../exception/SubscriptionConnectionException.java | 0 .../exception/SubscriptionException.java | 0 .../SubscriptionIdentifierSemanticException.java | 0 .../SubscriptionIncompatibleHandlerException.java | 0 .../SubscriptionParameterNotValidException.java | 0 .../SubscriptionPayloadExceedException.java | 0 .../SubscriptionPipeTimeoutException.java | 0 .../SubscriptionPollTimeoutException.java | 0 .../SubscriptionRuntimeCriticalException.java | 0 .../exception/SubscriptionRuntimeException.java | 0 .../SubscriptionRuntimeNonCriticalException.java | 0 .../exception/SubscriptionTimeoutException.java | 0 .../subscription/payload/poll/ErrorPayload.java | 0 .../subscription/payload/poll/FileInitPayload.java | 0 .../payload/poll/FilePiecePayload.java | 0 .../subscription/payload/poll/FileSealPayload.java | 0 .../subscription/payload/poll/PollFilePayload.java | 0 .../rpc/subscription/payload/poll/PollPayload.java | 0 .../payload/poll/PollTabletsPayload.java | 0 .../payload/poll/SubscriptionCommitContext.java | 0 .../payload/poll/SubscriptionPollPayload.java | 0 .../payload/poll/SubscriptionPollRequest.java | 0 .../payload/poll/SubscriptionPollRequestType.java | 0 .../payload/poll/SubscriptionPollResponse.java | 0 .../payload/poll/SubscriptionPollResponseType.java | 0 .../subscription/payload/poll/TabletsPayload.java | 0 .../payload/poll/TerminationPayload.java | 0 .../payload/request/PipeSubscribeCloseReq.java | 0 .../payload/request/PipeSubscribeCommitReq.java | 0 .../payload/request/PipeSubscribeHandshakeReq.java | 0 .../payload/request/PipeSubscribeHeartbeatReq.java | 0 .../payload/request/PipeSubscribePollReq.java | 0 .../payload/request/PipeSubscribeRequestType.java | 0 .../request/PipeSubscribeRequestVersion.java | 0 .../payload/request/PipeSubscribeSubscribeReq.java | 0 .../request/PipeSubscribeUnsubscribeReq.java | 0 .../payload/response/PipeSubscribeCloseResp.java | 0 .../payload/response/PipeSubscribeCommitResp.java | 0 .../response/PipeSubscribeHandshakeResp.java | 0 .../response/PipeSubscribeHeartbeatResp.java | 0 .../payload/response/PipeSubscribePollResp.java | 0 .../response/PipeSubscribeResponseType.java | 0 .../response/PipeSubscribeResponseVersion.java | 0 .../response/PipeSubscribeSubscribeResp.java | 0 .../response/PipeSubscribeUnsubscribeResp.java | 0 .../session/subscription/SubscriptionSession.java | 0 .../SubscriptionSessionConnection.java | 0 .../session/subscription/consumer/AckStrategy.java | 0 .../subscription/consumer/AsyncCommitCallback.java | 0 .../subscription/consumer/ConsumeListener.java | 0 .../subscription/consumer/ConsumeResult.java | 0 .../consumer/SubscriptionConsumer.java | 0 .../SubscriptionExecutorServiceManager.java | 0 .../consumer/SubscriptionProvider.java | 0 .../consumer/SubscriptionProviders.java | 0 .../consumer/SubscriptionPullConsumer.java | 0 .../consumer/SubscriptionPushConsumer.java | 0 .../session/subscription/model/Subscription.java | 0 .../iotdb/session/subscription/model/Topic.java | 0 .../payload/SubscriptionFileHandler.java | 0 .../subscription/payload/SubscriptionMessage.java | 0 .../payload/SubscriptionMessageHandler.java | 0 .../payload/SubscriptionMessageType.java | 0 .../payload/SubscriptionRecordHandler.java | 0 .../payload/SubscriptionTsFileHandler.java | 0 .../session/subscription/util/CollectionUtils.java | 0 .../session/subscription/util/IdentifierUtils.java | 0 .../iotdb/session/subscription/util/PollTimer.java | 0 .../subscription/util/RandomStringGenerator.java | 0 .../session/subscription/util/SetPartitioner.java | 0 iotdb-core/confignode/pom.xml | 5 + iotdb-core/datanode/pom.xml | 5 + .../org/apache/iotdb/db/audit/AuditLogger.java | 2 +- .../legacy/IoTDBLegacyPipeReceiverAgent.java | 2 +- .../protocol/legacy/loader/DeletionLoader.java | 2 +- .../protocol/legacy/loader/TsFileLoader.java | 2 +- .../sink/protocol/writeback/WriteBackSink.java | 2 +- .../iotdb/db/protocol/session/SessionManager.java | 6 +- .../db/queryengine/common/MPPQueryContext.java | 7 + .../iotdb/db/queryengine/common/SessionInfo.java | 16 +- .../common/header/ColumnHeaderConstant.java | 8 +- .../fragment/FragmentInstanceContext.java | 4 +- .../operator/source/ShowQueriesOperator.java | 3 + .../plan/execution/IQueryExecution.java | 5 + .../queryengine/plan/execution/QueryExecution.java | 10 + .../plan/execution/config/ConfigExecution.java | 10 + .../plan/planner/LogicalPlanVisitor.java | 5 + .../planner/plan/node/source/ShowQueriesNode.java | 12 +- .../metrics/IoTDBInternalLocalReporter.java | 2 +- .../load/active/ActiveLoadTsFileLoader.java | 2 +- .../execution/operator/MergeSortOperatorTest.java | 10 + .../db/queryengine/plan/analyze/AnalyzeTest.java | 2 +- .../plan/optimization/LimitOffsetPushDownTest.java | 2 +- .../plan/planner/FragmentInstanceSerdeTest.java | 3 +- .../planner/logical/LogicalPlannerTestUtil.java | 2 +- iotdb-core/node-commons/pom.xml | 5 + 113 files changed, 416 insertions(+), 1463 deletions(-) diff --cc iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/QueryExecution.java index 6572a39b5ef,43f46133053..8f14467627b --- 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 @@@ -659,11 -653,20 +659,21 @@@ public class QueryExecution implements } @Override - public long getTotalExecutionTime() { - return totalExecutionTime; + public synchronized long getTotalExecutionTime() { + return totalExecutionTime + + (startTimeOfCurrentRpc == -1 ? 0 : System.nanoTime() - startTimeOfCurrentRpc); } + @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 --cc iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/ConfigExecution.java index 00478d0ab88,a3e16a991ec..ab835735789 --- 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 @@@ -257,10 -248,19 +257,20 @@@ public class ConfigExecution implement @Override public long getTotalExecutionTime() { - return totalExecutionTime; + return totalExecutionTime + + (startTimeOfCurrentRpc == -1 ? 0 : System.nanoTime() - startTimeOfCurrentRpc); } + @Override + public String getClientHostname() { + return context.getClientHostName(); + } + + @Override + public long getTimeout() { + return context.getTimeOut(); + } + @Override public Optional<String> getExecuteSQL() { return Optional.ofNullable(context.getSql());
