You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by xi...@apache.org on 2022/05/22 06:40:24 UTC

[iotdb] 01/01: Merge branch 'master' into xingtanzjr/agg_distribution_plan

This is an automated email from the ASF dual-hosted git repository.

xingtanzjr pushed a commit to branch xingtanzjr/agg_distribution_plan
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit df427ed8b62bfd007120667b9d680898cf1ffdb1
Merge: 72478856fd 9a1bc7ccaf
Author: Jinrui.Zhang <xi...@gmail.com>
AuthorDate: Sun May 22 14:40:12 2022 +0800

    Merge branch 'master' into xingtanzjr/agg_distribution_plan

 LICENSE                                            |   18 +-
 .../org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4   |    2 +-
 .../log/manage/PartitionedSnapshotLogManager.java  |    4 +-
 .../server/handlers/caller/ElectionHandler.java    |    4 +-
 .../cluster/utils/nodetool/ClusterMonitor.java     |    4 +-
 .../query/ClusterPhysicalGeneratorTest.java        |    4 +-
 .../query/last/ClusterLastQueryExecutorTest.java   |    2 +-
 confignode/pom.xml                                 |    5 -
 .../confignode/conf/ConfigNodeDescriptor.java      |    1 -
 .../consensus/request/ConfigRequest.java           |    4 +
 .../consensus/request/ConfigRequestType.java       |    4 +-
 .../request/read/GetChildNodesPartitionReq.java    |   67 +
 .../request/read/GetChildPathsPartitionReq.java    |   67 +
 .../response/SchemaNodeManagementResp.java         |   73 +
 .../iotdb/confignode/manager/ConfigManager.java    |   38 +-
 .../apache/iotdb/confignode/manager/Manager.java   |   15 +
 .../iotdb/confignode/manager/PartitionManager.java |   31 +
 .../confignode/persistence/ClusterSchemaInfo.java  |   56 +-
 .../iotdb/confignode/persistence/NodeInfo.java     |   43 +-
 .../confignode/persistence/PartitionInfo.java      |   50 +-
 .../confignode/persistence/ProcedureInfo.java      |    9 +-
 .../executor/ConfigRequestExecutor.java            |   43 +
 .../iotdb/confignode/procedure/Procedure.java      |   43 +-
 .../confignode/procedure/ProcedureExecutor.java    |   68 +-
 .../procedure/StateMachineProcedure.java           |    4 +-
 .../procedure/conf/ProcedureNodeConfig.java        |  155 --
 .../conf/ProcedureNodeConfigDescriptor.java        |  219 ---
 .../procedure/conf/ProcedureNodeConstant.java      |   32 -
 .../procedure/store/ConfigProcedureStore.java      |    6 +-
 .../procedure/store/IProcedureStore.java           |    4 +-
 .../procedure/store/ProcedureFactory.java          |    5 +-
 .../confignode/procedure/store/ProcedureStore.java |   14 +-
 .../thrift/ConfigNodeRPCServiceProcessor.java      |   24 +
 .../confignode/persistence/AuthorInfoTest.java     |    6 -
 .../confignode/procedure/NoopProcedureStore.java   |    4 +-
 .../confignode/procedure/TestProcedureBase.java    |    7 +-
 .../procedure/TestProcedureExecutor.java           |    2 -
 .../procedure/store/TestProcedureStore.java        |    9 +-
 .../thrift/ConfigNodeRPCServiceProcessorTest.java  |   95 +-
 .../GrafanaPlugin/Dockerfile-0.14.0-iotdb          |   42 +
 .../DockerCompose/GrafanaPlugin/docker-compose.yml |   48 +
 .../GrafanaPlugin/iotdb/conf/iotdb-rest.properties |   58 +
 docs/UserGuide/Maintenance-Tools/Metric-Tool.md    |  205 ++-
 docs/zh/UserGuide/Maintenance-Tools/Metric-Tool.md |  206 ++-
 .../apache/iotdb/tsfile/TsFileSequenceRead.java    |    2 +-
 .../java/org/apache/iotdb/udf/UDTFExample.java     |   14 +-
 .../controller/DatabaseConnectController.java      |    3 +
 .../iotdb/db/query/udf/example/Accumulator.java    |   22 +-
 .../apache/iotdb/db/query/udf/example/Adder.java   |   14 +-
 .../apache/iotdb/db/query/udf/example/Counter.java |   18 +-
 .../org/apache/iotdb/db/query/udf/example/Max.java |   14 +-
 .../iotdb/db/query/udf/example/Multiplier.java     |   14 +-
 .../SlidingSizeWindowConstructorTester0.java       |   12 +-
 .../SlidingSizeWindowConstructorTester1.java       |   14 +-
 .../SlidingTimeWindowConstructionTester.java       |   16 +-
 .../db/query/udf/example/TerminateTester.java      |   12 +-
 .../iotdb/db/query/udf/example/ValidateTester.java |   10 +-
 .../iotdb/db/query/udf/example/WindowStartEnd.java |   14 +-
 .../iotdb/db/integration/IoTDBSnapshotIT.java      |  259 ++++
 .../IoTDBSyntaxConventionStringLiteralIT.java      |    2 +-
 .../iotdb/db/integration/IoTDBTagAlterIT.java      |    4 +-
 .../iotdb/db/integration/IoTDBUDFManagementIT.java |    2 +-
 library-udf/pom.xml                                |   24 +-
 .../UDTFMinMax.java => anomaly/UDTFIQR.java}       |   83 +-
 .../apache/iotdb/library/anomaly/UDTFKSigma.java   |  153 ++
 .../org/apache/iotdb/library/anomaly/UDTFLOF.java  |  215 +++
 .../iotdb/library/anomaly/UDTFMissDetect.java      |   74 +
 .../apache/iotdb/library/anomaly/UDTFRange.java    |   97 ++
 .../UDTFTwoSidedFilter.java}                       |   68 +-
 .../iotdb/library/anomaly/util/MissDetector.java   |  240 +++
 .../library/anomaly/util/StreamMissDetector.java   |  189 +++
 .../iotdb/library/anomaly/util/WindowDetect.java   |   96 ++
 .../org/apache/iotdb/library/dmatch/UDAFCov.java   |   14 +-
 .../org/apache/iotdb/library/dmatch/UDAFDtw.java   |   16 +-
 .../apache/iotdb/library/dmatch/UDAFPearson.java   |   14 +-
 .../apache/iotdb/library/dmatch/UDTFPtnSym.java    |   16 +-
 .../org/apache/iotdb/library/dmatch/UDTFXCorr.java |   14 +-
 .../iotdb/library/dprofile/UDAFIntegral.java       |   14 +-
 .../iotdb/library/dprofile/UDAFIntegralAvg.java    |   14 +-
 .../org/apache/iotdb/library/dprofile/UDAFMad.java |   14 +-
 .../apache/iotdb/library/dprofile/UDAFMedian.java  |   14 +-
 .../apache/iotdb/library/dprofile/UDAFMode.java    |   14 +-
 .../iotdb/library/dprofile/UDAFPercentile.java     |   14 +-
 .../apache/iotdb/library/dprofile/UDAFPeriod.java  |   18 +-
 .../apache/iotdb/library/dprofile/UDAFSkew.java    |   14 +-
 .../apache/iotdb/library/dprofile/UDAFSpread.java  |   14 +-
 .../apache/iotdb/library/dprofile/UDAFStddev.java  |   14 +-
 .../org/apache/iotdb/library/dprofile/UDTFACF.java |   14 +-
 .../iotdb/library/dprofile/UDTFDistinct.java       |   14 +-
 .../iotdb/library/dprofile/UDTFHistogram.java      |   14 +-
 .../apache/iotdb/library/dprofile/UDTFMinMax.java  |   14 +-
 .../apache/iotdb/library/dprofile/UDTFMvAvg.java   |   14 +-
 .../apache/iotdb/library/dprofile/UDTFPACF.java    |   14 +-
 .../org/apache/iotdb/library/dprofile/UDTFQLB.java |   14 +-
 .../iotdb/library/dprofile/UDTFResample.java       |   14 +-
 .../apache/iotdb/library/dprofile/UDTFSample.java  |   20 +-
 .../apache/iotdb/library/dprofile/UDTFSegment.java |   14 +-
 .../apache/iotdb/library/dprofile/UDTFSpline.java  |   14 +-
 .../apache/iotdb/library/dprofile/UDTFZScore.java  |   14 +-
 .../dprofile/util/ExactOrderStatistics.java        |    4 +-
 .../iotdb/library/dquality/UDTFCompleteness.java   |   14 +-
 .../iotdb/library/dquality/UDTFConsistency.java    |   14 +-
 .../iotdb/library/dquality/UDTFTimeliness.java     |   14 +-
 .../iotdb/library/dquality/UDTFValidity.java       |   14 +-
 .../library/dquality/util/TimeSeriesQuality.java   |    4 +-
 .../iotdb/library/drepair/UDTFTimestampRepair.java |   14 +-
 .../iotdb/library/drepair/UDTFValueFill.java       |   14 +-
 .../iotdb/library/drepair/UDTFValueRepair.java     |   14 +-
 .../apache/iotdb/library/drepair/util/ARFill.java  |    4 +-
 .../iotdb/library/drepair/util/LikelihoodFill.java |    2 +-
 .../iotdb/library/drepair/util/LinearFill.java     |    2 +-
 .../iotdb/library/drepair/util/LsGreedy.java       |    2 +-
 .../apache/iotdb/library/drepair/util/MAFill.java  |    2 +-
 .../iotdb/library/drepair/util/MeanFill.java       |    2 +-
 .../iotdb/library/drepair/util/PreviousFill.java   |    2 +-
 .../apache/iotdb/library/drepair/util/Screen.java  |    2 +-
 .../iotdb/library/drepair/util/ScreenFill.java     |    4 +-
 .../library/drepair/util/TimestampRepair.java      |    4 +-
 .../iotdb/library/drepair/util/ValueFill.java      |    6 +-
 .../iotdb/library/drepair/util/ValueRepair.java    |    4 +-
 .../apache/iotdb/library/frequency/UDTFConv.java   |   14 +-
 .../apache/iotdb/library/frequency/UDTFDWT.java    |   14 +-
 .../apache/iotdb/library/frequency/UDTFDeconv.java |   14 +-
 .../apache/iotdb/library/frequency/UDTFFFT.java    |   14 +-
 .../iotdb/library/frequency/UDTFHighPass.java      |   14 +-
 .../apache/iotdb/library/frequency/UDTFIDWT.java   |   14 +-
 .../apache/iotdb/library/frequency/UDTFIFFT.java   |   14 +-
 .../iotdb/library/frequency/UDTFLowPass.java       |   14 +-
 .../iotdb/library/frequency/util/FFTUtil.java      |    2 +-
 .../library/series/UDTFConsecutiveSequences.java   |   14 +-
 .../library/series/UDTFConsecutiveWindows.java     |   14 +-
 .../iotdb/library/series/util/ConsecutiveUtil.java |    4 +-
 .../iotdb/library/string/UDTFRegexMatch.java       |   14 +-
 .../iotdb/library/string/UDTFRegexReplace.java     |   14 +-
 .../iotdb/library/string/UDTFRegexSplit.java       |   14 +-
 .../iotdb/library/string/UDTFStrReplace.java       |   14 +-
 .../iotdb/library/util/LinearRegression.java       |    2 +-
 .../java/org/apache/iotdb/library/util/Util.java   |    7 +-
 .../apache/iotdb/library/anomaly/AnomalyTests.java | 1534 ++++++++++++++++++++
 .../dropwizard/DropwizardMetricManager.java        |   32 -
 .../main/assembly/resources/conf/iotdb-metric.yml  |    5 +-
 .../iotdb/metrics/DoNothingMetricService.java      |   14 +-
 .../org/apache/iotdb/metrics/MetricManager.java    |    8 -
 .../org/apache/iotdb/metrics/MetricService.java    |   21 +-
 .../apache/iotdb/metrics/config/MetricConfig.java  |    3 +-
 .../iotdb/metrics/impl/DoNothingMetricManager.java |    4 -
 .../IMetricSet.java}                               |   17 +-
 .../predefined/jvm/JvmClassLoaderMetrics.java      |   52 +
 .../metrics/predefined/jvm/JvmCompileMetrics.java  |   50 +
 .../iotdb/metrics/predefined/jvm/JvmGcMetrics.java |  292 ++++
 .../metrics/predefined/jvm/JvmMemoryMetrics.java   |  105 ++
 .../iotdb/metrics/predefined/jvm/JvmMetrics.java   |   49 +
 .../metrics/predefined/jvm/JvmThreadMetrics.java   |   87 ++
 .../metrics/predefined/logback/LogbackMetrics.java |  180 +++
 .../utils/{PredefinedMetric.java => JvmUtils.java} |   28 +-
 .../iotdb/metrics/utils/PredefinedMetric.java      |    5 +-
 .../micrometer/MicrometerMetricManager.java        |   51 -
 .../apache/iotdb/commons/conf/CommonConfig.java    |   25 +-
 .../iotdb/commons/conf/CommonDescriptor.java       |    1 -
 .../apache/iotdb/commons/conf/IoTDBConstant.java   |    3 +
 .../iotdb/commons/partition/DataPartition.java     |   28 +-
 .../partition/SchemaNodeManagementPartition.java   |   58 +
 .../iotdb/commons/partition/SchemaPartition.java   |   45 +-
 .../org/apache/iotdb/commons}/udf/api/UDF.java     |    8 +-
 .../org/apache/iotdb/commons}/udf/api/UDTF.java    |   20 +-
 .../apache/iotdb/commons}/udf/api/access/Row.java  |    2 +-
 .../iotdb/commons}/udf/api/access/RowIterator.java |    2 +-
 .../iotdb/commons}/udf/api/access/RowWindow.java   |    6 +-
 .../commons}/udf/api/collector/PointCollector.java |   21 +-
 .../api/customizer/config/UDFConfigurations.java   |    7 +-
 .../api/customizer/config/UDTFConfigurations.java  |   25 +-
 .../parameter/UDFParameterValidator.java           |   14 +-
 .../api/customizer/parameter/UDFParameters.java    |   57 +-
 .../api/customizer/strategy/AccessStrategy.java    |   13 +-
 .../strategy/RowByRowAccessStrategy.java           |   12 +-
 .../strategy/SlidingSizeWindowAccessStrategy.java  |   19 +-
 .../strategy/SlidingTimeWindowAccessStrategy.java  |  101 +-
 .../UDFAttributeNotProvidedException.java          |    2 +-
 .../commons}/udf/api/exception/UDFException.java   |    2 +-
 .../UDFInputSeriesDataTypeNotValidException.java   |    2 +-
 .../UDFInputSeriesIndexNotValidException.java      |    2 +-
 .../UDFInputSeriesNumberNotValidException.java     |    2 +-
 .../UDFOutputSeriesDataTypeNotValidException.java  |    2 +-
 .../exception/UDFParameterNotValidException.java   |    2 +-
 .../commons}/udf/builtin/BuiltinFunction.java      |    2 +-
 .../apache/iotdb/commons}/udf/builtin/UDTFAbs.java |   14 +-
 .../iotdb/commons}/udf/builtin/UDTFAcos.java       |    2 +-
 .../iotdb/commons}/udf/builtin/UDTFAsin.java       |    2 +-
 .../iotdb/commons}/udf/builtin/UDTFAtan.java       |    2 +-
 .../iotdb/commons}/udf/builtin/UDTFBottomK.java    |   27 +-
 .../iotdb/commons}/udf/builtin/UDTFCast.java       |   42 +-
 .../iotdb/commons}/udf/builtin/UDTFCeil.java       |    2 +-
 .../commons}/udf/builtin/UDTFCommonDerivative.java |    8 +-
 .../udf/builtin/UDTFCommonValueDifference.java     |    8 +-
 .../iotdb/commons}/udf/builtin/UDTFConst.java      |   18 +-
 .../iotdb/commons}/udf/builtin/UDTFConstE.java     |   14 +-
 .../iotdb/commons}/udf/builtin/UDTFConstPi.java    |   14 +-
 .../iotdb/commons}/udf/builtin/UDTFContains.java   |   18 +-
 .../udf/builtin/UDTFContinuouslySatisfy.java       |   20 +-
 .../apache/iotdb/commons}/udf/builtin/UDTFCos.java |    2 +-
 .../iotdb/commons}/udf/builtin/UDTFCosh.java       |    2 +-
 .../iotdb/commons}/udf/builtin/UDTFDegrees.java    |    2 +-
 .../iotdb/commons}/udf/builtin/UDTFDerivative.java |   14 +-
 .../udf/builtin/UDTFEqualSizeBucketAggSample.java  |   20 +-
 .../udf/builtin/UDTFEqualSizeBucketM4Sample.java   |   20 +-
 .../builtin/UDTFEqualSizeBucketOutlierSample.java  |   22 +-
 .../builtin/UDTFEqualSizeBucketRandomSample.java   |   16 +-
 .../udf/builtin/UDTFEqualSizeBucketSample.java     |    8 +-
 .../apache/iotdb/commons}/udf/builtin/UDTFExp.java |    2 +-
 .../iotdb/commons}/udf/builtin/UDTFFloor.java      |    2 +-
 .../iotdb/commons}/udf/builtin/UDTFInRange.java    |   20 +-
 .../iotdb/commons}/udf/builtin/UDTFJexl.java       |   49 +-
 .../apache/iotdb/commons}/udf/builtin/UDTFLog.java |    2 +-
 .../iotdb/commons}/udf/builtin/UDTFLog10.java      |    2 +-
 .../iotdb/commons}/udf/builtin/UDTFMatches.java    |   20 +-
 .../iotdb/commons}/udf/builtin/UDTFMath.java       |   20 +-
 .../udf/builtin/UDTFNonNegativeDerivative.java     |    8 +-
 .../builtin/UDTFNonNegativeValueDifference.java    |    8 +-
 .../commons}/udf/builtin/UDTFNonZeroCount.java     |    2 +-
 .../commons}/udf/builtin/UDTFNonZeroDuration.java  |    2 +-
 .../iotdb/commons}/udf/builtin/UDTFOnOff.java      |   18 +-
 .../iotdb/commons}/udf/builtin/UDTFRadians.java    |    2 +-
 .../iotdb/commons}/udf/builtin/UDTFRound.java      |    2 +-
 .../iotdb/commons}/udf/builtin/UDTFSelectK.java    |   23 +-
 .../iotdb/commons}/udf/builtin/UDTFSign.java       |    2 +-
 .../apache/iotdb/commons}/udf/builtin/UDTFSin.java |    2 +-
 .../iotdb/commons}/udf/builtin/UDTFSinh.java       |    2 +-
 .../iotdb/commons}/udf/builtin/UDTFSqrt.java       |    2 +-
 .../apache/iotdb/commons}/udf/builtin/UDTFTan.java |    2 +-
 .../iotdb/commons}/udf/builtin/UDTFTanh.java       |    2 +-
 .../commons}/udf/builtin/UDTFTimeDifference.java   |   16 +-
 .../iotdb/commons}/udf/builtin/UDTFTopK.java       |    4 +-
 .../commons}/udf/builtin/UDTFValueDifference.java  |   14 +-
 .../iotdb/commons}/udf/builtin/UDTFValueTrend.java |   14 +-
 .../iotdb/commons}/udf/builtin/UDTFZeroCount.java  |    2 +-
 .../commons}/udf/builtin/UDTFZeroDuration.java     |    2 +-
 .../commons/utils/ThriftConfigNodeSerDeUtils.java  |   34 +
 .../iotdb/commons/partition/DataPartitionTest.java |   12 +-
 .../commons/partition/SchemaPartitionTest.java     |   12 +-
 .../apache/iotdb/db/client/ConfigNodeClient.java   |   19 +
 .../java/org/apache/iotdb/db/conf/IoTDBConfig.java |   27 +-
 .../org/apache/iotdb/db/conf/IoTDBDescriptor.java  |    1 -
 .../statemachine/DataRegionStateMachine.java       |   38 +-
 .../apache/iotdb/db/engine/StorageEngineV2.java    |   13 +
 .../apache/iotdb/db/engine/cache/ChunkCache.java   |    4 +-
 .../db/engine/cache/TimeSeriesMetadataCache.java   |    4 +-
 .../compaction/CompactionMetricsManager.java       |    4 +-
 .../db/engine/compaction/CompactionScheduler.java  |    4 +-
 .../db/engine/compaction/CompactionUtils.java      |    4 +-
 .../constant/InnerSequenceCompactionSelector.java  |    8 +-
 .../InnerUnsequenceCompactionSelector.java         |    8 +-
 ...ement.java => AbstractCrossSpaceEstimator.java} |   25 +-
 .../rewrite/CrossSpaceCompactionResource.java      |   89 ++
 .../RewriteCrossSpaceCompactionResource.java       |  206 ---
 .../RewriteCrossSpaceCompactionSelector.java       |   17 +-
 .../selector/RewriteCompactionFileSelector.java    |  195 +--
 .../cross/utils/AbstractCompactionEstimator.java   |   63 +
 .../IFileQueryMemMeasurement.java                  |    2 +-
 .../cross/utils/InplaceCompactionEstimator.java    |  173 +++
 .../utils/ReadPointCrossCompactionEstimator.java   |  172 +++
 .../AbstractInnerSpaceEstimator.java}              |   25 +-
 .../sizetiered/SizeTieredCompactionSelector.java   |    9 +-
 .../compaction/task/ICompactionSelector.java       |   20 +
 .../apache/iotdb/db/engine/flush/FlushManager.java |    4 +-
 .../iotdb/db/engine/flush/MemTableFlushTask.java   |    4 +-
 .../iotdb/db/engine/memtable/AbstractMemTable.java |    4 +-
 .../selectinto/InsertTabletPlansIterator.java      |    2 +-
 .../iotdb/db/engine/snapshot/SnapshotLoader.java   |  196 +++
 .../iotdb/db/engine/snapshot/SnapshotTaker.java    |  166 +++
 .../exception/DirectoryNotLegalException.java}     |   11 +-
 .../iotdb/db/engine/storagegroup/DataRegion.java   |    8 +-
 .../engine/storagegroup/TsFileNameGenerator.java   |    2 +-
 .../engine/storagegroup/TsFileProcessorInfo.java   |    4 +-
 .../iotdb/db/metadata/mtree/MTreeAboveSG.java      |   55 +-
 .../traverser/collector/MNodeAboveSGCollector.java |    6 +-
 .../db/metadata/rescon/TimeseriesStatistics.java   |    4 +-
 .../apache/iotdb/db/metadata/utils/MetaUtils.java  |   26 +-
 .../iotdb/db/mpp/aggregation/Aggregator.java       |   12 +-
 .../db/mpp/aggregation/FirstValueAccumulator.java  |    3 +
 .../db/mpp/aggregation/LastValueAccumulator.java   |    3 +
 .../iotdb/db/mpp/common/header/DatasetHeader.java  |    4 +
 .../iotdb/db/mpp/common/header/HeaderConstant.java |   10 +
 ...egateOperator.java => AggregationOperator.java} |    8 +-
 .../execution/operator/process/FillOperator.java   |   50 +-
 .../execution/operator/process/FilterOperator.java |    4 +-
 .../execution/operator/process/LimitOperator.java  |    3 +
 .../operator/process/LinearFillOperator.java       |  191 +++
 .../execution/operator/process/OffsetOperator.java |    3 +
 ...erator.java => RawDataAggregationOperator.java} |   10 +-
 .../operator/process/TransformOperator.java        |   16 +-
 .../execution/operator/process/fill/IFill.java}    |   10 +-
 .../process/fill/constant/BinaryConstantFill.java  |   63 +
 .../process/fill/constant/BooleanConstantFill.java |   62 +
 .../process/fill/constant/DoubleConstantFill.java  |   62 +
 .../process/fill/constant/FloatConstantFill.java   |   62 +
 .../process/fill/constant/IntConstantFill.java     |   62 +
 .../process/fill/constant/LongConstantFill.java    |   62 +
 .../process/fill/linear/DoubleLinearFill.java      |   94 ++
 .../process/fill/linear/FloatLinearFill.java       |   94 ++
 .../process/fill/linear/IntLinearFill.java         |   94 ++
 .../operator/process/fill/linear/LinearFill.java   |  186 +++
 .../process/fill/linear/LongLinearFill.java        |   94 ++
 .../process/fill/previous/BinaryPreviousFill.java  |   86 ++
 .../process/fill/previous/BooleanPreviousFill.java |   85 ++
 .../process/fill/previous/DoublePreviousFill.java  |   85 ++
 .../process/fill/previous/FloatPreviousFill.java   |   85 ++
 .../process/fill/previous/IntPreviousFill.java     |   85 ++
 .../process/fill/previous/LongPreviousFill.java    |   85 ++
 .../schema/ChildNodesSchemaScanOperator.java       |   93 ++
 .../schema/ChildPathsSchemaScanOperator.java       |   93 ++
 .../NodeManageMemoryMergeOperator.java}            |   51 +-
 ...a => AlignedSeriesAggregationScanOperator.java} |  184 +--
 ...tor.java => SeriesAggregationScanOperator.java} |   26 +-
 .../apache/iotdb/db/mpp/plan/analyze/Analysis.java |  194 ++-
 .../apache/iotdb/db/mpp/plan/analyze/Analyzer.java |  638 ++++----
 .../mpp/plan/analyze/ClusterPartitionFetcher.java  |   44 +
 .../db/mpp/plan/analyze/ConcatPathRewriter.java    |   67 +-
 .../db/mpp/plan/analyze/ExpressionAnalyzer.java    |  440 +++---
 .../iotdb/db/mpp/plan/analyze/ExpressionUtils.java |   50 +-
 .../mpp/plan/analyze/FakePartitionFetcherImpl.java |    8 +
 .../mpp/plan/analyze/GroupByLevelController.java   |    6 +-
 .../db/mpp/plan/analyze/IPartitionFetcher.java     |    5 +
 .../plan/analyze/StandalonePartitionFetcher.java   |    8 +
 .../db/mpp/plan/execution/QueryExecution.java      |    2 +-
 .../mpp/plan/execution/config/ConfigExecution.java |    2 +-
 .../memory/StatementMemorySourceVisitor.java       |   39 +
 .../{query => mpp/plan}/expression/Expression.java |   60 +-
 .../plan}/expression/ExpressionType.java           |    2 +-
 .../plan}/expression/ResultColumn.java             |    2 +-
 .../expression/binary/AdditionExpression.java      |   12 +-
 .../binary/ArithmeticBinaryExpression.java         |    4 +-
 .../plan}/expression/binary/BinaryExpression.java  |   28 +-
 .../expression/binary/CompareBinaryExpression.java |    4 +-
 .../expression/binary/DivisionExpression.java      |   12 +-
 .../plan}/expression/binary/EqualToExpression.java |   12 +-
 .../expression/binary/GreaterEqualExpression.java  |   12 +-
 .../expression/binary/GreaterThanExpression.java   |   12 +-
 .../expression/binary/LessEqualExpression.java     |   12 +-
 .../expression/binary/LessThanExpression.java      |   12 +-
 .../expression/binary/LogicAndExpression.java      |   12 +-
 .../expression/binary/LogicBinaryExpression.java   |    4 +-
 .../plan}/expression/binary/LogicOrExpression.java |   12 +-
 .../plan}/expression/binary/ModuloExpression.java  |   12 +-
 .../binary/MultiplicationExpression.java           |   12 +-
 .../expression/binary/NonEqualExpression.java      |   12 +-
 .../expression/binary/SubtractionExpression.java   |   12 +-
 .../plan}/expression/leaf/ConstantOperand.java     |   20 +-
 .../plan}/expression/leaf/LeafOperand.java         |    6 +-
 .../plan}/expression/leaf/TimeSeriesOperand.java   |   24 +-
 .../plan}/expression/leaf/TimestampOperand.java    |   24 +-
 .../plan}/expression/multi/FunctionExpression.java |   76 +-
 .../plan}/expression/unary/InExpression.java       |   12 +-
 .../plan}/expression/unary/LikeExpression.java     |   14 +-
 .../plan}/expression/unary/LogicNotExpression.java |   20 +-
 .../plan}/expression/unary/NegationExpression.java |   20 +-
 .../plan}/expression/unary/RegularExpression.java  |   12 +-
 .../plan}/expression/unary/UnaryExpression.java    |   26 +-
 .../iotdb/db/mpp/plan/parser/ASTVisitor.java       |   80 +-
 .../db/mpp/plan/parser/StatementGenerator.java     |   16 +-
 .../db/mpp/plan/planner/LocalExecutionPlanner.java |  269 +++-
 .../db/mpp/plan/planner/LogicalPlanBuilder.java    |  186 +--
 .../iotdb/db/mpp/plan/planner/LogicalPlanner.java  |   82 +-
 .../mpp/plan/planner/plan/node/PlanNodeType.java   |   14 +-
 .../db/mpp/plan/planner/plan/node/PlanVisitor.java |   17 +-
 .../metedata/read/ChildNodesSchemaScanNode.java    |   87 ++
 .../metedata/read/ChildPathsSchemaScanNode.java    |   87 ++
 .../read/NodeManagementMemoryMergeNode.java}       |   92 +-
 .../plan/planner/plan/node/process/FillNode.java   |    8 +
 .../plan/planner/plan/node/process/FilterNode.java |    2 +-
 .../planner/plan/node/process/FilterNullNode.java  |    2 +-
 .../planner/plan/node/process/TransformNode.java   |    2 +-
 .../source/AlignedSeriesAggregationScanNode.java   |    5 +-
 .../plan/node/write/InsertMultiTabletsNode.java    |   16 +
 .../plan/planner/plan/node/write/InsertNode.java   |   30 +
 .../planner/plan/node/write/InsertRowNode.java     |   10 +-
 .../planner/plan/node/write/InsertRowsNode.java    |   16 +
 .../plan/node/write/InsertRowsOfOneDeviceNode.java |   16 +
 .../planner/plan/node/write/InsertTabletNode.java  |    9 +
 .../plan/parameter/AggregationDescriptor.java      |    2 +-
 .../planner/plan/parameter/FillDescriptor.java     |    8 +
 .../plan/parameter/FilterNullParameter.java        |    2 +-
 .../scheduler/FragmentInstanceDispatcherImpl.java  |    4 +-
 .../db/mpp/plan/statement/StatementVisitor.java    |   10 +
 .../statement/component/FilterNullComponent.java   |    2 +-
 .../mpp/plan/statement/component/ResultColumn.java |   20 +-
 .../plan/statement/component/SelectComponent.java  |   25 +-
 .../plan/statement/component/WhereCondition.java   |    2 +-
 .../db/mpp/plan/statement/crud/QueryStatement.java |   46 +-
 .../mpp/plan/statement/literal/BooleanLiteral.java |    9 +-
 .../mpp/plan/statement/literal/DoubleLiteral.java  |   14 +-
 .../db/mpp/plan/statement/literal/Literal.java     |   25 +
 .../db/mpp/plan/statement/literal/LongLiteral.java |   25 +-
 .../mpp/plan/statement/literal/StringLiteral.java  |    6 +
 .../metadata/ShowChildNodesStatement.java}         |   23 +-
 .../metadata/ShowChildPathsStatement.java}         |   23 +-
 .../transformation/api}/LayerPointReader.java      |    2 +-
 .../transformation/api}/LayerRowReader.java        |    4 +-
 .../transformation/api}/LayerRowWindowReader.java  |    4 +-
 ...ializableRowRecordListBackedMultiColumnRow.java |    4 +-
 ...izableRowRecordListBackedMultiColumnWindow.java |   10 +-
 ...wRecordListBackedMultiColumnWindowIterator.java |    8 +-
 ...ticSerializableTVListBackedSingleColumnRow.java |    6 +-
 ...SerializableTVListBackedSingleColumnWindow.java |   10 +-
 ...ableTVListBackedSingleColumnWindowIterator.java |    8 +-
 .../LayerPointReaderBackedSingleColumnRow.java     |    6 +-
 .../transformation/dag/builder}/DAGBuilder.java    |   15 +-
 .../dag/builder}/EvaluationDAGBuilder.java         |   15 +-
 .../dag/input/ConstantInputReader.java}            |    9 +-
 .../dag/input/QueryDataSetInputLayer.java}         |   21 +-
 .../dag/input}/TsBlockInputDataSet.java            |    2 +-
 .../intermediate}/ConstantIntermediateLayer.java   |   18 +-
 .../dag/intermediate}/IntermediateLayer.java       |   16 +-
 .../MultiInputColumnIntermediateLayer.java         |   26 +-
 ...InputColumnMultiReferenceIntermediateLayer.java |   31 +-
 ...nputColumnSingleReferenceIntermediateLayer.java |   28 +-
 .../dag/memory}/LayerMemoryAssigner.java           |    6 +-
 .../transformation/dag/memory}/SafetyLine.java     |    4 +-
 .../dag}/transformer/Transformer.java              |    4 +-
 .../binary/ArithmeticAdditionTransformer.java      |    4 +-
 .../binary/ArithmeticBinaryTransformer.java        |    4 +-
 .../binary/ArithmeticDivisionTransformer.java      |    4 +-
 .../binary/ArithmeticModuloTransformer.java        |    4 +-
 .../ArithmeticMultiplicationTransformer.java       |    4 +-
 .../binary/ArithmeticSubtractionTransformer.java   |    4 +-
 .../dag}/transformer/binary/BinaryTransformer.java |    6 +-
 .../binary/CompareBinaryTransformer.java           |    4 +-
 .../binary/CompareEqualToTransformer.java          |    4 +-
 .../binary/CompareGreaterEqualTransformer.java     |    4 +-
 .../binary/CompareGreaterThanTransformer.java      |    4 +-
 .../binary/CompareLessEqualTransformer.java        |    4 +-
 .../binary/CompareLessThanTransformer.java         |    4 +-
 .../binary/CompareNonEqualTransformer.java         |    4 +-
 .../transformer/binary/LogicAndTransformer.java    |    5 +-
 .../transformer/binary/LogicBinaryTransformer.java |    4 +-
 .../transformer/binary/LogicOrTransformer.java     |    4 +-
 .../transformer/multi/UDFQueryRowTransformer.java  |    6 +-
 .../multi/UDFQueryRowWindowTransformer.java        |    6 +-
 .../transformer/multi/UDFQueryTransformer.java     |    8 +-
 .../unary/ArithmeticNegationTransformer.java       |    4 +-
 .../dag}/transformer/unary/InTransformer.java      |    4 +-
 .../transformer/unary/LogicNotTransformer.java     |    4 +-
 .../dag}/transformer/unary/RegularTransformer.java |    4 +-
 .../transformer/unary/TransparentTransformer.java  |    4 +-
 .../dag}/transformer/unary/UnaryTransformer.java   |    6 +-
 .../transformation/dag/udf}/UDTFContext.java       |    8 +-
 .../transformation/dag/udf}/UDTFExecutor.java      |   82 +-
 .../transformation/dag/udf}/UDTFTypeInferrer.java  |   33 +-
 .../transformation/dag/util}/InputRowUtils.java    |    2 +-
 .../transformation/dag/util}/LayerCacheUtils.java  |    8 +-
 .../transformation}/datastructure/Cache.java       |    2 +-
 .../datastructure/SerializableList.java            |    4 +-
 .../row/ElasticSerializableRowRecordList.java      |   19 +-
 .../row/SerializableRowRecordList.java             |    4 +-
 .../tv/ElasticSerializableBinaryTVList.java        |   28 +-
 .../tv/ElasticSerializableTVList.java              |   27 +-
 .../datastructure/tv/SerializableBinaryTVList.java |    2 +-
 .../tv/SerializableBooleanTVList.java              |    2 +-
 .../datastructure/tv/SerializableDoubleTVList.java |    2 +-
 .../datastructure/tv/SerializableFloatTVList.java  |    2 +-
 .../datastructure/tv/SerializableIntTVList.java    |    2 +-
 .../datastructure/tv/SerializableLongTVList.java   |    2 +-
 .../datastructure/tv/SerializableTVList.java       |   10 +-
 .../protocol/influxdb/function/InfluxFunction.java |    4 +-
 .../influxdb/function/InfluxFunctionFactory.java   |    2 +-
 .../function/aggregator/InfluxAggregator.java      |    2 +-
 .../function/aggregator/InfluxCountFunction.java   |    2 +-
 .../function/aggregator/InfluxMeanFunction.java    |    2 +-
 .../function/aggregator/InfluxMedianFunction.java  |    2 +-
 .../function/aggregator/InfluxModeFunction.java    |    2 +-
 .../function/aggregator/InfluxSpreadFunction.java  |    2 +-
 .../function/aggregator/InfluxStddevFunction.java  |    2 +-
 .../function/aggregator/InfluxSumFunction.java     |    2 +-
 .../function/selector/InfluxFirstFunction.java     |    2 +-
 .../function/selector/InfluxLastFunction.java      |    2 +-
 .../function/selector/InfluxMaxFunction.java       |    2 +-
 .../function/selector/InfluxMinFunction.java       |    2 +-
 .../influxdb/function/selector/InfluxSelector.java |    2 +-
 .../db/protocol/influxdb/handler/QueryHandler.java |    8 +-
 .../influxdb/operator/InfluxSelectComponent.java   |    8 +-
 .../protocol/influxdb/sql/InfluxDBSqlVisitor.java  |   20 +-
 .../protocol/rest/handler/QueryDataSetHandler.java |    2 +-
 .../iotdb/db/qp/constant/FilterConstant.java       |    2 +-
 .../apache/iotdb/db/qp/executor/PlanExecutor.java  |    2 +-
 .../qp/logical/crud/AggregationQueryOperator.java  |    8 +-
 .../db/qp/logical/crud/LastQueryOperator.java      |    6 +-
 .../iotdb/db/qp/logical/crud/QueryOperator.java    |    8 +-
 .../iotdb/db/qp/logical/crud/SelectComponent.java  |    8 +-
 .../db/qp/logical/crud/SpecialClauseComponent.java |    2 +-
 .../db/qp/logical/crud/UDAFQueryOperator.java      |    8 +-
 .../iotdb/db/qp/physical/crud/AggregationPlan.java |    2 +-
 .../db/qp/physical/crud/AlignByDevicePlan.java     |    2 +-
 .../iotdb/db/qp/physical/crud/LastQueryPlan.java   |    2 +-
 .../iotdb/db/qp/physical/crud/QueryPlan.java       |    2 +-
 .../db/qp/physical/crud/RawDataQueryPlan.java      |    2 +-
 .../apache/iotdb/db/qp/physical/crud/UDAFPlan.java |    2 +-
 .../apache/iotdb/db/qp/physical/crud/UDFPlan.java  |    2 +-
 .../apache/iotdb/db/qp/physical/crud/UDTFPlan.java |    6 +-
 .../apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java    |   58 +-
 .../iotdb/db/qp/strategy/LogicalGenerator.java     |    4 +-
 .../qp/strategy/optimizer/ConcatPathOptimizer.java |    6 +-
 .../apache/iotdb/db/qp/utils/DatetimeUtils.java    |   12 +-
 .../iotdb/db/qp/utils/GroupByLevelController.java  |    6 +-
 .../apache/iotdb/db/qp/utils/WildcardsRemover.java |    4 +-
 .../db/query/control/QueryResourceManager.java     |    4 +-
 .../db/query/dataset/UDTFAlignByTimeDataSet.java   |    6 +-
 .../apache/iotdb/db/query/dataset/UDTFDataSet.java |   21 +-
 .../db/query/dataset/UDTFNonAlignDataSet.java      |    4 +-
 .../query/dataset/groupby/GroupByFillDataSet.java  |    2 +-
 .../groupby/impl/LocalAlignedGroupByExecutor.java  |    2 -
 .../db/query/pool/RawQueryReadTaskPoolManager.java |    4 +-
 .../query/udf/service/UDFClassLoaderManager.java   |    3 +-
 .../udf/service/UDFRegistrationInformation.java    |    2 +-
 .../query/udf/service/UDFRegistrationService.java  |   14 +-
 .../java/org/apache/iotdb/db/service/DataNode.java |    1 -
 .../java/org/apache/iotdb/db/service/IoTDB.java    |    1 -
 .../service/TemporaryQueryDataFileService.java     |    4 +-
 .../iotdb/db/service/metrics/MetricsService.java   |  150 +-
 .../db/service/metrics/{ => enums}/Metric.java     |    2 +-
 .../db/service/metrics/{ => enums}/Operation.java  |    2 +-
 .../iotdb/db/service/metrics/{ => enums}/Tag.java  |    2 +-
 .../FileMetrics.java}                              |  132 +-
 .../ProcessMetrics.java}                           |   51 +-
 .../SystemMetrics.java}                            |   37 +-
 .../db/service/thrift/ProcessorWithMetrics.java    |    4 +-
 .../thrift/impl/DataNodeTSIServiceImpl.java        |    2 +-
 .../service/thrift/impl/InternalServiceImpl.java   |   59 +-
 .../db/service/thrift/impl/TSServiceImpl.java      |    2 +-
 .../apache/iotdb/db/tools/TsFileSketchTool.java    |    6 +-
 .../db/tools/watermark/WatermarkDetector.java      |    9 +-
 .../org/apache/iotdb/db/utils/FileLoaderUtils.java |    2 +-
 .../java/org/apache/iotdb/db/utils/MergeUtils.java |   69 -
 .../compaction/cross/CrossSpaceCompactionTest.java |   17 +-
 .../engine/compaction/cross/MergeUpgradeTest.java  |    6 +-
 .../cross/RewriteCompactionFileSelectorTest.java   |   81 +-
 .../iotdb/db/metadata/mtree/MTreeAboveSGTest.java  |   18 +-
 ...ratorTest.java => AggregationOperatorTest.java} |   70 +-
 ... AlignedSeriesAggregationScanOperatorTest.java} |  436 +++---
 .../mpp/execution/operator/FillOperatorTest.java   |  353 +++++
 .../execution/operator/LinearFillOperatorTest.java |  441 ++++++
 ...st.java => RawDataAggregationOperatorTest.java} |   50 +-
 ...java => SeriesAggregationScanOperatorTest.java} |  146 +-
 .../iotdb/db/mpp/plan/analyze/AnalyzeFailTest.java |   18 +
 .../iotdb/db/mpp/plan/plan/LogicalPlannerTest.java |   40 +
 .../db/mpp/plan/plan/QueryLogicalPlanUtil.java     |  360 ++---
 .../NodeManagementMemoryMergeNodeSerdeTest.java    |  111 ++
 .../node/process/AggregationNodeSerdeTest.java     |    2 +-
 .../plan/node/process/FilterNodeSerdeTest.java     |    8 +-
 .../plan/node/process/FilterNullNodeSerdeTest.java |    2 +-
 .../node/process/GroupByLevelNodeSerdeTest.java    |    2 +-
 .../source/SeriesAggregationScanNodeSerdeTest.java |    2 +-
 .../plan/node/write/InsertTabletNodeSerdeTest.java |    2 +-
 .../influxdb/sql/InfluxDBLogicalGeneratorTest.java |    4 +-
 .../ElasticSerializableRowRecordListTest.java      |    3 +-
 .../ElasticSerializableTVListTest.java             |   17 +-
 .../iotdb/db/query/udf/datastructure/LRUCache.java |    2 +
 .../SerializableBinaryTVListTest.java              |    4 +-
 .../SerializableBooleanTVListTest.java             |    4 +-
 .../SerializableDoubleTVListTest.java              |    4 +-
 .../datastructure/SerializableFloatTVListTest.java |    4 +-
 .../datastructure/SerializableIntTVListTest.java   |    4 +-
 .../udf/datastructure/SerializableListTest.java    |    2 +-
 .../datastructure/SerializableLongTVListTest.java  |    4 +-
 .../SerializableRowRecordListTest.java             |    2 +-
 .../apache/iotdb/db/query/udf/example/Adder.java   |   14 +-
 .../java/org/apache/iotdb/rpc/TSStatusCode.java    |    1 +
 .../.vuepress/theme/global-components/IoTDB.vue    |   72 +-
 thrift-commons/src/main/thrift/common.thrift       |    2 +
 .../src/main/thrift/confignode.thrift              |   23 +
 .../iotdb/tsfile/read/TsFileSequenceReader.java    |   67 +-
 .../org/apache/iotdb/tsfile/read/common/Path.java  |    3 +-
 .../tsfile/v2/read/TsFileSequenceReaderForV2.java  |    3 +-
 .../tsfile/write/MetadataIndexConstructorTest.java |    2 +-
 .../iotdb/tsfile/write/TsFileIOWriterTest.java     |    2 +-
 573 files changed, 13491 insertions(+), 5353 deletions(-)

diff --cc server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/source/AlignedSeriesAggregationScanNode.java
index db9c3fe354,0345031d07..d735cad2cc
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/source/AlignedSeriesAggregationScanNode.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/source/AlignedSeriesAggregationScanNode.java
@@@ -69,8 -73,10 +70,10 @@@ public class AlignedSeriesAggregationSc
        PlanNodeId id,
        AlignedPath alignedPath,
        List<AggregationDescriptor> aggregationDescriptorList) {
 -    super(id);
 +    super(id, aggregationDescriptorList);
      this.alignedPath = alignedPath;
+     this.aggregationDescriptorList =
+         AggregationNode.getDeduplicatedDescriptors(aggregationDescriptorList);
    }
  
    public AlignedSeriesAggregationScanNode(