You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by lt...@apache.org on 2021/01/21 09:42:09 UTC

[iotdb] 01/01: Merge branch 'master' into fix_sync_last_query

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

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

commit 6d7d545676e0b8e70bf43eed9b079f3fce76884e
Merge: ad224d8 6f632e2
Author: lta <li...@163.com>
AuthorDate: Thu Jan 21 17:41:27 2021 +0800

    Merge branch 'master' into fix_sync_last_query

 .../upgrade/config.properties => .dockerignore     |   10 +-
 .github/pull_request_template.md                   |   37 +-
 .github/workflows/e2e.yml                          |   52 +
 LICENSE-binary                                     |   20 +-
 NOTICE                                             |    2 +-
 NOTICE-binary                                      |    2 +-
 README.md                                          |   15 +
 README_ZH.md                                       |   14 +-
 .../antlr4/org/apache/iotdb/db/qp/sql/SqlBase.g4   |   30 +-
 .../java/org/apache/iotdb/cli/AbstractCli.java     |  138 +--
 cli/src/main/java/org/apache/iotdb/cli/Cli.java    |    2 +
 cli/src/main/java/org/apache/iotdb/cli/WinCli.java |    3 +
 .../org/apache/iotdb/cli/utils/IoTPrinter.java     |  107 ++
 .../main/java/org/apache/iotdb/tool/ImportCsv.java |   63 +-
 .../client-cpp-example/src/SessionExample.cpp      |   13 +
 client-cpp/src/main/Session.cpp                    |   18 +-
 client-cpp/src/main/Session.h                      |    4 +
 client-cpp/src/test/cpp/sessionIT.cpp              |   22 +
 cluster/pom.xml                                    |   29 +-
 cluster/src/assembly/cluster.xml                   |    4 +-
 cluster/src/assembly/resources/sbin/add-node.sh    |    2 +-
 cluster/src/assembly/resources/sbin/start-node.sh  |    2 +-
 .../iotdb/cluster/ClusterFileFlushPolicy.java      |    2 +-
 .../apache/iotdb/cluster/RemoteTsFileResource.java |   41 +-
 .../cluster/client/async/AsyncClientFactory.java   |    6 +-
 .../cluster/client/async/AsyncClientPool.java      |   79 +-
 .../cluster/client/async/AsyncDataClient.java      |   11 +-
 .../iotdb/cluster/client/sync/SyncClientPool.java  |   24 +-
 .../iotdb/cluster/config/ClusterConstant.java      |   31 +-
 .../iotdb/cluster/coordinator/Coordinator.java     |  167 ++--
 .../apache/iotdb/cluster/log/LogDispatcher.java    |   16 +-
 .../cluster/log/applier/AsyncDataLogApplier.java   |   17 +-
 .../iotdb/cluster/log/applier/BaseApplier.java     |    2 +-
 .../iotdb/cluster/log/applier/DataLogApplier.java  |   13 +-
 .../iotdb/cluster/log/catchup/CatchUpTask.java     |    2 +-
 .../cluster/log/manage/CommittedEntryManager.java  |    5 +-
 .../iotdb/cluster/log/manage/RaftLogManager.java   |   26 +-
 .../log/manage/UnCommittedEntryManager.java        |   10 +-
 .../apache/iotdb/cluster/metadata/CMManager.java   |   28 +-
 .../apache/iotdb/cluster/metadata/MetaPuller.java  |    5 +-
 .../cluster/query/ClusterPhysicalGenerator.java    |   15 +-
 .../iotdb/cluster/query/ClusterPlanExecutor.java   |   53 +-
 .../iotdb/cluster/query/ClusterPlanRouter.java     |   74 ++
 .../cluster/query/filter/SlotTsFileFilter.java     |    4 +-
 .../cluster/query/manage/QueryCoordinator.java     |  115 +--
 .../apache/iotdb/cluster/server/ClientServer.java  |   10 +-
 .../iotdb/cluster/server/DataClusterServer.java    |    2 +-
 .../iotdb/cluster/server/MetaClusterServer.java    |   10 +
 .../apache/iotdb/cluster/server/RaftServer.java    |    7 +-
 .../handlers/caller/AppendNodeEntryHandler.java    |    6 +-
 .../server/handlers/caller/HeartbeatHandler.java   |    2 +-
 .../cluster/server/heartbeat/HeartbeatThread.java  |    8 +-
 .../cluster/server/member/DataGroupMember.java     |   15 +-
 .../cluster/server/member/MetaGroupMember.java     |   71 +-
 .../iotdb/cluster/server/member/RaftMember.java    |  121 +--
 .../cluster/server/{ => monitor}/NodeReport.java   |    3 +-
 .../manage => server/monitor}/NodeStatus.java      |   41 +-
 .../monitor/NodeStatusManager.java}                |   87 +-
 .../iotdb/cluster/server/{ => monitor}/Peer.java   |    2 +-
 .../iotdb/cluster/server/{ => monitor}/Timer.java  |    2 +-
 .../cluster/server/service/MetaAsyncService.java   |    6 +
 .../cluster/server/service/MetaSyncService.java    |    5 +
 .../apache/iotdb/cluster/utils/ClusterUtils.java   |    9 +-
 .../cluster/utils/nodetool/ClusterMonitor.java     |    2 +-
 .../utils/nodetool/function/NodeToolCmd.java       |   22 +-
 .../iotdb/cluster/common/EnvironmentUtils.java     |  218 -----
 .../org/apache/iotdb/cluster/common/IoTDBTest.java |    4 +-
 .../cluster/integration/BaseSingleNodeTest.java    |    2 +-
 .../iotdb/cluster/integration/SingleNodeTest.java  |    7 +-
 .../iotdb/cluster/log/CommitLogCallbackTest.java   |    2 +-
 .../iotdb/cluster/log/CommitLogTaskTest.java       |    2 +-
 .../iotdb/cluster/log/LogDispatcherTest.java       |    2 +-
 .../log/applier/AsyncDataLogApplierTest.java       |    2 +-
 .../cluster/log/applier/DataLogApplierTest.java    |   11 +-
 .../iotdb/cluster/log/catchup/CatchUpTaskTest.java |    9 +-
 .../cluster/log/catchup/LogCatchUpTaskTest.java    |    8 +-
 .../log/catchup/SnapshotCatchUpTaskTest.java       |    8 +-
 .../cluster/log/manage/RaftLogManagerTest.java     |   22 +-
 .../cluster/log/snapshot/DataSnapshotTest.java     |    7 +-
 .../cluster/log/snapshot/PullSnapshotTaskTest.java |    5 +
 .../iotdb/cluster/partition/SlotManagerTest.java   |    2 +-
 .../cluster/partition/SlotPartitionTableTest.java  |    2 +-
 .../apache/iotdb/cluster/query/BaseQueryTest.java  |   15 +-
 .../query/ClusterAggregateExecutorTest.java        |   48 +-
 .../query/ClusterDataQueryExecutorTest.java        |   22 +-
 .../cluster/query/ClusterFillExecutorTest.java     |   72 +-
 .../cluster/query/ClusterPlanExecutorTest.java     |    8 +-
 .../cluster/query/ClusterQueryRouterTest.java      |  216 +++--
 .../iotdb/cluster/query/LoadConfigurationTest.java |  122 +++
 .../ClusterGroupByNoVFilterDataSetTest.java        |   64 +-
 .../groupby/ClusterGroupByVFilterDataSetTest.java  |   74 +-
 .../query/groupby/MergeGroupByExecutorTest.java    |   83 +-
 .../query/groupby/RemoteGroupByExecutorTest.java   |  146 +--
 .../cluster/query/manage/QueryCoordinatorTest.java |   15 +-
 .../query/reader/ClusterTimeGeneratorTest.java     |   34 +-
 .../cluster/query/reader/DatasourceInfoTest.java   |   16 +-
 .../reader/RemoteSeriesReaderByTimestampTest.java  |  122 +--
 .../query/reader/RemoteSimpleSeriesReaderTest.java |  136 +--
 .../caller/AppendGroupEntryHandlerTest.java        |    2 +-
 .../caller/AppendNodeEntryHandlerTest.java         |    4 +-
 .../handlers/caller/ElectionHandlerTest.java       |    2 +-
 .../handlers/caller/HeartbeatHandlerTest.java      |    2 +-
 .../handlers/caller/LogCatchUpHandlerTest.java     |    2 +-
 .../server/heartbeat/DataHeartbeatThreadTest.java  |    5 +
 .../server/heartbeat/HeartbeatThreadTest.java      |   10 +-
 .../server/heartbeat/MetaHeartbeatThreadTest.java  |    5 +
 .../cluster/server/member/DataGroupMemberTest.java |  129 +--
 .../iotdb/cluster/server/member/MemberTest.java    |   18 +-
 .../cluster/server/member/MetaGroupMemberTest.java |   51 +-
 docker/src/main/Dockerfile                         |   46 +-
 docker/src/main/Dockerfile-0.10.0                  |    4 +-
 docker/src/main/Dockerfile-0.10.1                  |    4 +-
 docker/src/main/Dockerfile-0.11.0                  |    4 +-
 .../main/{Dockerfile-0.11.0 => Dockerfile-0.11.1}  |   10 +-
 .../main/{Dockerfile-0.11.0 => Dockerfile-0.11.2}  |   10 +-
 docs/Download/README.md                            |   17 +-
 docs/UserGuide/Client/Programming - Native API.md  |   18 +
 docs/UserGuide/Client/Status Codes.md              |    2 +
 docs/UserGuide/Operation Manual/Administration.md  |    2 +
 .../DDL Data Definition Language.md                |    2 +
 .../DML Data Manipulation Language.md              |  192 +++-
 docs/UserGuide/Operation Manual/Kill Query.md      |   60 ++
 docs/UserGuide/Operation Manual/SQL Reference.md   |   15 +
 .../Operation Manual/UDF User Defined Function.md  |  128 ++-
 docs/UserGuide/Server/Config Manual.md             |   18 +
 docs/UserGuide/System Tools/CSV Tool.md            |    1 +
 docs/UserGuide/System Tools/NodeTool.md            |    9 +-
 docs/zh/Download/README.md                         |   14 +-
 docs/zh/SystemDesign/StorageEngine/Compaction.md   |    2 +-
 .../UserGuide/Client/Programming - Native API.md   |   14 +
 docs/zh/UserGuide/Client/Status Codes.md           |    2 +
 .../UserGuide/Operation Manual/Administration.md   |    2 +
 .../DDL Data Definition Language.md                |    2 +
 .../DML Data Manipulation Language.md              |  198 +++-
 docs/zh/UserGuide/Operation Manual/Kill Query.md   |   61 ++
 .../zh/UserGuide/Operation Manual/SQL Reference.md |   21 +-
 .../Operation Manual/UDF User Defined Function.md  |  132 ++-
 docs/zh/UserGuide/Server/Config Manual.md          |   17 +
 docs/zh/UserGuide/System Tools/CSV Tool.md         |    1 +
 docs/zh/UserGuide/System Tools/NodeTool.md         |   10 +-
 .../main/java/org/apache/iotdb/JDBCExample.java    |   25 +-
 .../main/java/org/apache/iotdb/SessionExample.java |   20 +-
 .../apache/iotdb/tsfile/TsFileSequenceRead.java    |   62 +-
 .../apache/iotdb/hadoop/fileSystem/HDFSInput.java  |   11 +
 .../apache/iotdb/hadoop/fileSystem/HDFSOutput.java |    5 +
 .../iotdb/hadoop/tsfile/record/HDFSTSRecord.java   |    4 +-
 .../iotdb/jdbc/AbstractIoTDBJDBCResultSet.java     |    4 +-
 .../main/java/org/apache/iotdb/jdbc/Config.java    |   20 +-
 .../org/apache/iotdb/jdbc/IoTDBConnection.java     |   19 +-
 .../apache/iotdb/jdbc/IoTDBConnectionParams.java   |   18 +
 .../org/apache/iotdb/jdbc/IoTDBJDBCResultSet.java  |    4 +-
 .../iotdb/jdbc/IoTDBNonAlignJDBCResultSet.java     |    6 +-
 .../apache/iotdb/jdbc/IoTDBPreparedStatement.java  |    8 +-
 .../java/org/apache/iotdb/jdbc/IoTDBStatement.java |   33 +-
 .../src/main/java/org/apache/iotdb/jdbc/Utils.java |    7 +
 pom.xml                                            |   14 +-
 server/file-changelists/TsFileMods-changelist.md   |   11 +
 .../file-changelists/TsFileResource-changelist.md  |    8 +-
 .../system.properties-changelist.md                |    9 +
 server/pom.xml                                     |    5 +
 .../resources/conf/iotdb-engine.properties         |   38 +-
 server/src/assembly/resources/conf/iotdb-env.bat   |    1 -
 server/src/assembly/resources/conf/iotdb-env.sh    |    1 -
 server/src/assembly/resources/conf/logback.xml     |   69 +-
 server/src/assembly/resources/sbin/start-server.sh |    2 +-
 .../assembly/resources/tools/start-WalChecker.sh   |    2 +-
 .../resources/tools/upgrade/offline-upgrade.bat    |   67 --
 .../java/org/apache/iotdb/db/conf/IoTDBConfig.java |   60 +-
 .../org/apache/iotdb/db/conf/IoTDBConfigCheck.java |  207 +++-
 .../org/apache/iotdb/db/conf/IoTDBConstant.java    |    3 +
 .../org/apache/iotdb/db/conf/IoTDBDescriptor.java  |   30 +-
 .../org/apache/iotdb/db/engine/StorageEngine.java  |  628 ++++++------
 .../apache/iotdb/db/engine/cache/ChunkCache.java   |    5 +-
 .../db/engine/cache/TimeSeriesMetadataCache.java   |   32 +-
 .../compaction/CompactionMergeTaskPoolManager.java |    2 +-
 .../db/engine/compaction/TsFileManagement.java     |   16 +
 .../level/LevelCompactionTsFileManagement.java     |   77 +-
 .../no/NoCompactionTsFileManagement.java           |    5 +
 .../engine/compaction/utils/CompactionLogger.java  |    2 +-
 .../engine/compaction/utils/CompactionUtils.java   |    2 -
 .../apache/iotdb/db/engine/flush/FlushManager.java |   24 +-
 .../iotdb/db/engine/flush/MemTableFlushTask.java   |  219 +++--
 .../iotdb/db/engine/memtable/AbstractMemTable.java |   44 +-
 .../apache/iotdb/db/engine/memtable/IMemTable.java |   17 +-
 .../db/engine/memtable/PrimitiveMemTable.java      |    8 -
 .../merge/selector/MaxFileMergeFileSelector.java   |   15 +-
 .../iotdb/db/engine/merge/task/MergeFileTask.java  |  136 ++-
 .../db/engine/merge/task/MergeMultiChunkTask.java  |    5 +-
 .../iotdb/db/engine/merge/task/MergeTask.java      |   28 +-
 .../iotdb/db/engine/modification/Deletion.java     |    8 +-
 .../iotdb/db/engine/modification/Modification.java |   18 +-
 .../io/LocalTextModificationAccessor.java          |   10 +-
 .../db/engine/querycontext/ReadOnlyMemChunk.java   |    9 +-
 .../db/engine/storagegroup/StorageGroupInfo.java   |   51 +-
 .../engine/storagegroup/StorageGroupProcessor.java |  680 +++++++------
 .../db/engine/storagegroup/TsFileProcessor.java    |  162 ++--
 .../db/engine/storagegroup/TsFileResource.java     |  393 +++-----
 .../storagegroup/timeindex/DeviceTimeIndex.java    |  308 ++++++
 .../storagegroup/timeindex/FileTimeIndex.java      |  193 ++++
 .../engine/storagegroup/timeindex/ITimeIndex.java  |  138 +++
 .../storagegroup/timeindex/TimeIndexLevel.java}    |   45 +-
 .../virtualSg/HashVirtualPartitioner.java          |   67 ++
 .../virtualSg/VirtualPartitioner.java}             |   26 +-
 .../virtualSg/VirtualStorageGroupManager.java      |  434 +++++++++
 .../iotdb/db/engine/upgrade/UpgradeTask.java       |  108 +--
 .../apache/iotdb/db/exception/IoTDBException.java  |   21 +
 .../db/exception/PartitionViolationException.java  |    8 +-
 ...xception.java => QueryIdNotExsitException.java} |   10 +-
 .../iotdb/db/exception/StorageEngineException.java |    2 +-
 .../db/exception/UDFRegistrationException.java     |    7 +-
 .../iotdb/db/exception/WriteProcessException.java  |    4 +
 .../metadata/AliasAlreadyExistException.java       |    1 +
 .../exception/metadata/IllegalPathException.java   |    1 +
 .../db/exception/metadata/MetadataException.java   |    8 +
 .../metadata/PathAlreadyExistException.java        |    1 +
 .../exception/metadata/PathNotExistException.java  |   20 +-
 .../metadata/StorageGroupNotSetException.java      |    5 +
 .../db/exception/query/OutOfTTLException.java      |    2 +-
 .../db/exception/query/QueryProcessException.java  |    6 +-
 .../QueryTimeoutRuntimeException.java}             |   68 +-
 .../org/apache/iotdb/db/metadata/MManager.java     |  136 +--
 .../java/org/apache/iotdb/db/metadata/MTree.java   |   77 +-
 .../iotdb/db/metadata/logfile/MLogWriter.java      |  148 +--
 .../apache/iotdb/db/metrics/ui/MetricsPage.java    |    2 +-
 .../apache/iotdb/db/monitor/MonitorConstants.java  |    5 -
 .../org/apache/iotdb/db/monitor/StatMonitor.java   |   20 +-
 .../org/apache/iotdb/db/mqtt/PublishHandler.java   |  123 +--
 .../main/java/org/apache/iotdb/db/qp/Planner.java  |    1 +
 .../apache/iotdb/db/qp/constant/SQLConstant.java   |    2 +
 .../apache/iotdb/db/qp/executor/IPlanExecutor.java |   16 +
 .../apache/iotdb/db/qp/executor/PlanExecutor.java  |  150 ++-
 .../org/apache/iotdb/db/qp/logical/Operator.java   |    5 +-
 ...TracingOperator.java => KillQueryOperator.java} |   20 +-
 .../db/qp/logical/sys/RemoveFileOperator.java      |    5 -
 .../db/qp/logical/sys/ShowDevicesOperator.java     |   18 +
 .../iotdb/db/qp/logical/sys/TracingOperator.java   |   10 +-
 .../apache/iotdb/db/qp/physical/PhysicalPlan.java  |   13 +-
 .../db/qp/physical/crud/InsertMultiTabletPlan.java |  326 +++++++
 .../iotdb/db/qp/physical/crud/InsertRowPlan.java   |   29 +-
 .../physical/crud/InsertRowsOfOneDevicePlan.java   |  154 +++
 .../db/qp/physical/crud/InsertTabletPlan.java      |   10 +-
 .../apache/iotdb/db/qp/physical/crud/UDFPlan.java  |    3 +-
 .../apache/iotdb/db/qp/physical/crud/UDTFPlan.java |    3 +-
 .../db/qp/physical/sys/AlterTimeSeriesPlan.java    |    2 +-
 .../iotdb/db/qp/physical/sys/AuthorPlan.java       |    2 +-
 .../qp/physical/sys/CreateMultiTimeSeriesPlan.java |    6 +-
 .../db/qp/physical/sys/CreateTimeSeriesPlan.java   |   14 +-
 .../{ShowDevicesPlan.java => KillQueryPlan.java}   |   25 +-
 .../iotdb/db/qp/physical/sys/ShowDevicesPlan.java  |   13 +-
 .../apache/iotdb/db/qp/physical/sys/ShowPlan.java  |   51 +-
 .../qp/physical/sys/ShowQueryProcesslistPlan.java  |   13 +-
 .../db/qp/physical/sys/ShowTimeSeriesPlan.java     |   56 +-
 .../apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java    |   34 +-
 .../iotdb/db/qp/strategy/LogicalGenerator.java     |    4 +
 .../iotdb/db/qp/strategy/PhysicalGenerator.java    |   29 +-
 .../db/qp/{constant => utils}/DatetimeUtils.java   |   12 +-
 .../db/query/aggregation/AggregateResult.java      |    5 +-
 .../db/query/aggregation/impl/AvgAggrResult.java   |   22 +-
 .../db/query/aggregation/impl/SumAggrResult.java   |   20 +-
 .../iotdb/db/query/control/FileReaderManager.java  |   16 +-
 .../iotdb/db/query/control/QueryFileManager.java   |    2 +
 .../db/query/control/QueryResourceManager.java     |    3 +
 .../iotdb/db/query/control/QueryTimeManager.java   |  178 ++++
 .../iotdb/db/query/control/TracingManager.java     |    2 +-
 .../db/query/dataset/NonAlignEngineDataSet.java    |   18 +-
 .../dataset/RawQueryDataSetWithValueFilter.java    |   68 +-
 .../dataset/RawQueryDataSetWithoutValueFilter.java |  119 ++-
 .../apache/iotdb/db/query/dataset/ShowDataSet.java |   78 ++
 .../iotdb/db/query/dataset/ShowDevicesDataSet.java |   58 ++
 .../db/query/dataset/ShowTimeseriesDataSet.java    |   46 +-
 .../dataset/UDFInputDataSet.java}                  |   16 +-
 .../db/query/dataset/UDTFAlignByTimeDataSet.java   |    6 +-
 .../apache/iotdb/db/query/dataset/UDTFDataSet.java |    2 +-
 .../dataset/groupby/GroupByEngineDataSet.java      |    8 +-
 .../groupby/GroupByWithValueFilterDataSet.java     |    3 +-
 .../db/query/executor/AggregationExecutor.java     |    4 +-
 .../db/query/executor/RawDataQueryExecutor.java    |    7 +-
 .../db/query/executor/fill/LastPointReader.java    |   36 +-
 .../FixLengthIExternalSortFileDeserializer.java    |    2 +-
 .../chunk/metadata/DiskChunkMetadataLoader.java    |    7 +
 .../chunk/metadata/MemChunkMetadataLoader.java     |    4 +
 .../iotdb/db/query/reader/series/SeriesReader.java |   21 +-
 .../reader/universal/DescPriorityMergeReader.java  |    4 +-
 .../reader/universal/PriorityMergeReader.java      |   50 +-
 .../org/apache/iotdb/db/query/udf/api/UDF.java     |   15 +
 .../org/apache/iotdb/db/query/udf/api/UDTF.java    |   10 +-
 .../parameter/UDFParameterValidator.java           |  209 ++++
 .../api/customizer/parameter/UDFParameters.java    |   10 +-
 .../strategy/SlidingTimeWindowAccessStrategy.java  |    2 +-
 .../UDFAttributeNotProvidedException.java}         |   56 +-
 .../udf/api/exception/UDFException.java}           |   62 +-
 .../UDFInputSeriesDataTypeNotValidException.java}  |   32 +-
 .../UDFInputSeriesIndexNotValidException.java}     |   60 +-
 .../UDFInputSeriesNumberNotValidException.java}    |   17 +-
 .../exception/UDFParameterNotValidException.java   |   13 +-
 .../db/query/udf/builtin/BuiltinFunction.java      |   39 +-
 .../iotdb/db/query/udf/builtin/UDTFAbs.java}       |  148 ++-
 .../iotdb/db/query/udf/builtin/UDTFAcos.java       |   14 +-
 .../iotdb/db/query/udf/builtin/UDTFAsin.java       |   14 +-
 .../iotdb/db/query/udf/builtin/UDTFAtan.java       |   14 +-
 .../iotdb/db/query/udf/builtin/UDTFBottomK.java    |  105 ++
 .../iotdb/db/query/udf/builtin/UDTFCeil.java       |   14 +-
 .../db/query/udf/builtin/UDTFCommonDerivative.java |   62 ++
 .../udf/builtin/UDTFCommonValueDifference.java     |   60 ++
 .../iotdb/db/query/udf/builtin/UDTFContains.java}  |   42 +-
 .../apache/iotdb/db/query/udf/builtin/UDTFCos.java |   14 +-
 .../iotdb/db/query/udf/builtin/UDTFDegrees.java    |   14 +-
 .../db/query/udf/builtin/UDTFDerivative.java}      |   43 +-
 .../apache/iotdb/db/query/udf/builtin/UDTFExp.java |   14 +-
 .../iotdb/db/query/udf/builtin/UDTFFloor.java      |   14 +-
 .../apache/iotdb/db/query/udf/builtin/UDTFLog.java |   14 +-
 .../iotdb/db/query/udf/builtin/UDTFLog10.java      |   14 +-
 .../iotdb/db/query/udf/builtin/UDTFMatches.java}   |   43 +-
 .../iotdb/db/query/udf/builtin/UDTFMath.java       |   89 ++
 .../udf/builtin/UDTFNonNegativeDerivative.java     |   63 ++
 .../builtin/UDTFNonNegativeValueDifference.java    |   61 ++
 .../iotdb/db/query/udf/builtin/UDTFRadians.java    |   14 +-
 .../iotdb/db/query/udf/builtin/UDTFRound.java      |   14 +-
 .../iotdb/db/query/udf/builtin/UDTFSelectK.java    |  156 +++
 .../iotdb/db/query/udf/builtin/UDTFSign.java       |   14 +-
 .../apache/iotdb/db/query/udf/builtin/UDTFSin.java |   14 +-
 .../iotdb/db/query/udf/builtin/UDTFSqrt.java       |   14 +-
 .../apache/iotdb/db/query/udf/builtin/UDTFTan.java |   14 +-
 .../db/query/udf/builtin/UDTFTimeDifference.java}  |  110 +--
 .../iotdb/db/query/udf/builtin/UDTFTopK.java       |  103 ++
 .../db/query/udf/builtin/UDTFValueDifference.java} |  107 +-
 .../iotdb/db/query/udf/builtin/UDTFValueTrend.java |   73 ++
 .../iotdb/db/query/udf/core/access/RowImpl.java    |   23 +-
 .../db/query/udf/core/executor/UDTFExecutor.java   |   14 +-
 .../iotdb/db/query/udf/core/input/InputLayer.java  |  122 ++-
 .../iotdb/db/query/udf/core/input/SafetyLine.java  |   40 +-
 .../iotdb/db/query/udf/datastructure/Cache.java    |   99 ++
 .../primitive/ElasticSerializableIntList.java      |   25 +-
 .../row/ElasticSerializableRowRecordList.java      |   69 +-
 .../row/SerializableRowRecordList.java             |   98 +-
 .../tv/ElasticSerializableTVList.java              |   28 +-
 .../query/udf/service/UDFClassLoaderManager.java   |    9 +-
 .../query/udf/service/UDFRegistrationService.java  |   20 +-
 .../org/apache/iotdb/db/rescon/SystemInfo.java     |   28 +-
 .../java/org/apache/iotdb/db/service/IoTDB.java    |    5 +-
 .../apache/iotdb/db/service/RegisterManager.java   |   17 +-
 .../org/apache/iotdb/db/service/ServiceType.java   |    1 +
 .../org/apache/iotdb/db/service/TSServiceImpl.java |  997 ++++++++-----------
 .../org/apache/iotdb/db/service/UpgradeSevice.java |    3 -
 .../db/sync/receiver/load/FileLoaderManager.java   |    2 +-
 .../iotdb/db/sync/sender/transfer/SyncClient.java  |   41 +-
 .../apache/iotdb/db/tools/IoTDBDataDirViewer.java  |    4 +-
 .../iotdb/db/tools/TsFileResourcePrinter.java      |   11 +-
 .../apache/iotdb/db/tools/TsFileSketchTool.java    |   54 +-
 .../db/tools/upgrade/TsFileOnlineUpgradeTool.java  |  481 +++------
 .../db/tools/virtualsg/DeviceMappingViewer.java    |   61 ++
 .../db/tools/watermark/WatermarkDetector.java      |    2 +-
 .../org/apache/iotdb/db/utils/FileLoaderUtils.java |   12 +-
 .../org/apache/iotdb/db/utils/FilePathUtils.java   |   13 +
 .../java/org/apache/iotdb/db/utils/MmapUtil.java   |   19 +-
 .../java/org/apache/iotdb/db/utils/QueryUtils.java |   14 +-
 .../org/apache/iotdb/db/utils/SchemaUtils.java     |    5 +-
 .../apache/iotdb/db/utils/TypeInferenceUtils.java  |    3 +
 .../org/apache/iotdb/db/utils/UpgradeUtils.java    |  120 ++-
 .../iotdb/db/utils/datastructure/TimeSelector.java |  155 +++
 .../writelog/manager/MultiFileLogNodeManager.java  |   27 +-
 .../db/writelog/manager/WriteLogNodeManager.java   |    7 +-
 .../db/writelog/node/ExclusiveWriteLogNode.java    |   18 +-
 .../iotdb/db/writelog/node/WriteLogNode.java       |    8 +-
 .../iotdb/db/writelog/recover/LogReplayer.java     |   26 +-
 .../writelog/recover/TsFileRecoverPerformer.java   |   29 +-
 .../db/engine/cache/ChunkMetadataCacheTest.java    |    2 +-
 .../compaction/LevelCompactionRecoverTest.java     |   10 +-
 .../db/engine/memtable/PrimitiveMemTableTest.java  |    4 +-
 .../engine/merge/MaxFileMergeFileSelectorTest.java |    4 +-
 .../merge/MaxSeriesMergeFileSelectorTest.java      |    8 +-
 .../apache/iotdb/db/engine/merge/MergeLogTest.java |    1 +
 .../iotdb/db/engine/merge/MergeOverLapTest.java    |    1 -
 .../iotdb/db/engine/merge/MergeTaskTest.java       |    3 +-
 .../apache/iotdb/db/engine/merge/MergeTest.java    |    3 +
 .../engine/modification/DeletionFileNodeTest.java  |   27 +-
 .../storagegroup/StorageGroupProcessorTest.java    |   15 +-
 .../iotdb/db/engine/storagegroup/TTLTest.java      |   34 +-
 .../engine/storagegroup/TsFileProcessorTest.java   |   24 +-
 .../virtualSg/HashVirtualPartitionerTest.java      |   64 ++
 .../iotdb/db/integration/IOTDBGroupByIT.java       |    1 -
 .../iotdb/db/integration/IoTDBClearCacheIT.java    |    2 +-
 .../iotdb/db/integration/IoTDBCompleteIT.java      |    5 +
 .../iotdb/db/integration/IoTDBDeletionIT.java      |   40 +
 .../iotdb/db/integration/IoTDBDisableAlignIT.java  |    6 +-
 .../apache/iotdb/db/integration/IoTDBFillIT.java   |    6 +
 .../db/integration/IoTDBFlushQueryMergeIT.java     |    2 +-
 .../integration/IoTDBGroupByFillWithRangeIT.java   |    3 -
 .../iotdb/db/integration/IoTDBInsertNaNIT.java     |   46 +-
 .../iotdb/db/integration/IoTDBKillQueryTest.java   |   84 ++
 .../apache/iotdb/db/integration/IoTDBLastIT.java   |    1 -
 .../db/integration/IoTDBLevelCompactionIT.java     |    4 -
 .../db/integration/IoTDBLoadExternalTsfileIT.java  |   53 +-
 .../iotdb/db/integration/IoTDBMergeTest.java       |    5 +
 .../iotdb/db/integration/IoTDBMultiDeviceIT.java   |  322 +++++++
 .../iotdb/db/integration/IoTDBMultiSeriesIT.java   |   26 +-
 .../db/integration/IoTDBNewTsFileCompactionIT.java | 1018 ++++++++++++++++++++
 .../db/integration/IoTDBQueryTimeoutTest.java      |  153 +++
 .../iotdb/db/integration/IoTDBRestartIT.java       |   16 +
 .../iotdb/db/integration/IoTDBSensorUpdateIT.java  |    3 -
 .../iotdb/db/integration/IoTDBSimpleQueryIT.java   |   52 +
 .../iotdb/db/integration/IoTDBUDFManagementIT.java |   31 +-
 .../integration/IoTDBUDTFAlignByTimeQueryIT.java   |   44 +
 .../db/integration/IoTDBUDTFBuiltinFunctionIT.java |  250 +++++
 .../db/integration/IoTDBUDTFHybridQueryIT.java     |    6 +-
 .../db/integration/IoTDBUDTFNonAlignQueryIT.java   |    2 +-
 .../aggregation/IoTDBAggregationIT.java            |   24 +-
 .../aggregation/IoTDBAggregationSmallDataIT.java   |    4 +-
 .../db/integration/auth/IoTDBAuthorizationIT.java  |   21 -
 .../org/apache/iotdb/db/metadata/MTreeTest.java    |   23 +
 .../iotdb/db/monitor/IoTDBStatMonitorTest.java     |  172 ++++
 .../java/org/apache/iotdb/db/qp/PlannerTest.java   |   59 +-
 .../qp/{plan => logical}/IndexLogicalPlanTest.java |    2 +-
 .../qp/{plan => logical}/LogicalPlanSmallTest.java |    3 +-
 .../qp/{plan => physical}/ConcatOptimizerTest.java |    3 +-
 .../IndexSubMatchingPhysicalPlanTest.java          |    3 +-
 .../IndexWholeMatchingPhysicalPlanTest.java        |    3 +-
 .../db/qp/physical/InsertTabletMultiPlanTest.java  |   99 ++
 .../iotdb/db/qp/physical/InsertTabletPlanTest.java |  105 ++
 .../db/qp/physical/PhysicalPlanSerializeTest.java  |  305 ++++++
 .../db/qp/{plan => physical}/PhysicalPlanTest.java |    6 +-
 .../qp/{plan => physical}/SerializationTest.java   |    3 +-
 .../db/qp/sql/DatetimeQueryDataSetUtilsTest.java   |  142 ---
 .../IoTDBsqlVisitorTest.java}                      |    4 +-
 .../db/qp/utils/DatetimeQueryDataSetUtilsTest.java |  190 ++++
 .../iotdb/db/query/control/TracingManagerTest.java |   15 +-
 .../iotdb/db/query/dataset/ListDataSetTest.java    |    2 +-
 .../db/query/reader/series/SeriesReaderTest.java   |   22 +-
 .../query/reader/series/SeriesReaderTestUtil.java  |    4 +-
 .../ElasticSerializableRowRecordListTest.java      |   61 +-
 .../iotdb/db/query/udf/datastructure/LRUCache.java |   59 ++
 .../db/query/udf/datastructure/LRUCacheTest.java   |  115 +++
 .../udf/datastructure/SerializableListTest.java    |    2 +
 .../SerializableRowRecordListTest.java             |   49 +-
 .../iotdb/db/query/udf/example/Accumulator.java    |   16 +-
 .../apache/iotdb/db/query/udf/example/Adder.java   |   19 +-
 .../apache/iotdb/db/query/udf/example/Counter.java |    8 +-
 .../org/apache/iotdb/db/query/udf/example/Max.java |   16 +-
 .../iotdb/db/query/udf/example/Multiplier.java     |   16 +-
 .../SlidingSizeWindowConstructorTester0.java       |    9 +-
 .../SlidingSizeWindowConstructorTester1.java       |   17 +-
 .../SlidingTimeWindowConstructionTester.java       |   17 +-
 .../db/query/udf/example/TerminateTester.java      |    8 +-
 .../{Multiplier.java => ValidateTester.java}       |  100 +-
 .../db/sync/receiver/load/FileLoaderTest.java      |   46 +-
 .../recover/SyncReceiverLogAnalyzerTest.java       |    6 +-
 .../org/apache/iotdb/db/tools/MLogParserTest.java  |   35 +-
 .../apache/iotdb/db/utils/EnvironmentUtils.java    |   13 +-
 .../apache/iotdb/db/utils/VersionUtilsTest.java    |   55 --
 .../db/utils/datastructure/PrecisionTest.java      |   22 +-
 .../db/utils/datastructure/TimeSelectorTest.java   |  217 +++++
 .../iotdb/db/writelog/IoTDBLogFileSizeTest.java    |   25 +-
 .../apache/iotdb/db/writelog/PerformanceTest.java  |   48 +-
 .../iotdb/db/writelog/WriteLogNodeManagerTest.java |   63 +-
 .../apache/iotdb/db/writelog/WriteLogNodeTest.java |   71 +-
 .../db/writelog/recover/DeviceStringTest.java      |    8 +-
 .../iotdb/db/writelog/recover/LogReplayerTest.java |   43 +-
 .../recover/RecoverResourceFromReaderTest.java     |   56 +-
 .../db/writelog/recover/SeqTsFileRecoverTest.java  |   57 +-
 .../writelog/recover/UnseqTsFileRecoverTest.java   |   36 +-
 server/src/test/resources/iotdb-engine.properties  |    2 +
 server/src/test/resources/logback.xml              |    1 +
 .../org/apache/iotdb/rpc/AutoResizingBuffer.java   |   15 +-
 .../iotdb/rpc/AutoScalingBufferReadTransport.java  |    9 +
 .../iotdb/rpc/AutoScalingBufferWriteTransport.java |    5 +-
 .../java/org/apache/iotdb/rpc/IoTDBRpcDataSet.java |    7 +-
 .../org/apache/iotdb/rpc/RpcTransportFactory.java  |   14 +-
 .../main/java/org/apache/iotdb/rpc/RpcUtils.java   |   15 +-
 .../rpc/TCompressedElasticFramedTransport.java     |   48 +-
 .../apache/iotdb/rpc/TElasticFramedTransport.java  |   45 +-
 .../java/org/apache/iotdb/rpc/TSStatusCode.java    |    1 +
 .../iotdb/rpc/TSnappyElasticFramedTransport.java   |    2 +-
 .../rpc/TimeoutChangeableTFastFramedTransport.java |   13 +-
 .../TimeoutChangeableTSnappyFramedTransport.java   |    2 +
 .../main/java/org/apache/iotdb/session/Config.java |   14 +-
 .../java/org/apache/iotdb/session/Session.java     |  176 +++-
 .../apache/iotdb/session/SessionConnection.java    |   32 +-
 .../org/apache/iotdb/session/SessionDataSet.java   |   11 +-
 .../org/apache/iotdb/session/pool/SessionPool.java |   77 ++
 .../iotdb/session/IoTDBSessionComplexIT.java       |    3 +-
 .../iotdb/session/IoTDBSessionIteratorIT.java      |   31 +-
 .../apache/iotdb/session/IoTDBSessionSimpleIT.java |  130 +++
 .../apache/iotdb/session/pool/SessionPoolTest.java |   33 +-
 site/src/main/.vuepress/config.js                  |    2 +
 .../apache/iotdb/spark/tsfile/HDFSInputTest.java   |    4 +-
 .../e2e/base/docker-compose.yaml                   |   54 +-
 test/e2e/cases/README.md                           |   53 +
 .../e2e/cases/cli/README.md                        |   12 +-
 .../e2e/cases/cli/cleanup.sh                       |   30 +-
 .../e2e/cases/cli/docker-compose.yaml              |   30 +-
 test/e2e/cases/cli/res/init.sql                    |   26 +
 .../e2e/cases/cli/run.sh                           |   45 +-
 thrift/rpc-changelist.md                           |   24 +
 thrift/src/main/thrift/cluster.thrift              |    7 +
 thrift/src/main/thrift/rpc.thrift                  |   15 +
 tsfile/format-changelist.md                        |    4 +-
 .../iotdb/tsfile/common/conf/TSFileConfig.java     |    6 +-
 .../iotdb/tsfile/encoding/decoder/Decoder.java     |    8 +-
 .../tsfile/encoding/decoder/FloatDecoder.java      |   11 +-
 .../tsfile/encoding/decoder/IntRleDecoder.java     |   11 +-
 .../tsfile/encoding/decoder/LongRleDecoder.java    |   11 +-
 .../tsfile/encoding/decoder/PlainDecoder.java      |   21 +-
 .../iotdb/tsfile/encoding/decoder/RleDecoder.java  |   15 +-
 .../tsfile/encoding/encoder/FloatEncoder.java      |    6 +-
 .../tsfile/encoding/encoder/IntRleEncoder.java     |    8 +-
 .../tsfile/encoding/encoder/LongRleEncoder.java    |    6 +-
 .../tsfile/encoding/encoder/PlainEncoder.java      |   57 +-
 .../iotdb/tsfile/encoding/encoder/RleEncoder.java  |   20 +-
 .../tsfile/encoding/encoder/TSEncodingBuilder.java |   13 +-
 .../write/UnSupportedDataTypeException.java        |    4 +-
 .../org/apache/iotdb/tsfile/file/MetaMarker.java   |   17 +-
 .../iotdb/tsfile/file/footer/ChunkGroupFooter.java |  156 ---
 .../iotdb/tsfile/file/header/ChunkGroupHeader.java |  117 +++
 .../iotdb/tsfile/file/header/ChunkHeader.java      |  151 +--
 .../iotdb/tsfile/file/header/PageHeader.java       |   54 +-
 .../iotdb/tsfile/file/header/package-info.java     |   30 -
 .../iotdb/tsfile/file/metadata/ChunkMetadata.java  |   35 +-
 .../file/metadata/MetadataIndexConstructor.java    |    5 +-
 .../tsfile/file/metadata/MetadataIndexEntry.java   |    4 +-
 .../tsfile/file/metadata/MetadataIndexNode.java    |   12 +-
 .../tsfile/file/metadata/TimeseriesMetadata.java   |   36 +-
 .../iotdb/tsfile/file/metadata/TsFileMetadata.java |   76 +-
 .../file/metadata/enums/CompressionType.java       |   64 +-
 .../file/metadata/enums/MetadataIndexNodeType.java |   57 +-
 .../tsfile/file/metadata/enums/TSDataType.java     |  113 +--
 .../tsfile/file/metadata/enums/TSEncoding.java     |   94 +-
 .../file/metadata/statistics/BinaryStatistics.java |   13 +-
 .../metadata/statistics/BooleanStatistics.java     |   48 +-
 .../file/metadata/statistics/DoubleStatistics.java |   23 +-
 .../file/metadata/statistics/FloatStatistics.java  |   23 +-
 .../metadata/statistics/IntegerStatistics.java     |   48 +-
 .../file/metadata/statistics/LongStatistics.java   |   31 +-
 .../file/metadata/statistics/Statistics.java       |   22 +-
 .../iotdb/tsfile/read/TsFileSequenceReader.java    |  525 ++++++----
 .../apache/iotdb/tsfile/read/common/BatchData.java |    2 +-
 .../org/apache/iotdb/tsfile/read/common/Chunk.java |   99 +-
 .../read/controller/CachedChunkLoaderImpl.java     |    3 +-
 .../iotdb/tsfile/read/reader/LocalTsFileInput.java |   20 +
 .../iotdb/tsfile/read/reader/TsFileInput.java      |    5 +
 .../tsfile/read/reader/chunk/ChunkReader.java      |  105 +-
 .../iotdb/tsfile/read/reader/page/PageReader.java  |   14 +-
 .../tsfile/utils/ReadWriteForEncodingUtils.java    |   96 +-
 .../iotdb/tsfile/utils/ReadWriteIOUtils.java       |  103 +-
 .../apache/iotdb/tsfile/utils/VersionUtils.java    |   49 -
 .../v1/file/metadata/ChunkGroupMetaDataV1.java     |  118 ---
 .../tsfile/v1/file/metadata/ChunkMetadataV1.java   |  131 ---
 .../v1/file/metadata/TimeseriesMetadataForV1.java  |   42 -
 .../v1/file/metadata/TsDeviceMetadataIndexV1.java  |   78 --
 .../v1/file/metadata/TsDeviceMetadataV1.java       |   87 --
 .../iotdb/tsfile/v1/file/metadata/TsDigestV1.java  |   75 --
 .../tsfile/v1/file/metadata/TsFileMetadataV1.java  |  106 --
 .../metadata/statistics/BinaryStatisticsV1.java    |   84 --
 .../metadata/statistics/BooleanStatisticsV1.java   |   80 --
 .../metadata/statistics/DoubleStatisticsV1.java    |   79 --
 .../metadata/statistics/FloatStatisticsV1.java     |   79 --
 .../metadata/statistics/IntegerStatisticsV1.java   |   79 --
 .../file/metadata/statistics/LongStatisticsV1.java |   80 --
 .../v1/file/metadata/statistics/StatisticsV1.java  |  225 -----
 .../iotdb/tsfile/v1/file/utils/HeaderUtils.java    |  141 ---
 .../tsfile/v1/read/TsFileSequenceReaderForV1.java  |  409 --------
 .../tsfile/v2/file/footer/ChunkGroupFooterV2.java  |   86 ++
 .../iotdb/tsfile/v2/file/header/ChunkHeaderV2.java |  108 +++
 .../iotdb/tsfile/v2/file/header/PageHeaderV2.java  |   51 +
 .../tsfile/v2/file/metadata/ChunkMetadataV2.java   |   52 +
 .../v2/file/metadata/MetadataIndexEntryV2.java     |   27 +-
 .../v2/file/metadata/MetadataIndexNodeV2.java      |   47 +
 .../v2/file/metadata/TimeseriesMetadataV2.java     |   42 +
 .../tsfile/v2/file/metadata/TsFileMetadataV2.java  |   75 ++
 .../v2/file/metadata/statistics/StatisticsV2.java  |  104 ++
 .../tsfile/v2/read/TsFileSequenceReaderForV2.java  |  581 +++++++++++
 .../tsfile/v2/read/reader/page/PageReaderV2.java   |   85 ++
 .../apache/iotdb/tsfile/write/TsFileWriter.java    |   20 +-
 .../iotdb/tsfile/write/chunk/ChunkWriterImpl.java  |   84 +-
 .../iotdb/tsfile/write/chunk/IChunkWriter.java     |   11 +-
 .../apache/iotdb/tsfile/write/page/PageWriter.java |   30 +-
 .../tsfile/write/schema/MeasurementSchema.java     |   38 +-
 .../write/writer/ForceAppendTsFileWriter.java      |    4 -
 .../tsfile/write/writer/LocalTsFileOutput.java     |    5 +
 .../write/writer/RestorableTsFileIOWriter.java     |    7 +-
 .../iotdb/tsfile/write/writer/TsFileIOWriter.java  |   77 +-
 .../iotdb/tsfile/write/writer/TsFileOutput.java    |    8 +
 .../tsfile/encoding/decoder/IntRleDecoderTest.java |   83 +-
 .../encoding/decoder/LongRleDecoderTest.java       |   17 +-
 .../iotdb/tsfile/file/header/PageHeaderTest.java   |    2 +-
 .../metadata/statistics/DoubleStatisticsTest.java  |   10 +-
 .../metadata/statistics/FloatStatisticsTest.java   |   11 +-
 .../metadata/statistics/IntegerStatisticsTest.java |   10 +-
 .../metadata/statistics/LongStatisticsTest.java    |   15 +-
 .../tsfile/file/metadata/utils/TestHelper.java     |    9 -
 .../iotdb/tsfile/file/metadata/utils/Utils.java    |   36 +-
 .../iotdb/tsfile/read/GetAllDevicesTest.java       |   14 +-
 .../org/apache/iotdb/tsfile/read/ReadTest.java     |   22 +-
 .../iotdb/tsfile/read/TimePlainEncodeReadTest.java |    5 -
 .../tsfile/read/TimeSeriesMetadataReadTest.java    |   87 ++
 .../tsfile/read/TsFileSequenceReaderTest.java      |   66 +-
 .../read/query/executor/QueryExecutorTest.java     |    1 -
 .../iotdb/tsfile/read/reader/PageReaderTest.java   |   54 +-
 .../apache/iotdb/tsfile/utils/FileGenerator.java   |   22 +-
 .../utils/ReadWriteForEncodingUtilsTest.java       |   54 ++
 .../tsfile/write/DefaultDeviceTemplateTest.java    |  110 +++
 .../iotdb/tsfile/write/TsFileIOWriterTest.java     |   26 +-
 .../iotdb/tsfile/write/TsFileWriterTest.java       |    1 -
 .../iotdb/tsfile/write/writer/PageWriterTest.java  |   54 +-
 .../write/writer/RestorableTsFileIOWriterTest.java |   30 +-
 zeppelin-interpreter/pom.xml                       |    2 +-
 .../apache/zeppelin/iotdb/IoTDBInterpreter.java    |  212 ++--
 .../zeppelin/iotdb/IoTDBInterpreterTest.java       |  108 ++-
 607 files changed, 19387 insertions(+), 9894 deletions(-)