This is an automated email from the ASF dual-hosted git repository.
rong pushed a change to branch pipe-meta-sync
in repository https://gitbox.apache.org/repos/asf/iotdb.git
from 21ec650499c Pipe Meta: Support deletion and air gap sink sync in meta
sync (#12027)
add 1a10621dabf feat(jdbc):getDouble add type check
add 142f3c81268 Remove infinite retry logic for replica inconsistency to
avoid potential problems (#12028)
add e4ed1964fd6 Pipe: Support "sink.host" and "connector.host" key in
receiver IP specification (#12017)
add 6e5605ba11a Fixed Ratis query not retrying when DataNode restarts
(#12029)
add fd4337eb0af Pipe: support replace and modify mode for alter pipe sql
(#12018)
add 479122a082f Storage Engine: put DeviceCache into the total memory of
the storage engine (#12016)
add c26c545b16b Bump jackson.version from 2.15.2 to 2.15.3 (#12014)
add d4fd2de8c90 IT framework supports restarting cluster (#12022)
add ee136f10449 Fix typo for parameter dn_multi_dir_strategy (#12033)
add 9534fecc1a9 Upgrade github action version to fix the warning (#12032)
add f8562c7c983 Introduce UDAF(User-Defined Aggregation Functions)
add 1e37accd4e8 Pipe: Move parsing event logic into PipeProcessorSubtask
to separate CPU intensive and IO intensive tasks (#11965)
add 01e487e33f7 DataNodeDevicePathCache should use free memory of memtable
(#12034)
add b78a88002f1 Pipe: Revert "Pipe: stop pipe using restarting strategy to
unpin the wal's reference count to avoid WAL stacking (#11971)" to avoid
unnecessary pipe drop during subtask exception handling (#12031)
add eca401560a9 merge master
No new revisions were added by this update.
Summary of changes:
.github/workflows/client-cpp.yml | 10 +-
.github/workflows/client-go.yml | 6 +-
.github/workflows/client-python.yml | 4 +-
.github/workflows/cluster-it-1c1d.yml | 8 +-
.github/workflows/cluster-it-1c3d.yml | 6 +-
.github/workflows/grafana-plugin.yml | 10 +-
.github/workflows/pipe-it-2cluster.yml | 6 +-
.github/workflows/sonar-codecov.yml | 12 +-
.github/workflows/unit-test.yml | 6 +-
.../java/org/apache/iotdb/udf/UDAFExample.java | 198 ++++++++
.../apache/iotdb/db/query/udf/example/UDAFAvg.java | 190 ++++++++
.../iotdb/db/query/udf/example/UDAFCount.java | 112 +++++
.../apache/iotdb/db/query/udf/example/UDAFSum.java | 189 ++++++++
.../it/env/cluster/config/MppCommonConfig.java | 6 +
.../env/cluster/config/MppSharedCommonConfig.java | 7 +
.../iotdb/it/env/cluster/env/AbstractEnv.java | 199 +++++---
.../it/env/remote/config/RemoteCommonConfig.java | 5 +
.../iotdb/it/env/remote/env/RemoteServerEnv.java | 20 +
.../apache/iotdb/itbase/constant/TestConstant.java | 12 +
.../java/org/apache/iotdb/itbase/env/BaseEnv.java | 24 +-
.../org/apache/iotdb/itbase/env/CommonConfig.java | 2 +
.../it/cluster/IoTDBClusterRestartIT.java | 43 +-
.../org/apache/iotdb/db/it/IoTDBRecoverIT.java | 307 ++++--------
.../apache/iotdb/db/it/IoTDBRecoverUnclosedIT.java | 167 +++----
.../db/it/udaf/IoTDBUDAFGroupByConditionIT.java | 325 +++++++++++++
.../iotdb/db/it/udaf/IoTDBUDAFGroupByCountIT.java | 292 +++++++++++
.../iotdb/db/it/udaf/IoTDBUDAFGroupByLevelIT.java | 495 +++++++++++++++++++
.../db/it/udaf/IoTDBUDAFGroupBySessionIT.java | 302 ++++++++++++
.../iotdb/db/it/udaf/IoTDBUDAFGroupByTimeIT.java | 340 +++++++++++++
.../IoTDBUDAFGroupByVariationIT.java} | 533 +++++++++------------
.../IoTDBUDAFHavingIT.java} | 200 ++++----
.../IoTDBUDAFManagementIT.java} | 233 ++++-----
.../IoTDBUDAFMiscIT.java} | 102 ++--
.../iotdb/db/it/udaf/IoTDBUDAFNormalQueryIT.java | 440 +++++++++++++++++
.../iotdb/db/it/udaf/IoTDBUDAFOrderByIT.java | 468 ++++++++++++++++++
.../org/apache/iotdb/db/it/utils/TestUtils.java | 9 +
.../iotdb/pipe/it/autocreate/IoTDBPipeAlterIT.java | 243 +++++++++-
.../pipe/it/autocreate/IoTDBPipeClusterIT.java | 28 +-
.../pipe/it/autocreate/IoTDBPipeLifeCycleIT.java | 148 +++++-
.../java/org/apache/iotdb/tsfile/utils/BitMap.java | 0
.../java/org/apache/iotdb/pipe/api/PipeSink.java | 49 +-
.../java/org/apache/iotdb/pipe/api/PipeSource.java | 42 +-
.../api/customizer/parameter/PipeParameters.java | 39 +-
.../main/java/org/apache/iotdb/udf/api/State.java} | 28 +-
.../main/java/org/apache/iotdb/udf/api/UDAF.java | 71 +++
...Configurations.java => UDAFConfigurations.java} | 15 +-
.../apache/iotdb/udf/api/utils/ResultValue.java | 76 +++
iotdb-client/jdbc/pom.xml | 4 +
.../apache/iotdb/jdbc/IoTDBDatabaseMetadata.java | 36 +-
.../org/apache/iotdb/jdbc/IoTDBJDBCResultSet.java | 9 +
.../org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4 | 12 +-
.../confignode/persistence/pipe/PipeTaskInfo.java | 76 +--
.../impl/pipe/task/AlterPipeProcedureV2.java | 16 +-
.../impl/pipe/task/AlterPipeProcedureV2Test.java | 5 +-
.../exception/RatisReadUnavailableException.java | 2 +-
.../resources/conf/iotdb-datanode.properties | 4 +-
.../src/main/codegen/templates/ModeAccumulator.ftl | 5 +-
.../java/org/apache/iotdb/db/conf/IoTDBConfig.java | 21 +-
.../org/apache/iotdb/db/conf/IoTDBDescriptor.java | 118 ++---
.../dataregion/DataRegionStateMachine.java | 10 +-
.../client/IoTDBThriftAsyncClientManager.java | 2 +-
.../protocol/airgap/IoTDBAirGapConnector.java | 33 +-
.../thrift/async/IoTDBThriftAsyncConnector.java | 37 --
.../thrift/sync/IoTDBThriftSyncConnector.java | 31 +-
.../protocol/writeback/WriteBackConnector.java | 19 -
.../tablet/PipeInsertNodeTabletInsertionEvent.java | 2 +-
.../common/tablet/PipeRawTabletInsertionEvent.java | 4 +-
.../db/pipe/resource/memory/PipeMemoryManager.java | 77 ++-
.../resource/memory/PipeTabletMemoryBlock.java | 64 +++
.../pipe/task/connection/PipeEventCollector.java | 93 ++++
.../subtask/processor/PipeProcessorSubtask.java | 5 +-
.../protocol/thrift/impl/ClientRPCServiceImpl.java | 10 +-
.../impl/DataNodeInternalRPCServiceImpl.java | 2 +-
.../execution/aggregation/Accumulator.java | 5 +-
.../execution/aggregation/AccumulatorFactory.java | 81 ++--
.../execution/aggregation/Aggregator.java | 4 +-
.../execution/aggregation/AvgAccumulator.java | 30 +-
.../execution/aggregation/CountAccumulator.java | 14 +-
.../execution/aggregation/CountIfAccumulator.java | 9 +-
.../aggregation/CountTimeAccumulator.java | 8 +-
.../execution/aggregation/ExtremeAccumulator.java | 30 +-
.../aggregation/FirstValueAccumulator.java | 44 +-
.../aggregation/FirstValueDescAccumulator.java | 30 +-
.../aggregation/LastValueAccumulator.java | 44 +-
.../aggregation/LastValueDescAccumulator.java | 30 +-
.../execution/aggregation/MaxByAccumulator.java | 30 +-
.../execution/aggregation/MaxTimeAccumulator.java | 9 +-
.../aggregation/MaxTimeDescAccumulator.java | 9 +-
.../execution/aggregation/MaxValueAccumulator.java | 30 +-
.../execution/aggregation/MinTimeAccumulator.java | 9 +-
.../aggregation/MinTimeDescAccumulator.java | 9 +-
.../execution/aggregation/MinValueAccumulator.java | 30 +-
.../execution/aggregation/SumAccumulator.java | 30 +-
.../aggregation/TimeDurationAccumulator.java | 11 +-
.../execution/aggregation/UDAFAccumulator.java | 212 ++++++++
.../execution/aggregation/VarianceAccumulator.java | 30 +-
.../SlidingWindowAggregatorFactory.java | 10 +-
.../execution/executor/RegionExecutionResult.java | 9 +
.../execution/executor/RegionReadExecutor.java | 23 +-
.../execution/operator/AggregationUtil.java | 8 +-
.../process/RawDataAggregationOperator.java | 4 +-
.../plan/analyze/ExpressionAnalyzer.java | 6 +-
.../plan/analyze/ExpressionTypeAnalyzer.java | 22 +-
.../cache/schema/DataNodeDevicePathCache.java | 20 +-
.../config/executor/ClusterConfigTaskExecutor.java | 32 +-
.../config/metadata/ShowFunctionsTask.java | 29 +-
.../db/queryengine/plan/expression/Expression.java | 8 +
.../plan/expression/multi/FunctionExpression.java | 23 +-
.../plan/expression/multi/FunctionType.java | 5 +-
.../CollectAggregationExpressionsVisitor.java | 2 +-
.../visitor/ColumnTransformerVisitor.java | 4 +-
.../visitor/IntermediateLayerVisitor.java | 4 +-
.../visitor/ReplaceLogicalViewVisitor.java | 2 +-
.../cartesian/BindSchemaForExpressionVisitor.java | 4 +-
.../cartesian/BindSchemaForPredicateVisitor.java | 4 +-
...catDeviceAndBindSchemaForExpressionVisitor.java | 4 +-
...ncatDeviceAndBindSchemaForPredicateVisitor.java | 2 +-
.../db/queryengine/plan/parser/ASTVisitor.java | 17 +-
.../plan/planner/LogicalPlanBuilder.java | 50 +-
.../plan/planner/LogicalPlanVisitor.java | 5 +
.../plan/planner/OperatorTreeGenerator.java | 25 +-
.../planner/plan/node/write/DeleteDataNode.java | 5 +-
.../planner/plan/node/write/InsertRowNode.java | 5 +-
.../planner/plan/node/write/InsertTabletNode.java | 4 +-
.../plan/parameter/AggregationDescriptor.java | 15 +-
.../scheduler/FragmentInstanceDispatcherImpl.java | 4 +-
.../plan/statement/crud/QueryStatement.java | 6 +-
.../metadata/pipe/AlterPipeStatement.java | 18 +
...nInferrer.java => UDAFInformationInferrer.java} | 44 +-
.../db/storageengine/dataregion/DataRegion.java | 2 +-
.../dataregion/modification/Deletion.java | 6 +-
.../tsfile/timeindex/DeviceTimeIndex.java | 14 +-
.../org/apache/iotdb/db/utils/SchemaUtils.java | 76 ++-
.../apache/iotdb/db/utils/TypeInferenceUtils.java | 14 +-
.../execution/aggregation/AccumulatorTest.java | 72 +--
.../operator/AggregationOperatorTest.java | 12 +-
.../AlignedSeriesAggregationScanOperatorTest.java | 40 +-
.../operator/HorizontallyConcatOperatorTest.java | 2 +-
.../execution/operator/OperatorMemoryTest.java | 8 +-
.../operator/RawDataAggregationOperatorTest.java | 15 +-
.../SeriesAggregationScanOperatorTest.java | 43 +-
.../SlidingWindowAggregationOperatorTest.java | 9 +-
.../db/storageengine/DevicePathCacheTests.java | 67 +++
.../apache/iotdb/db/utils/EnvironmentUtils.java | 21 +-
.../resources/conf/iotdb-common.properties | 9 +-
.../apache/iotdb/commons/conf/CommonConfig.java | 11 +
.../iotdb/commons/conf/CommonDescriptor.java | 6 +
.../commons/pipe/agent/task/PipeTaskAgent.java | 31 +-
.../iotdb/commons/pipe/config/PipeConfig.java | 7 +
.../config/constant/PipeConnectorConstant.java | 2 +
.../builtin/connector/iotdb/IoTDBConnector.java | 34 +-
.../commons/udf/service/UDFManagementService.java | 49 +-
.../thrift-commons/src/main/thrift/common.thrift | 1 +
.../src/main/thrift/confignode.thrift | 6 +-
.../src/main/thrift/datanode.thrift | 1 +
pom.xml | 2 +-
156 files changed, 6449 insertions(+), 1996 deletions(-)
create mode 100644
example/udf/src/main/java/org/apache/iotdb/udf/UDAFExample.java
create mode 100644
integration-test/src/main/java/org/apache/iotdb/db/query/udf/example/UDAFAvg.java
create mode 100644
integration-test/src/main/java/org/apache/iotdb/db/query/udf/example/UDAFCount.java
create mode 100644
integration-test/src/main/java/org/apache/iotdb/db/query/udf/example/UDAFSum.java
create mode 100644
integration-test/src/test/java/org/apache/iotdb/db/it/udaf/IoTDBUDAFGroupByConditionIT.java
create mode 100644
integration-test/src/test/java/org/apache/iotdb/db/it/udaf/IoTDBUDAFGroupByCountIT.java
create mode 100644
integration-test/src/test/java/org/apache/iotdb/db/it/udaf/IoTDBUDAFGroupByLevelIT.java
create mode 100644
integration-test/src/test/java/org/apache/iotdb/db/it/udaf/IoTDBUDAFGroupBySessionIT.java
create mode 100644
integration-test/src/test/java/org/apache/iotdb/db/it/udaf/IoTDBUDAFGroupByTimeIT.java
copy
integration-test/src/test/java/org/apache/iotdb/db/it/{groupby/IoTDBGroupByVariationIT.java
=> udaf/IoTDBUDAFGroupByVariationIT.java} (53%)
copy
integration-test/src/test/java/org/apache/iotdb/db/it/{groupby/IoTDBHavingIT.java
=> udaf/IoTDBUDAFHavingIT.java} (63%)
copy
integration-test/src/test/java/org/apache/iotdb/db/it/{udf/IoTDBUDFManagementIT.java
=> udaf/IoTDBUDAFManagementIT.java} (50%)
copy
integration-test/src/test/java/org/apache/iotdb/db/it/{query/IoTDBQueryWithComplexValueFilterIT.java
=> udaf/IoTDBUDAFMiscIT.java} (51%)
create mode 100644
integration-test/src/test/java/org/apache/iotdb/db/it/udaf/IoTDBUDAFNormalQueryIT.java
create mode 100644
integration-test/src/test/java/org/apache/iotdb/db/it/udaf/IoTDBUDAFOrderByIT.java
rename {iotdb-core/tsfile =>
iotdb-api/common-api}/src/main/java/org/apache/iotdb/tsfile/utils/BitMap.java
(100%)
copy
iotdb-api/{external-api/src/main/java/org/apache/iotdb/external/api/IPropertiesLoader.java
=> udf-api/src/main/java/org/apache/iotdb/udf/api/State.java} (60%)
create mode 100644
iotdb-api/udf-api/src/main/java/org/apache/iotdb/udf/api/UDAF.java
copy
iotdb-api/udf-api/src/main/java/org/apache/iotdb/udf/api/customizer/config/{UDFConfigurations.java
=> UDAFConfigurations.java} (76%)
create mode 100644
iotdb-api/udf-api/src/main/java/org/apache/iotdb/udf/api/utils/ResultValue.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/resource/memory/PipeTabletMemoryBlock.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/aggregation/UDAFAccumulator.java
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/udf/{UDTFInformationInferrer.java
=> UDAFInformationInferrer.java} (64%)
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/DevicePathCacheTests.java