You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ja...@apache.org on 2026/01/27 01:38:37 UTC
(iotdb) branch UserDefinedTime updated (0aa1d9c3677 -> dedf5b0945f)
This is an automated email from the ASF dual-hosted git repository.
jackietien pushed a change to branch UserDefinedTime
in repository https://gitbox.apache.org/repos/asf/iotdb.git
from 0aa1d9c3677 support that the user could specify the name of time column(columnCategory is time)(#17048)
add 50c6183a8ac sesion cpp ssl (#16968)
add f74a7dcbcd3 Fix mods name of target files in settle compaction (#17043)
add d74fca109dc Repair the problem that accumulate index used chunkMetadataList (#17040)
add a5f87298a55 [AINode] Fix the AINode cannot stop by script (#17045)
add ec9bd0d6da0 fix session cpp node-supplier (#17039)
add 2471938c505 Pipe: Fixed the semantic of reporting interval && Trimmed the "toString" of InsertMultiTabletsStatement (#17044)
add dce185a745b Decouple mqtt from iotdb-server using ExternalService framework (#17042)
add d8a0a5abda8 [AINode] Optimize model loading (#17046)
add 650cc085396 remove some useless code (#17047)
add 1befb1b4fe5 Pipe: disable multiple path and path exclusion (#17038)
add 8aef1952c31 Remove some method implementations related to the object type (#17054)
add 56097ac5b2f Fix data export logic to avoid redundant high frequency query (#17049)
add 36dadf5d965 Upper case data type from SQL statement, and add a validation for non exist data type. (#17057)
add f4e8521f021 Fix the problem that "StateMachineProceduree not set next state, but return HAS_MORE_STATE". (#17058)
add f198b8e4718 Change default dn rpc address (#17060)
add 6eeb91b7666 Fix the problem that fault a Exception named "java.nio.BufferUnderflowException" when AlterTimeSeriesDataTypeProcedure deserialize (#17062)
add 129c0d61c3f Pipe: Fixed the missing privilege check of aligned series in tsFile scan parser & Fixed the missed parsing of insertNode privilege (#17055)
add 5101489d412 Optimized the logger when table does not exist in DN heartbeat && Pipe: Fixed the OPC UA Sink key getter logic and potentail NPE when closing client && Load: Fixed the missing schema writing for "root" table (#17063)
add 46a4ba26ed7 Fix cannot find Formatter when put mqtt-dependency-jar in ext folder #17066
add f5470e848e1 [AINode] More accurate exceptions (#17061)
add f7589ab4d41 Fix memory init bug and ddl overflow bug (#17071)
add c39abcb8671 Integrate window function optimization rules into IoTDB (#16953)
add b0495da2d6a fix last query bug #17073
add b7c12a20116 Improve stability of BinaryAllocatorTest#testEviction (#17078)
add d9c3fc9f908 fix: record directory allocation for hard-linked files (#17077)
add 6952ebf4dc3 Fix Python & Go Client CI (#17081)
add 8e5fcba50ba Fix cross partition write after alter data type (#17082)
new dedf5b0945f Merge remote-tracking branch 'origin/master' into UserDefinedTime
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.github/workflows/multi-language-client.yml | 15 +-
distribution/pom.xml | 8 +
distribution/src/assembly/all.xml | 4 +
distribution/src/assembly/datanode.xml | 6 +
...{common-files.xml => external-service-impl.xml} | 21 +-
docker/src/main/Dockerfile-1c1d | 4 +-
example/client-cpp-example/src/CMakeLists.txt | 64 +-
example/mqtt-customize/pom.xml | 6 +-
.../server/CustomizedJsonPayloadFormatter.java | 6 +-
...Formatter => org.apache.iotdb.PayloadFormatter} | 0
external-service-impl/mqtt/pom.xml | 177 +
.../apache/iotdb}/mqtt/BrokerAuthenticator.java | 2 +-
.../apache/iotdb}/mqtt/JSONPayloadFormatter.java | 2 +-
.../apache/iotdb}/mqtt/LinePayloadFormatter.java | 2 +-
.../org/apache/iotdb}/mqtt/MPPPublishHandler.java | 2 +-
.../java/org/apache/iotdb/mqtt}/MQTTService.java | 28 +-
.../main/java/org/apache/iotdb}/mqtt/Message.java | 2 +-
.../apache/iotdb}/mqtt/PayloadFormatManager.java | 5 +-
.../org/apache/iotdb}/mqtt/PayloadFormatter.java | 2 +-
.../java/org/apache/iotdb}/mqtt/TableMessage.java | 2 +-
.../java/org/apache/iotdb}/mqtt/TreeMessage.java | 2 +-
.../org.apache.iotdb.mqtt.PayloadFormatter | 3 +-
.../iotdb}/mqtt/BrokerAuthenticatorTest.java | 18 +-
.../iotdb}/mqtt/JSONPayloadFormatterTest.java | 3 +-
.../iotdb}/mqtt/LinePayloadFormatterTest.java | 3 +-
.../iotdb}/mqtt/PayloadFormatManagerTest.java | 8 +-
{example/jdbc => external-service-impl}/pom.xml | 28 +-
integration-test/pom.xml | 12 +
integration-test/src/assembly/mpp-share.xml | 6 +
.../it/env/cluster/node/AbstractNodeWrapper.java | 2 +-
.../apache/iotdb/ainode/it/AINodeForecastIT.java | 21 +-
.../ainode/it/AINodeInstanceManagementIT.java | 8 +
.../db/it/last/IoTDBLastQueryLastCacheIT.java | 42 +
.../db/it/schema/IoTDBAlterTimeSeriesTypeIT.java | 52 +
.../auto/basic/IoTDBTreePatternFormatIT.java | 13 +
.../treemodel/manual/IoTDBPipeInclusionIT.java | 3 +
.../treemodel/manual/IoTDBPipePermissionIT.java | 56 +
.../iotdb/pipe/it/single/IoTDBPipeOPCUAIT.java | 8 +-
.../it/db/it/IoTDBWindowFunction3IT.java | 179 +
.../api/customizer/parameter/PipeParameters.java | 23 +-
.../customizer/parameter/PipeParametersTest.java | 6 +-
.../org/apache/iotdb/tool/data/ExportDataTree.java | 221 +-
iotdb-client/client-cpp/pom.xml | 34 +-
.../client-cpp/src/main/AbstractSessionBuilder.h | 39 +-
iotdb-client/client-cpp/src/main/CMakeLists.txt | 16 +-
iotdb-client/client-cpp/src/main/NodesSupplier.cpp | 73 +-
iotdb-client/client-cpp/src/main/NodesSupplier.h | 34 +-
iotdb-client/client-cpp/src/main/Session.cpp | 2 +-
iotdb-client/client-cpp/src/main/Session.h | 4 +
iotdb-client/client-cpp/src/main/SessionBuilder.h | 15 +
.../client-cpp/src/main/SessionConnection.cpp | 20 +-
.../client-cpp/src/main/SessionConnection.h | 5 +-
.../client-cpp/src/main/TableSessionBuilder.h | 15 +
.../client-cpp/src/main/ThriftConnection.cpp | 16 +-
.../client-cpp/src/main/ThriftConnection.h | 6 +-
iotdb-client/client-cpp/src/test/CMakeLists.txt | 42 +-
iotdb-client/client-cpp/src/test/catch2/catch.hpp | 17974 +++++++++++++++++++
iotdb-client/client-cpp/src/test/main.cpp | 15 +-
.../client-py/iotdb/tsfile/utils/tsblock_serde.py | 1 -
.../client-py/tests/integration/test_todf.py | 2 +-
iotdb-core/ainode/iotdb/ainode/core/constant.py | 2 +
.../iotdb/ainode/core/inference/pool_controller.py | 11 +
.../iotdb/ainode/core/manager/inference_manager.py | 8 +-
iotdb-core/ainode/iotdb/ainode/core/rpc/handler.py | 10 +
iotdb-core/ainode/iotdb/ainode/core/rpc/service.py | 12 +-
.../pipe/agent/task/PipeConfigNodeSubtask.java | 27 +-
.../schema/AlterTimeSeriesDataTypeProcedure.java | 7 +-
...a => AlterTimeSeriesDataTypeProcedureTest.java} | 35 +-
iotdb-core/datanode/pom.xml | 12 -
.../org/apache/iotdb/db/auth/AuthorityChecker.java | 2 +
.../apache/iotdb/db/conf/DataNodeMemoryConfig.java | 17 +-
.../java/org/apache/iotdb/db/conf/IoTDBConfig.java | 2 +-
.../dataregion/DataExecutionVisitor.java | 9 +-
...ception.java => AINodeConnectionException.java} | 14 +-
.../db/pipe/agent/task/PipeDataNodeTaskAgent.java | 6 +-
.../subtask/processor/PipeProcessorSubtask.java | 8 +-
.../agent/task/subtask/sink/PipeSinkSubtask.java | 40 +-
.../common/deletion/PipeDeleteDataNodeEvent.java | 1 +
.../tablet/PipeInsertNodeTabletInsertionEvent.java | 15 +-
.../scan/TsFileInsertionEventScanParser.java | 157 +-
.../protocol/thrift/IoTDBDataNodeReceiver.java | 2 +-
.../protocol/opcua/client/IoTDBOpcUaClient.java | 4 +-
.../sink/protocol/writeback/WriteBackSink.java | 2 +-
...istoricalDataRegionTsFileAndDeletionSource.java | 3 +-
.../impl/DataNodeInternalRPCServiceImpl.java | 8 -
.../queryengine/execution/QueryStateMachine.java | 2 +-
.../execution/executor/RegionReadExecutor.java | 4 +-
.../fragment/FragmentInstanceContext.java | 2 +-
.../execution/operator/GroupedTopNBuilder.java} | 14 +-
.../operator/GroupedTopNRowNumberAccumulator.java | 483 +
.../operator/GroupedTopNRowNumberBuilder.java | 182 +
.../queryengine/execution/operator/IdRegistry.java | 76 +
.../operator/RowIdComparisonStrategy.java} | 7 +-
.../execution/operator/RowIdHashStrategy.java} | 10 +-
.../operator/RowReference.java} | 37 +-
.../operator/RowReferenceTsBlockManager.java | 386 +
.../SimpleTsBlockWithPositionComparator.java | 52 +
.../operator/TsBlockWithPositionComparator.java} | 9 +-
.../{ProjectOperator.java => ValuesOperator.java} | 67 +-
.../operator/process/ai/InferenceOperator.java | 7 +-
.../operator/process/function/partition/Slice.java | 6 +-
.../operator/process/last/LastQueryOperator.java | 6 +-
.../operator/process/window/RowNumberOperator.java | 214 +
.../process/window/TopKRankingOperator.java | 278 +
.../relational/aggregation/RecordIterator.java | 6 +-
.../grouped/array/IntArrayFIFOQueue.java | 201 +
.../grouped/array/LongBigArrayFIFOQueue.java | 197 +
.../grouped/hash/NoChannelGroupByHash.java | 72 +
.../execution/schedule/AbstractDriverThread.java | 4 +-
.../execution/schedule/task/DriverTask.java | 12 +-
.../queryengine/plan/execution/QueryExecution.java | 2 +-
.../config/executor/ClusterConfigTaskExecutor.java | 31 +-
.../db/queryengine/plan/parser/ASTVisitor.java | 27 +-
.../plan/planner/TableOperatorGenerator.java | 129 +
.../plan/planner/plan/node/PlanGraphPrinter.java | 42 +
.../plan/planner/plan/node/PlanNodeType.java | 12 +
.../plan/planner/plan/node/PlanVisitor.java | 16 +
.../plan/node/write/RelationalInsertRowsNode.java | 43 -
.../node/write/RelationalInsertTabletNode.java | 51 -
.../function/tvf/ClassifyTableFunction.java | 10 +-
.../function/tvf/ForecastTableFunction.java | 10 +-
.../distribute/TableDistributedPlanGenerator.java | 70 +
.../iterative/rule/GatherAndMergeWindows.java | 333 +
.../iterative/rule/PushDownFilterIntoWindow.java | 166 +
.../iterative/rule/PushDownLimitIntoWindow.java | 100 +
...urceColumns.java => RemoveRedundantWindow.java} | 28 +-
.../iterative/rule/ReplaceWindowWithRowNumber.java | 72 +
.../relational/planner/iterative/rule/Util.java | 45 +-
.../plan/relational/planner/node/Patterns.java | 20 +-
.../relational/planner/node/RowNumberNode.java | 215 +
.../relational/planner/node/TopKRankingNode.java | 208 +
.../plan/relational/planner/node/ValuesNode.java | 236 +
.../plan/relational/planner/node/WindowNode.java | 4 +
.../optimizations/LogicalOptimizeFactory.java | 16 +-
.../planner/optimizations/SymbolMapper.java | 33 +-
.../optimizations/UnaliasSymbolReferences.java | 24 +
.../crud/InsertMultiTabletsStatement.java | 6 +-
.../db/queryengine/plan/udf/UDTFForecast.java | 8 +-
.../apache/iotdb/db/schemaengine/SchemaEngine.java | 12 +-
.../schemaregion/utils/ResourceByPathUtils.java | 54 +-
.../java/org/apache/iotdb/db/service/DataNode.java | 16 +-
.../externalservice/BuiltinExternalServices.java | 9 +-
.../ExternalServiceManagementService.java | 56 +-
.../db/storageengine/dataregion/DataRegion.java | 69 +-
.../dataregion/modification/ModificationFile.java | 12 +-
.../dataregion/snapshot/SnapshotLoader.java | 1 +
.../db/storageengine/load/LoadTsFileManager.java | 6 +-
.../apache/iotdb/db/utils/ErrorHandlingUtils.java | 14 +-
.../org/apache/iotdb/db/utils/HeapTraversal.java | 64 +
.../org/apache/iotdb/db/utils/ObjectTypeUtils.java | 61 +-
....apache.iotdb.db.protocol.mqtt.PayloadFormatter | 21 -
.../pipe/event/PipeTsFileInsertionEventTest.java | 3 +
.../pipe/event/TsFileInsertionEventParserTest.java | 4 +-
.../db/pipe/pattern/TreePatternPruningTest.java | 2 +
.../db/pipe/source/IoTDBDataRegionSourceTest.java | 2 +
.../planner/WindowFunctionOptimizationTest.java | 300 +
.../planner/assertions/PlanMatchPattern.java | 38 +
...TopKMatcher.java => WindowFunctionMatcher.java} | 55 +-
.../settle/SettleCompactionTaskTest.java | 32 +
.../dataregion/snapshot/IoTDBSnapshotTest.java | 78 +
.../resources/conf/iotdb-system.properties | 2 +-
.../conf/iotdb-system.properties.template | 2 +-
.../iotdb/commons/auth/entity/TablePrivilege.java | 3 +
.../apache/iotdb/commons/conf/CommonConfig.java | 3 +-
.../commons/exception/ObjectFileNotExist.java | 6 +-
.../exception/pipe/PipeNonReportException.java | 27 -
...imeSinkNonReportTimeConfigurableException.java} | 40 +-
...RuntimeSinkRetryTimesConfigurableException.java | 27 +-
.../task/subtask/PipeAbstractSinkSubtask.java | 52 +
.../pipe/config/constant/SystemConstant.java | 2 +-
.../datastructure/pattern/IoTDBTreePattern.java | 5 +
.../datastructure/pattern/PrefixTreePattern.java | 5 +
.../pipe/datastructure/pattern/TreePattern.java | 18 +
.../pattern/UnionIoTDBTreePattern.java | 5 +
.../datastructure/pattern/UnionTreePattern.java | 5 +
.../pattern/WithExclusionIoTDBTreePattern.java | 5 +
.../pattern/WithExclusionTreePattern.java | 5 +
.../iotdb/commons/pipe/event/EnrichedEvent.java | 5 +
.../pipe/receiver/PipeReceiverStatusHandler.java | 36 +-
.../apache/iotdb/commons/service/ServiceType.java | 1 -
.../commons/utils/ErrorHandlingCommonUtils.java} | 14 +-
.../binaryallocator/BinaryAllocatorTest.java | 10 +-
.../src/main/thrift/datanode.thrift | 8 -
pom.xml | 1 +
184 files changed, 24161 insertions(+), 1128 deletions(-)
copy distribution/src/assembly/{common-files.xml => external-service-impl.xml} (71%)
copy example/mqtt-customize/src/main/resources/META-INF/services/{org.apache.iotdb.db.protocol.mqtt.PayloadFormatter => org.apache.iotdb.PayloadFormatter} (100%)
create mode 100644 external-service-impl/mqtt/pom.xml
rename {iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol => external-service-impl/mqtt/src/main/java/org/apache/iotdb}/mqtt/BrokerAuthenticator.java (97%)
rename {iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol => external-service-impl/mqtt/src/main/java/org/apache/iotdb}/mqtt/JSONPayloadFormatter.java (99%)
rename {iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol => external-service-impl/mqtt/src/main/java/org/apache/iotdb}/mqtt/LinePayloadFormatter.java (99%)
rename {iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol => external-service-impl/mqtt/src/main/java/org/apache/iotdb}/mqtt/MPPPublishHandler.java (99%)
rename {iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service => external-service-impl/mqtt/src/main/java/org/apache/iotdb/mqtt}/MQTTService.java (84%)
rename {iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol => external-service-impl/mqtt/src/main/java/org/apache/iotdb}/mqtt/Message.java (96%)
rename {iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol => external-service-impl/mqtt/src/main/java/org/apache/iotdb}/mqtt/PayloadFormatManager.java (96%)
rename {iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol => external-service-impl/mqtt/src/main/java/org/apache/iotdb}/mqtt/PayloadFormatter.java (97%)
rename {iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol => external-service-impl/mqtt/src/main/java/org/apache/iotdb}/mqtt/TableMessage.java (98%)
rename {iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol => external-service-impl/mqtt/src/main/java/org/apache/iotdb}/mqtt/TreeMessage.java (97%)
rename example/mqtt-customize/src/main/resources/META-INF/services/org.apache.iotdb.db.protocol.mqtt.PayloadFormatter => external-service-impl/mqtt/src/main/resources/META-INF/services/org.apache.iotdb.mqtt.PayloadFormatter (90%)
rename {iotdb-core/datanode/src/test/java/org/apache/iotdb/db/protocol => external-service-impl/mqtt/src/test/java/org/apache/iotdb}/mqtt/BrokerAuthenticatorTest.java (77%)
rename {iotdb-core/datanode/src/test/java/org/apache/iotdb/db/protocol => external-service-impl/mqtt/src/test/java/org/apache/iotdb}/mqtt/JSONPayloadFormatterTest.java (99%)
rename {iotdb-core/datanode/src/test/java/org/apache/iotdb/db/protocol => external-service-impl/mqtt/src/test/java/org/apache/iotdb}/mqtt/LinePayloadFormatterTest.java (98%)
rename {iotdb-core/datanode/src/test/java/org/apache/iotdb/db/protocol => external-service-impl/mqtt/src/test/java/org/apache/iotdb}/mqtt/PayloadFormatManagerTest.java (84%)
copy {example/jdbc => external-service-impl}/pom.xml (71%)
create mode 100644 integration-test/src/test/java/org/apache/iotdb/relational/it/db/it/IoTDBWindowFunction3IT.java
create mode 100644 iotdb-client/client-cpp/src/test/catch2/catch.hpp
copy iotdb-core/confignode/src/test/java/org/apache/iotdb/confignode/procedure/impl/schema/{DeleteTimeSeriesProcedureTest.java => AlterTimeSeriesDataTypeProcedureTest.java} (61%)
copy iotdb-core/datanode/src/main/java/org/apache/iotdb/db/exception/ainode/{ModelException.java => AINodeConnectionException.java} (69%)
copy iotdb-core/{metrics/core/src/main/java/org/apache/iotdb/metrics/core/type/IoTDBRateMBean.java => datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/GroupedTopNBuilder.java} (74%)
create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/GroupedTopNRowNumberAccumulator.java
create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/GroupedTopNRowNumberBuilder.java
create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/IdRegistry.java
copy iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/{plan/analyze/cache/schema/dualkeycache/impl/DualKeyCachePolicy.java => execution/operator/RowIdComparisonStrategy.java} (84%)
copy iotdb-core/datanode/src/main/java/org/apache/iotdb/db/{exception/runtime/MemoryLeakException.java => queryengine/execution/operator/RowIdHashStrategy.java} (78%)
copy iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/{plan/analyze/cache/schema/dualkeycache/IDualKeyCacheStats.java => execution/operator/RowReference.java} (50%)
create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/RowReferenceTsBlockManager.java
create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/SimpleTsBlockWithPositionComparator.java
copy iotdb-core/datanode/src/main/java/org/apache/iotdb/db/{exception/runtime/MemoryLeakException.java => queryengine/execution/operator/TsBlockWithPositionComparator.java} (76%)
copy iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/{ProjectOperator.java => ValuesOperator.java} (60%)
create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/RowNumberOperator.java
create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/TopKRankingOperator.java
create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/aggregation/grouped/array/IntArrayFIFOQueue.java
create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/aggregation/grouped/array/LongBigArrayFIFOQueue.java
create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/aggregation/grouped/hash/NoChannelGroupByHash.java
create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/GatherAndMergeWindows.java
create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PushDownFilterIntoWindow.java
create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PushDownLimitIntoWindow.java
copy iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/{PruneOutputSourceColumns.java => RemoveRedundantWindow.java} (66%)
create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/ReplaceWindowWithRowNumber.java
create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/RowNumberNode.java
create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/TopKRankingNode.java
create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/ValuesNode.java
create mode 100644 iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/HeapTraversal.java
delete mode 100644 iotdb-core/datanode/src/main/resources/META-INF/services/org.apache.iotdb.db.protocol.mqtt.PayloadFormatter
create mode 100644 iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/planner/WindowFunctionOptimizationTest.java
copy iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/planner/assertions/{TopKMatcher.java => WindowFunctionMatcher.java} (59%)
delete mode 100644 iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/exception/pipe/PipeNonReportException.java
copy iotdb-core/{datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/LongVariableConstraint.java => node-commons/src/main/java/org/apache/iotdb/commons/exception/pipe/PipeRuntimeSinkNonReportTimeConfigurableException.java} (54%)
copy iotdb-core/{datanode/src/main/java/org/apache/iotdb/db/exception/runtime/MemoryLeakException.java => node-commons/src/main/java/org/apache/iotdb/commons/utils/ErrorHandlingCommonUtils.java} (74%)
(iotdb) 01/01: Merge remote-tracking branch 'origin/master' into UserDefinedTime
Posted by ja...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
jackietien pushed a commit to branch UserDefinedTime
in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit dedf5b0945fc54d683eecc9f6fbcf373297fe072
Merge: 0aa1d9c3677 8e5fcba50ba
Author: JackieTien97 <ja...@gmail.com>
AuthorDate: Tue Jan 27 09:38:26 2026 +0800
Merge remote-tracking branch 'origin/master' into UserDefinedTime
.github/workflows/multi-language-client.yml | 15 +-
distribution/pom.xml | 8 +
distribution/src/assembly/all.xml | 4 +
distribution/src/assembly/datanode.xml | 6 +
.../src/assembly/external-service-impl.xml | 51 +
docker/src/main/Dockerfile-1c1d | 4 +-
example/client-cpp-example/src/CMakeLists.txt | 64 +-
example/mqtt-customize/pom.xml | 6 +-
.../server/CustomizedJsonPayloadFormatter.java | 6 +-
...Formatter => org.apache.iotdb.PayloadFormatter} | 0
external-service-impl/mqtt/pom.xml | 177 +
.../apache/iotdb}/mqtt/BrokerAuthenticator.java | 2 +-
.../apache/iotdb}/mqtt/JSONPayloadFormatter.java | 2 +-
.../apache/iotdb}/mqtt/LinePayloadFormatter.java | 2 +-
.../org/apache/iotdb}/mqtt/MPPPublishHandler.java | 2 +-
.../java/org/apache/iotdb/mqtt}/MQTTService.java | 28 +-
.../main/java/org/apache/iotdb}/mqtt/Message.java | 2 +-
.../apache/iotdb}/mqtt/PayloadFormatManager.java | 5 +-
.../org/apache/iotdb}/mqtt/PayloadFormatter.java | 2 +-
.../java/org/apache/iotdb}/mqtt/TableMessage.java | 2 +-
.../java/org/apache/iotdb}/mqtt/TreeMessage.java | 2 +-
.../org.apache.iotdb.mqtt.PayloadFormatter | 4 +-
.../iotdb}/mqtt/BrokerAuthenticatorTest.java | 18 +-
.../iotdb}/mqtt/JSONPayloadFormatterTest.java | 3 +-
.../iotdb}/mqtt/LinePayloadFormatterTest.java | 3 +-
.../iotdb}/mqtt/PayloadFormatManagerTest.java | 8 +-
.../pom.xml | 26 +-
integration-test/pom.xml | 12 +
integration-test/src/assembly/mpp-share.xml | 6 +
.../it/env/cluster/node/AbstractNodeWrapper.java | 2 +-
.../apache/iotdb/ainode/it/AINodeForecastIT.java | 21 +-
.../ainode/it/AINodeInstanceManagementIT.java | 8 +
.../db/it/last/IoTDBLastQueryLastCacheIT.java | 42 +
.../db/it/schema/IoTDBAlterTimeSeriesTypeIT.java | 52 +
.../auto/basic/IoTDBTreePatternFormatIT.java | 13 +
.../treemodel/manual/IoTDBPipeInclusionIT.java | 3 +
.../treemodel/manual/IoTDBPipePermissionIT.java | 56 +
.../iotdb/pipe/it/single/IoTDBPipeOPCUAIT.java | 8 +-
.../it/db/it/IoTDBWindowFunction3IT.java | 179 +
.../api/customizer/parameter/PipeParameters.java | 23 +-
.../customizer/parameter/PipeParametersTest.java | 6 +-
.../org/apache/iotdb/tool/data/ExportDataTree.java | 221 +-
iotdb-client/client-cpp/pom.xml | 34 +-
.../client-cpp/src/main/AbstractSessionBuilder.h | 39 +-
iotdb-client/client-cpp/src/main/CMakeLists.txt | 16 +-
iotdb-client/client-cpp/src/main/NodesSupplier.cpp | 73 +-
iotdb-client/client-cpp/src/main/NodesSupplier.h | 34 +-
iotdb-client/client-cpp/src/main/Session.cpp | 2 +-
iotdb-client/client-cpp/src/main/Session.h | 4 +
iotdb-client/client-cpp/src/main/SessionBuilder.h | 15 +
.../client-cpp/src/main/SessionConnection.cpp | 20 +-
.../client-cpp/src/main/SessionConnection.h | 5 +-
.../client-cpp/src/main/TableSessionBuilder.h | 15 +
.../client-cpp/src/main/ThriftConnection.cpp | 16 +-
.../client-cpp/src/main/ThriftConnection.h | 6 +-
iotdb-client/client-cpp/src/test/CMakeLists.txt | 42 +-
iotdb-client/client-cpp/src/test/catch2/catch.hpp | 17974 +++++++++++++++++++
iotdb-client/client-cpp/src/test/main.cpp | 15 +-
.../client-py/iotdb/tsfile/utils/tsblock_serde.py | 1 -
.../client-py/tests/integration/test_todf.py | 2 +-
iotdb-core/ainode/iotdb/ainode/core/constant.py | 2 +
.../iotdb/ainode/core/inference/pool_controller.py | 11 +
.../iotdb/ainode/core/manager/inference_manager.py | 8 +-
iotdb-core/ainode/iotdb/ainode/core/rpc/handler.py | 10 +
iotdb-core/ainode/iotdb/ainode/core/rpc/service.py | 12 +-
.../pipe/agent/task/PipeConfigNodeSubtask.java | 27 +-
.../schema/AlterTimeSeriesDataTypeProcedure.java | 7 +-
.../AlterTimeSeriesDataTypeProcedureTest.java | 66 +
iotdb-core/datanode/pom.xml | 12 -
.../org/apache/iotdb/db/auth/AuthorityChecker.java | 2 +
.../apache/iotdb/db/conf/DataNodeMemoryConfig.java | 17 +-
.../java/org/apache/iotdb/db/conf/IoTDBConfig.java | 2 +-
.../dataregion/DataExecutionVisitor.java | 9 +-
.../ainode/AINodeConnectionException.java} | 15 +-
.../db/pipe/agent/task/PipeDataNodeTaskAgent.java | 6 +-
.../subtask/processor/PipeProcessorSubtask.java | 8 +-
.../agent/task/subtask/sink/PipeSinkSubtask.java | 40 +-
.../common/deletion/PipeDeleteDataNodeEvent.java | 1 +
.../tablet/PipeInsertNodeTabletInsertionEvent.java | 15 +-
.../scan/TsFileInsertionEventScanParser.java | 157 +-
.../protocol/thrift/IoTDBDataNodeReceiver.java | 2 +-
.../protocol/opcua/client/IoTDBOpcUaClient.java | 4 +-
.../sink/protocol/writeback/WriteBackSink.java | 2 +-
...istoricalDataRegionTsFileAndDeletionSource.java | 3 +-
.../impl/DataNodeInternalRPCServiceImpl.java | 8 -
.../queryengine/execution/QueryStateMachine.java | 2 +-
.../execution/executor/RegionReadExecutor.java | 4 +-
.../fragment/FragmentInstanceContext.java | 2 +-
.../execution/operator/GroupedTopNBuilder.java} | 17 +-
.../operator/GroupedTopNRowNumberAccumulator.java | 483 +
.../operator/GroupedTopNRowNumberBuilder.java | 182 +
.../queryengine/execution/operator/IdRegistry.java | 76 +
.../operator/RowIdComparisonStrategy.java} | 11 +-
.../execution/operator/RowIdHashStrategy.java} | 12 +-
.../execution/operator/RowReference.java | 45 +
.../operator/RowReferenceTsBlockManager.java | 386 +
.../SimpleTsBlockWithPositionComparator.java | 52 +
.../operator/TsBlockWithPositionComparator.java} | 11 +-
.../execution/operator/process/ValuesOperator.java | 120 +
.../operator/process/ai/InferenceOperator.java | 7 +-
.../operator/process/function/partition/Slice.java | 6 +-
.../operator/process/last/LastQueryOperator.java | 6 +-
.../operator/process/window/RowNumberOperator.java | 214 +
.../process/window/TopKRankingOperator.java | 278 +
.../relational/aggregation/RecordIterator.java | 6 +-
.../grouped/array/IntArrayFIFOQueue.java | 201 +
.../grouped/array/LongBigArrayFIFOQueue.java | 197 +
.../grouped/hash/NoChannelGroupByHash.java | 72 +
.../execution/schedule/AbstractDriverThread.java | 4 +-
.../execution/schedule/task/DriverTask.java | 12 +-
.../queryengine/plan/execution/QueryExecution.java | 2 +-
.../config/executor/ClusterConfigTaskExecutor.java | 31 +-
.../db/queryengine/plan/parser/ASTVisitor.java | 27 +-
.../plan/planner/TableOperatorGenerator.java | 129 +
.../plan/planner/plan/node/PlanGraphPrinter.java | 42 +
.../plan/planner/plan/node/PlanNodeType.java | 12 +
.../plan/planner/plan/node/PlanVisitor.java | 16 +
.../plan/node/write/RelationalInsertRowsNode.java | 43 -
.../node/write/RelationalInsertTabletNode.java | 51 -
.../function/tvf/ClassifyTableFunction.java | 10 +-
.../function/tvf/ForecastTableFunction.java | 10 +-
.../distribute/TableDistributedPlanGenerator.java | 70 +
.../iterative/rule/GatherAndMergeWindows.java | 333 +
.../iterative/rule/PushDownFilterIntoWindow.java | 166 +
.../iterative/rule/PushDownLimitIntoWindow.java | 100 +
.../iterative/rule/RemoveRedundantWindow.java | 49 +
.../iterative/rule/ReplaceWindowWithRowNumber.java | 72 +
.../relational/planner/iterative/rule/Util.java | 45 +-
.../plan/relational/planner/node/Patterns.java | 20 +-
.../relational/planner/node/RowNumberNode.java | 215 +
.../relational/planner/node/TopKRankingNode.java | 208 +
.../plan/relational/planner/node/ValuesNode.java | 236 +
.../plan/relational/planner/node/WindowNode.java | 4 +
.../optimizations/LogicalOptimizeFactory.java | 16 +-
.../planner/optimizations/SymbolMapper.java | 33 +-
.../optimizations/UnaliasSymbolReferences.java | 24 +
.../crud/InsertMultiTabletsStatement.java | 6 +-
.../db/queryengine/plan/udf/UDTFForecast.java | 8 +-
.../apache/iotdb/db/schemaengine/SchemaEngine.java | 12 +-
.../schemaregion/utils/ResourceByPathUtils.java | 54 +-
.../java/org/apache/iotdb/db/service/DataNode.java | 16 +-
.../externalservice/BuiltinExternalServices.java | 9 +-
.../ExternalServiceManagementService.java | 56 +-
.../db/storageengine/dataregion/DataRegion.java | 69 +-
.../dataregion/modification/ModificationFile.java | 12 +-
.../dataregion/snapshot/SnapshotLoader.java | 1 +
.../db/storageengine/load/LoadTsFileManager.java | 6 +-
.../apache/iotdb/db/utils/ErrorHandlingUtils.java | 14 +-
.../org/apache/iotdb/db/utils/HeapTraversal.java | 64 +
.../org/apache/iotdb/db/utils/ObjectTypeUtils.java | 61 +-
.../pipe/event/PipeTsFileInsertionEventTest.java | 3 +
.../pipe/event/TsFileInsertionEventParserTest.java | 4 +-
.../db/pipe/pattern/TreePatternPruningTest.java | 2 +
.../db/pipe/source/IoTDBDataRegionSourceTest.java | 2 +
.../planner/WindowFunctionOptimizationTest.java | 300 +
.../planner/assertions/PlanMatchPattern.java | 38 +
.../planner/assertions/WindowFunctionMatcher.java | 82 +
.../settle/SettleCompactionTaskTest.java | 32 +
.../dataregion/snapshot/IoTDBSnapshotTest.java | 78 +
.../resources/conf/iotdb-system.properties | 2 +-
.../conf/iotdb-system.properties.template | 2 +-
.../iotdb/commons/auth/entity/TablePrivilege.java | 3 +
.../apache/iotdb/commons/conf/CommonConfig.java | 3 +-
.../commons/exception/ObjectFileNotExist.java | 6 +-
...imeSinkNonReportTimeConfigurableException.java} | 40 +-
...RuntimeSinkRetryTimesConfigurableException.java | 27 +-
.../task/subtask/PipeAbstractSinkSubtask.java | 52 +
.../pipe/config/constant/SystemConstant.java | 2 +-
.../datastructure/pattern/IoTDBTreePattern.java | 5 +
.../datastructure/pattern/PrefixTreePattern.java | 5 +
.../pipe/datastructure/pattern/TreePattern.java | 18 +
.../pattern/UnionIoTDBTreePattern.java | 5 +
.../datastructure/pattern/UnionTreePattern.java | 5 +
.../pattern/WithExclusionIoTDBTreePattern.java | 5 +
.../pattern/WithExclusionTreePattern.java | 5 +
.../iotdb/commons/pipe/event/EnrichedEvent.java | 5 +
.../pipe/receiver/PipeReceiverStatusHandler.java | 36 +-
.../apache/iotdb/commons/service/ServiceType.java | 1 -
.../ErrorHandlingCommonUtils.java} | 16 +-
.../binaryallocator/BinaryAllocatorTest.java | 10 +-
.../src/main/thrift/datanode.thrift | 8 -
pom.xml | 1 +
182 files changed, 24474 insertions(+), 950 deletions(-)