This is an automated email from the ASF dual-hosted git repository.
shuwenwei pushed a change to branch mergeLastQueryScanNodeOfSameDevice
in repository https://gitbox.apache.org/repos/asf/iotdb.git
from c0ed35b8555 remove debug code
add 075596a0009 modify LastQueryNode
add 46f865b35e5 update other stage of last query
add 3ff855e98d0 Fix stuck when stopping a DataNode with large unremovable
WAL files (#15727)
add ecdf0d77bc1 Fixed the device NPE for table view in view device & Added
semantic check to prohibit the last data query for prefix paths with "*" &
Refactored metric log of tag number
add 1b9a446ecea Pipe: Delete the extra tags created by the
PipeWALInsertNodeCacheMetrics (#15761)
add 02febc0506e Optimize group by query in ClientRPCServiceImpl to reduce
cpu usage
add bbe031aaebe Fix thread leak in session while connected DN is down
add e1b6e890dbc Pipe: Fixed the NPE when closing sync connector (#15772)
add c603b990c75 Subscription: return immediately when unsubscribe empty
complete topics (#15770)
add a3920b0fd55 Pipe: Fixed the NPE caused by the compression timer
(#15782)
add e227a53a726 Pipe/IoTV2: Persist progress index locally before shutdown
to accurate recovery after restart (#15779)
add f7373707336 Opt error msg while time column is empty string
add 84b56d27b6b Improve argument validation for approx_most_frequent
function
add b7bd5526b3f [Remove DataNode] Increase the waiting time for removing
DN test (#15769)
add f706aacccaf Fix multiple bugs in window function
add 2b60aa5eecc [AINode] Unify .safetensors model loading through
huggingface interfaces (#15756)
add cb24cb7f936 update go:package_prefix to v2 (#15795)
add 0505dfb9cb2 Fix the returning state of NotifyRegionMigrationProcedure
(#15797)
add fb2684a8249 Export TsFile: manual commit instead of auto commit
(#15798)
add f207084f03c Pipe: Add upper bound check for Pipe request decompression
buffer (#15699)
add e1bd11b9d6e Fixed the issue with deeply nested Or Filter in
NonAlignedTreeViewScan
add 89649f1d67d Prevent the contents of log_datanode_sample_query.log and
log_explain_ananlyze.log from being output to log_datanode_all.log (#15800)
add 817150d29d9 Avoid NPE in fetch FI Info
add 71ef45d9e1c Add new parameter [ignoreNull] and supported data type for
VARIATION Function (#15628)
add 5cb388190ae Parallel disptach read fragment instance
add 5054ff6fbbc Throw CANNOT_FETCH_FI_STATE(722) instead of 301/305 while
DN restarting
add 037ef649ad6 Fix sort elimination when table join self in TableModel
add b3435b79f42 Pause remove DN tests
add 35f2ff6fc5a Clarify the exception message when using a closed session
(#15811)
add 7a7dbecb0b7 Avoid 301/305 code about fetch schema failed
add 71563ed372f Make timecol be case-insensitive
add 7afc2b65b41 [AINode] Update the class fields of IoTDB dataset (#15799)
add 1dc47d48e07 Rest Service add FastLastQuery method
add 88abd3e3097 Enhance it for cluster-restart tests (#15794)
add b8fd08984cb IoTV2: Refactor replicate index so that it is shared at
the pipe task level & Add some log for delete local peer (#15815)
add b4365e3496d Merge branch 'iotdb_master' into
mergeLastQueryScanNodeOfSameDevice
add b0484efc84f rename
add dab659d63cf optimize distribution plan and dispatch
No new revisions were added by this update.
Summary of changes:
.../org/apache/iotdb/it/env/cluster/EnvUtils.java | 77 +++++-
.../it/env/cluster/config/MppDataNodeConfig.java | 12 +
.../iotdb/it/env/cluster/env/AbstractEnv.java | 266 ++++++++++++++++----
.../it/env/cluster/node/AbstractNodeWrapper.java | 13 +-
.../it/env/remote/config/RemoteDataNodeConfig.java | 10 +
.../apache/iotdb/itbase/env/DataNodeConfig.java | 4 +
.../IoTDBRemoveDataNodeNormalIT.java | 4 +-
.../removedatanode/IoTDBRemoveDataNodeUtils.java | 16 +-
.../IoTDBRemoveUnknownDataNodeIT.java | 35 +--
.../iotdb/db/it/IoTDBCustomizedClusterIT.java | 271 +++++++++++++++++++++
.../relational/it/db/it/IoTDBWindowFunctionIT.java | 170 ++++++++++++-
.../relational/it/db/it/IoTDBWindowTVFIT.java | 175 +++++++++++++
.../it/query/recent/IoTDBTableAggregationIT.java | 10 +-
.../org/apache/iotdb/session/it/SessionIT.java | 133 ++++++++--
...eption.java => UDFColumnNotFoundException.java} | 7 +-
...xception.java => UDFTypeMismatchException.java} | 7 +-
.../table/argument/ScalarArgumentChecker.java | 8 +
.../java/org/apache/iotdb/udf/api/type/Type.java | 10 +
.../org/apache/iotdb/tool/common/Constants.java | 3 +-
.../subscription/SubscriptionTableTsFile.java | 2 +-
.../subscription/SubscriptionTreeTsFile.java | 2 +-
.../java/org/apache/iotdb/isession/ISession.java | 6 +-
.../java/org/apache/iotdb/rpc/TSStatusCode.java | 2 +
.../java/org/apache/iotdb/session/Session.java | 250 ++++++++++---------
.../apache/iotdb/session/SessionConnection.java | 6 +-
.../apache/iotdb/session/TableSessionBuilder.java | 7 +-
.../subscription/AbstractSubscriptionSession.java | 2 +-
.../subscription/SubscriptionSessionWrapper.java | 4 +-
.../base/AbstractSubscriptionProvider.java | 30 +--
iotdb-core/ainode/ainode/core/config.py | 10 +-
iotdb-core/ainode/ainode/core/constant.py | 22 +-
iotdb-core/ainode/ainode/core/ingress/dataset.py | 18 +-
iotdb-core/ainode/ainode/core/ingress/iotdb.py | 69 ++++--
.../ainode/core/manager/inference_manager.py | 22 +-
.../ainode/ainode/core/manager/model_manager.py | 48 +++-
.../ainode/core/model/built_in_model_factory.py | 72 ++++--
.../ainode/ainode/core/model/model_storage.py | 97 +++++---
.../ainode/core/model/sundial/modeling_sundial.py | 22 +-
.../ainode/core/model/timerxl/modeling_timer.py | 22 +-
.../pipe/agent/task/PipeConfigNodeSubtask.java | 9 +-
.../region/NotifyRegionMigrationProcedure.java | 2 +-
.../iotdb/confignode/service/ConfigNode.java | 12 +-
.../consensus/iot/logdispatcher/LogDispatcher.java | 2 +-
.../consensus/iot/logdispatcher/SyncStatus.java | 5 +-
.../apache/iotdb/consensus/pipe/PipeConsensus.java | 3 +-
.../consensus/pipe/PipeConsensusServerImpl.java | 13 +-
.../pipe/consensuspipe/ConsensusPipeConnector.java | 4 +-
.../consensuspipe/ReplicateProgressManager.java | 2 +-
.../pipe/metric/PipeConsensusSyncLagManager.java | 12 +-
.../assembly/resources/conf/logback-datanode.xml | 6 +-
.../apache/iotdb/db/auth/BasicAuthorityCache.java | 2 +-
.../db/pipe/agent/task/PipeDataNodeTaskAgent.java | 24 ++
.../connector/PipeConnectorSubtaskManager.java | 4 +
.../airgap/IoTDBDataRegionAirGapConnector.java | 2 +-
.../pipeconsensus/PipeConsensusAsyncConnector.java | 13 +-
.../async/IoTDBDataRegionAsyncConnector.java | 2 +-
.../thrift/sync/IoTDBDataRegionSyncConnector.java | 6 +-
.../ReplicateProgressDataNodeManager.java | 21 +-
.../event/realtime/PipeRealtimeEventFactory.java | 50 +---
...oricalDataRegionTsFileAndDeletionExtractor.java | 8 +-
.../realtime/assigner/PipeDataRegionAssigner.java | 18 +-
.../listener/PipeInsertionDataNodeListener.java | 11 +-
.../overview/PipeWALInsertNodeCacheMetrics.java | 4 +-
.../protocol/rest/v2/handler/FastLastHandler.java | 71 ++++++
.../rest/v2/handler/RequestValidationHandler.java | 8 +
.../protocol/rest/v2/impl/RestApiServiceImpl.java | 230 ++++++++++++-----
.../protocol/thrift/impl/ClientRPCServiceImpl.java | 73 +++---
.../db/queryengine/common/MPPQueryContext.java | 27 ++
.../execution/MemoryEstimationHelper.java | 7 +
.../queryengine/execution/QueryStateMachine.java | 30 +--
.../execution/driver/DriverContext.java | 6 +
.../execution/fragment/DataNodeQueryContext.java | 16 +-
.../fragment/FakedFragmentInstanceContext.java | 106 ++++++++
.../fragment/FragmentInstanceContext.java | 19 +-
.../execution/fragment/QueryContext.java | 2 +-
.../last/AbstractUpdateLastCacheOperator.java | 10 +-
.../last/AlignedUpdateLastCacheOperator.java | 10 +-
.../AlignedUpdateViewPathLastCacheOperator.java | 6 +-
.../process/last/UpdateLastCacheOperator.java | 23 +-
.../process/window/TableWindowOperator.java | 1 -
.../window/partition/PartitionExecutor.java | 6 +-
.../process/window/partition/frame/RangeFrame.java | 6 +-
.../process/window/utils/RowComparator.java | 20 ++
.../schema/source/TableDeviceQuerySource.java | 14 +-
.../execution/schedule/task/DriverTaskId.java | 3 +-
.../iotdb/db/queryengine/plan/Coordinator.java | 13 +
.../db/queryengine/plan/analyze/Analysis.java | 31 +++
.../queryengine/plan/analyze/AnalyzeVisitor.java | 62 ++++-
.../queryengine/plan/analyze/ExpressionUtils.java | 14 +-
.../queryengine/plan/execution/QueryExecution.java | 8 +-
.../memory/StatementMemorySourceVisitor.java | 3 +-
.../plan/planner/LogicalPlanBuilder.java | 100 +++-----
.../plan/planner/OperatorTreeGenerator.java | 38 +--
.../plan/planner/SubPlanTypeExtractor.java | 4 +-
.../plan/planner/TableOperatorGenerator.java | 37 ++-
.../queryengine/plan/planner/TreeModelPlanner.java | 2 +-
.../planner/distribution/ExchangeNodeAdder.java | 10 +-
.../planner/distribution/NodeGroupContext.java | 10 +
.../SimpleFragmentParallelPlanner.java | 13 +-
.../plan/planner/distribution/SourceRewriter.java | 63 +++--
.../memory/FakedMemoryReservationManager.java} | 16 +-
.../plan/planner/plan/PlanFragment.java | 9 +
.../plan/planner/plan/node/PlanGraphPrinter.java | 6 +-
.../plan/planner/plan/node/PlanNodeType.java | 4 +-
.../plan/planner/plan/node/PlanVisitor.java | 4 +-
.../plan/node/process/MultiChildProcessNode.java | 4 +
.../node/process/last/LastQueryCollectNode.java | 2 +-
.../plan/node/process/last/LastQueryMergeNode.java | 2 +-
.../plan/node/process/last/LastQueryNode.java | 146 +++++++++--
.../node/process/last/LastQueryTransformNode.java | 2 +-
...stQueryScanNode.java => LastQueryScanNode.java} | 170 +++++++------
.../relational/analyzer/ExpressionAnalyzer.java | 5 +-
.../relational/analyzer/StatementAnalyzer.java | 18 +-
.../function/tvf/ForecastTableFunction.java | 36 ++-
.../metadata/fetcher/TableDeviceSchemaFetcher.java | 18 +-
.../plan/relational/planner/QueryPlanner.java | 42 ++--
.../plan/relational/planner/TableModelPlanner.java | 2 +-
.../distribute/TableDistributedPlanGenerator.java | 18 +-
.../distribute/TableModelQueryFragmentPlanner.java | 1 +
.../planner/optimizations/SortElimination.java | 60 ++++-
.../optimizations/TransformSortToStreamSort.java | 33 ++-
.../plan/relational/sql/ast/Identifier.java | 6 +-
.../plan/relational/sql/parser/AstBuilder.java | 10 +-
.../plan/scheduler/ClusterScheduler.java | 11 +-
.../scheduler/FixedRateFragInsStateTracker.java | 34 +--
.../scheduler/FragmentInstanceDispatcherImpl.java | 101 +++++++-
.../plan/scheduler/IFragInstanceDispatcher.java | 6 +-
.../scheduler/load/LoadTsFileDispatcherImpl.java | 4 +-
.../plan/scheduler/load/LoadTsFileScheduler.java | 2 +-
.../java/org/apache/iotdb/db/service/DataNode.java | 13 +-
.../iotdb/db/service/DataNodeShutdownHook.java | 33 ++-
.../dataregion/tsfile/TsFileResourceList.java | 2 +-
.../storageengine/dataregion/wal/WALManager.java | 11 +-
.../receiver/SubscriptionReceiverV1.java | 6 +
...nAlignedTreeDeviceViewScanOperatorTreeTest.java | 39 +++
.../plan/planner/distribution/LastQueryTest.java | 14 +-
.../logical/DataQueryLogicalPlannerTest.java | 55 ++---
...deTest.java => LastQueryScanNodeSerdeTest.java} | 20 +-
.../plan/relational/analyzer/AnalyzerTest.java | 5 +-
.../plan/relational/analyzer/JoinTest.java | 52 ++++
.../relational/analyzer/TableFunctionTest.java | 82 +++++++
.../org/apache/iotdb/metrics/utils/MetricInfo.java | 3 +-
.../apache/iotdb/commons/client/ClientManager.java | 5 +
.../iotdb/commons/client/IClientManager.java | 3 +
.../commons/concurrent/IoTDBThreadPoolFactory.java | 28 +++
.../iotdb/commons/concurrent/ThreadName.java | 1 +
.../apache/iotdb/commons/conf/CommonConfig.java | 18 ++
...meException.java => PortOccupiedException.java} | 14 +-
.../iotdb/commons/partition/DataPartition.java | 36 ++-
.../org/apache/iotdb/commons/path/PartialPath.java | 4 +
.../pipe/agent/task/meta/PipeRuntimeMeta.java | 9 +
.../commons/pipe/agent/task/meta/PipeTaskMeta.java | 25 +-
.../task/progress/PipeEventCommitManager.java | 11 -
.../iotdb/commons/pipe/config/PipeConfig.java | 7 +
.../iotdb/commons/pipe/config/PipeDescriptor.java | 5 +
.../thrift/request/PipeTransferCompressedReq.java | 15 ++
.../relational/tvf/VariationTableFunction.java | 196 +++++++++++++--
.../udf/builtin/relational/tvf/WindowTVFUtils.java | 6 +-
.../apache/iotdb/commons/utils/StatusUtils.java | 14 ++
.../openapi/src/main/openapi3/iotdb_rest_v2.yaml | 25 ++
.../thrift-datanode/src/main/thrift/client.thrift | 1 +
pom.xml | 2 +-
162 files changed, 3673 insertions(+), 1140 deletions(-)
create mode 100644
integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBCustomizedClusterIT.java
copy
iotdb-api/udf-api/src/main/java/org/apache/iotdb/udf/api/exception/{UDFException.java
=> UDFColumnNotFoundException.java} (82%)
copy
iotdb-api/udf-api/src/main/java/org/apache/iotdb/udf/api/exception/{UDFException.java
=> UDFTypeMismatchException.java} (83%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/rest/v2/handler/FastLastHandler.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/fragment/FakedFragmentInstanceContext.java
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/{relational/sql/ast/JoinCriteria.java
=> planner/memory/FakedMemoryReservationManager.java} (70%)
rename
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/{DeviceLastQueryScanNode.java
=> LastQueryScanNode.java} (66%)
rename
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/source/{DeviceLastQueryScanNodeSerdeTest.java
=> LastQueryScanNodeSerdeTest.java} (89%)
copy
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/exception/{IoTDBIORuntimeException.java
=> PortOccupiedException.java} (75%)