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 2021/11/17 01:46:11 UTC

[iotdb] branch memoeryleak updated (cb8a06f -> f2dafbb)

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

xiangweiwei pushed a change to branch memoeryleak
in repository https://gitbox.apache.org/repos/asf/iotdb.git.


    from cb8a06f  Add cluster session manager to release query resource
     add a3c38e3  [IOTDB-1883] Extension of schema template to tree-structured (#4326)
     add 206412a  [IOTDB-1726] Correct the calculation of TimeSeriesMetadataCacheKey and ChunkMetadata (#4340)
     add 7e718f0  [IOTDB-1975] OOM caused by that MaxQueryDeduplicatedPathNum doesn't take effect (#4345)
     add 04b45b8  remove the root node in Template by a Map(#4351)
     add 9762677  [IOTDB-1986] Support `select UDF as alisa` clauses (#4354)
     add 87dc695  [IOTDB-1924]Remove the operation of clearing the cache after the compaction is over (#4315)
     add 1f992b4  Bump spring-boot.version from 1.5.15.RELEASE to 1.5.22.RELEASE (#4274)
     add 3711553  Bump javassist from 3.24.0-GA to 3.24.1-GA (#4269)
     add 7f936db  Bump copy-rename-maven-plugin from 1.0 to 1.0.1 (#4270)
     add c4b9c2b  [IOTDB-1859] IoTDB REST Data Service: Framework (#4280)
     add c8513e6  [IOTDB-1983] Fix DescReadWriteBatchData serializing bug (#4357)
     add 7c398bb  [IOTDB-1859] CI fails on coveralls caused by openapi generated files (#4364)
     add e085250  [IOTDB-1990] Fix uncheck null result by calling IReaderByTimestamp.getValuesInTimestamps() (#4358)
     add 480c0f3  [ISSUE-4314] [docs] fix the Url of 'Get started quickly' in the file ContributeGuide.md (#4368)
     add 16fb554  [IOTDB-1859] CI fails on coveralls caused by openapi generated files (#4370)
     add 973157a  Adapt serialization/deserialization in CreateTemplatePlan with former template structure (#4355)
     add 4c80522  [IOTDB-2003] add overwrite method with @Override (#4374)
     add 4f615ea  [IoTDB-1865]【Cluster】Compaction is blocking when removing old files  (#4365)
     add 1e43fc7  [IOTDB-2001] Remove redundant StorageGroupNotReadyException (#4377)
     add 7138664  Fix bug of descending aggregation query (#4373)
     add 8a0562a  [IOTDB-2004] change initial assignment of Long to uppercase L (#4376)
     add 1056a23  [IOTDB-2005] use braces with if, else, for, do and while statements (#4378)
     add c81d6bb  [IOTDB-1923] Separate the request unpacking and execution processing logic of TSServiceImpl (#4316)
     add 3f35a7e  [IOTDB-2008] Fix null result bug of peekNextNotNullValue (#4384)
     add da2e788  [IOTDB-2009] fix incorrect previous filling (#4386)
     add 5a7abfb  [IOTDB-1950] Add Bloom Filter cache for query (#4350)
     add 3a4fb77  [IOTDB-1859][Minor Fix] Fixed REST config read bug in Session IT && Added REST service user doc into the API module (#4389)
     add c06ed22  [IOTDB-1859] CI fails on coveralls caused by openapi generated files (#4392)
     add b3d9b26  Update last cache while doing show latest timeseries query (#4393)
     add 05830a0  Fix iotdb-engine.properties doesn't take effect bug (#4405)
     add 47695ad  Make the cluster setup example doc clear (#4407)
     add 60e92f9  New architecture of aligned timeseries (#4382)
     add 3fe9cf8  Update csv user guide (#4401)
     add 36a2c85  [IOTDB-2018] Query dataset memory leak on server caused by python client (#4403)
     add 88f19d7  [IOTDB-2015] [metric] micrometer jvmGcMetrics cannot get gc pause time and counter (#4398)
     add f2dafbb  Fix conflict with master

No new revisions were added by this update.

Summary of changes:
 .../main/java/org/apache/iotdb/tool/ImportCsv.java |  18 +-
 client-cpp/pom.xml                                 |   2 +-
 client-py/iotdb/Session.py                         |   1 +
 client-py/iotdb/utils/IoTDBRpcDataSet.py           |   4 +-
 client-py/iotdb/utils/SessionDataSet.py            |   2 +
 .../org/apache/iotdb/cluster/ClusterIoTDB.java     |   7 +-
 .../cluster/client/sync/SyncClientAdaptor.java     |   2 +-
 .../iotdb/cluster/coordinator/Coordinator.java     |   2 +-
 .../cluster/log/applier/AsyncDataLogApplier.java   |   4 +-
 .../iotdb/cluster/log/applier/BaseApplier.java     |  12 +-
 .../iotdb/cluster/log/applier/DataLogApplier.java  |   8 +-
 .../manage/FilePartitionedSnapshotLogManager.java  |   2 +-
 .../log/manage/MetaSingleSnapshotLogManager.java   |   2 +-
 .../log/manage/PartitionedSnapshotLogManager.java  |   2 +-
 .../iotdb/cluster/log/snapshot/FileSnapshot.java   |   2 +-
 .../cluster/log/snapshot/MetaSimpleSnapshot.java   |   2 +-
 .../apache/iotdb/cluster/metadata/CMManager.java   | 138 ++--
 .../apache/iotdb/cluster/metadata/MetaPuller.java  |   2 +-
 .../iotdb/cluster/partition/PartitionTable.java    |   2 +-
 .../cluster/query/ClusterDataQueryExecutor.java    |   4 +-
 .../cluster/query/ClusterPhysicalGenerator.java    |  16 +-
 .../iotdb/cluster/query/ClusterPlanExecutor.java   |   5 +-
 .../iotdb/cluster/query/ClusterPlanRouter.java     |  16 +-
 .../iotdb/cluster/query/ClusterQueryRouter.java    |  16 +-
 .../iotdb/cluster/query/LocalQueryExecutor.java    |  88 +--
 .../query/aggregate/ClusterAggregateExecutor.java  |   2 +-
 .../cluster/query/aggregate/ClusterAggregator.java |   2 +-
 .../cluster/query/fill/ClusterFillExecutor.java    |   7 +-
 .../cluster/query/fill/ClusterLinearFill.java      |   4 +-
 .../cluster/query/fill/ClusterPreviousFill.java    |  28 +-
 .../cluster/query/fill/PreviousFillArguments.java  |   2 +-
 ...ava => ClusterGroupByFillNoVFilterDataSet.java} |  28 +-
 .../groupby/ClusterGroupByNoVFilterDataSet.java    |   8 +-
 .../groupby/ClusterGroupByVFilterDataSet.java      |   6 +-
 .../query/groupby/MergeGroupByExecutor.java        |   2 +-
 .../query/groupby/RemoteGroupByExecutor.java       |   4 +-
 .../query/last/ClusterLastQueryExecutor.java       |   4 +-
 .../cluster/query/reader/ClusterReaderFactory.java |  15 +-
 .../cluster/query/reader/ClusterTimeGenerator.java |   2 +-
 .../iotdb/cluster/query/reader/DataSourceInfo.java |   5 +-
 .../query/reader/mult/MultDataSourceInfo.java      |   7 +-
 .../query/reader/mult/RemoteMultSeriesReader.java  |  10 +-
 .../handlers/caller/PreviousFillHandler.java       |  26 +-
 .../cluster/server/member/DataGroupMember.java     |   2 +-
 .../cluster/server/member/MetaGroupMember.java     |   2 +-
 .../iotdb/cluster/utils/ClusterQueryUtils.java     |  57 +-
 .../apache/iotdb/cluster/utils/ClusterUtils.java   |   2 +-
 .../apache/iotdb/cluster/utils/PartitionUtils.java |   6 +-
 .../cluster/utils/nodetool/ClusterMonitor.java     |   2 +-
 .../cluster/client/sync/SyncClientAdaptorTest.java |  18 +-
 .../org/apache/iotdb/cluster/common/IoTDBTest.java |  18 +-
 .../iotdb/cluster/common/TestLogApplier.java       |   2 +-
 .../org/apache/iotdb/cluster/common/TestUtils.java |  10 +-
 .../apache/iotdb/cluster/log/LogParserTest.java    |   2 +-
 .../log/applier/AsyncDataLogApplierTest.java       |   2 +-
 .../cluster/log/applier/DataLogApplierTest.java    |  12 +-
 .../cluster/log/applier/MetaLogApplierTest.java    |   2 +-
 .../cluster/log/logtypes/SerializeLogTest.java     |   4 +-
 .../FilePartitionedSnapshotLogManagerTest.java     |   2 +-
 .../manage/MetaSingleSnapshotLogManagerTest.java   |   2 +-
 .../cluster/log/snapshot/DataSnapshotTest.java     |   2 +-
 .../cluster/log/snapshot/FileSnapshotTest.java     |   2 +-
 .../log/snapshot/MetaSimpleSnapshotTest.java       |   2 +-
 .../log/snapshot/PartitionedSnapshotTest.java      |   2 +-
 .../cluster/log/snapshot/PullSnapshotTaskTest.java |   2 +-
 .../cluster/partition/SlotPartitionTableTest.java  |   2 +-
 .../apache/iotdb/cluster/query/BaseQueryTest.java  |   9 +-
 .../query/ClusterAggregateExecutorTest.java        |  49 +-
 .../query/ClusterDataQueryExecutorTest.java        |   7 +-
 .../query/ClusterPhysicalGeneratorTest.java        |   3 +-
 .../cluster/query/ClusterPlanExecutorTest.java     |   8 +-
 .../iotdb/cluster/query/ClusterPlannerTest.java    |   1 -
 .../cluster/query/ClusterQueryRouterTest.java      |  54 +-
 .../query/fill/ClusterFillExecutorTest.java        |  17 +-
 .../ClusterGroupByNoVFilterDataSetTest.java        |  11 +-
 .../groupby/ClusterGroupByVFilterDataSetTest.java  |  17 +-
 .../query/groupby/MergeGroupByExecutorTest.java    |   7 +-
 .../query/groupby/RemoteGroupByExecutorTest.java   |   7 +-
 .../query/reader/ClusterReaderFactoryTest.java     |  11 +-
 .../query/reader/ClusterTimeGeneratorTest.java     |   9 +-
 .../mult/AssignPathManagedMergeReaderTest.java     |   2 +-
 .../reader/mult/RemoteMultSeriesReaderTest.java    |   2 +-
 .../clusterinfo/ClusterInfoServiceImplTest.java    |   2 +-
 .../handlers/forwarder/ForwardPlanHandlerTest.java |   2 +-
 .../iotdb/cluster/server/member/BaseMember.java    |   2 +-
 .../cluster/server/member/DataGroupMemberTest.java |  23 +-
 .../cluster/server/member/MetaGroupMemberTest.java |  15 +-
 .../cluster/utils/CreateTemplatePlanUtil.java      |   7 +-
 .../iotdb/cluster/utils/SerializeUtilTest.java     |   2 +-
 compile-tools/thrift/pom.xml                       |   2 +-
 docs/Development/ContributeGuide.md                |   2 +-
 docs/UserGuide/API/Programming-Java-Native-API.md  | 133 +++-
 docs/UserGuide/Advanced-Features/Triggers.md       |   2 +-
 docs/UserGuide/Cluster/Cluster-Setup-Example.md    |  73 +-
 docs/UserGuide/System-Tools/CSV-Tool.md            |  10 +-
 .../UserGuide/API/Programming-Java-Native-API.md   | 130 +++-
 docs/zh/UserGuide/Advanced-Features/Triggers.md    |   2 +-
 docs/zh/UserGuide/Cluster/Cluster-Setup-Example.md |  72 +-
 .../Communication-Service-Protocol/RestService.md  | 268 ++++++++
 docs/zh/UserGuide/System-Tools/CSV-Tool.md         |  69 +-
 example/client-cpp-example/pom.xml                 |   2 +-
 .../iotdb/hadoop/tsfile/TSMRWriteExample.java      |   6 +-
 .../apache/iotdb/hadoop/tsfile/TsFileHelper.java   |   8 +-
 .../iotdb/hadoop/tsfile/TsFileWriteToHDFS.java     |   6 +-
 .../iotdb/AlignedTimeseriesSessionExample.java     | 183 +++--
 .../iotdb/HybridTimeseriesSessionExample.java      |  11 +-
 .../org/apache/iotdb/SessionConcurrentExample.java |   4 +-
 .../main/java/org/apache/iotdb/SessionExample.java |   4 +-
 .../org/apache/iotdb/trigger/TriggerExample.java   |   2 +-
 .../iotdb/tsfile/TsFileForceAppendWrite.java       |  12 +-
 .../apache/iotdb/tsfile/TsFileSequenceRead.java    |  85 ++-
 .../tsfile/TsFileWriteAlignedWithTSRecord.java     |  89 +++
 .../iotdb/tsfile/TsFileWriteAlignedWithTablet.java | 141 ++++
 .../iotdb/tsfile/TsFileWriteVectorWithTablet.java  | 118 ----
 .../iotdb/tsfile/TsFileWriteWithTSRecord.java      |  66 +-
 .../apache/iotdb/tsfile/TsFileWriteWithTablet.java | 106 ++-
 grafana/pom.xml                                    |   4 +-
 .../iotdb/hadoop/tsfile/TsFileTestHelper.java      |   2 +-
 .../org/apache/iotdb/hive/TSFHiveRecordWriter.java |   3 +-
 .../org/apache/iotdb/hive/TsFileTestHelper.java    |   2 +-
 .../iotdb/jdbc/AbstractIoTDBJDBCResultSet.java     |   4 +-
 .../apache/iotdb/jdbc/IoTDBDatabaseMetadata.java   |  18 +-
 .../java/org/apache/iotdb/jdbc/StringUtils.java    |  19 +-
 .../micrometer/MicrometerMetricManager.java        |   9 +-
 openapi/pom.xml                                    | 124 ++++
 openapi/src/main/openapi3/iotdb-rest.yaml          | 167 +++++
 pom.xml                                            |  11 +-
 server/pom.xml                                     |   7 +
 .../resources/conf/iotdb-engine.properties         |  10 +-
 .../assembly/resources/conf/iotdb-rest.properties  |  55 ++
 .../org/apache/iotdb/db/auth/AuthorityChecker.java |   7 +-
 .../WrappedSingleThreadScheduledExecutor.java      |  17 +
 .../java/org/apache/iotdb/db/conf/IoTDBConfig.java |  17 +-
 .../org/apache/iotdb/db/conf/IoTDBConstant.java    |   1 +
 .../org/apache/iotdb/db/conf/IoTDBDescriptor.java  |  17 +-
 .../iotdb/db/conf/rest/IoTDBRestServiceCheck.java  |  65 ++
 .../iotdb/db/conf/rest/IoTDBRestServiceConfig.java | 143 ++++
 .../db/conf/rest/IoTDBRestServiceDescriptor.java   | 162 +++++
 .../apache/iotdb/db/cq/ContinuousQueryTask.java    |   2 +-
 .../org/apache/iotdb/db/engine/StorageEngine.java  |  30 +-
 .../iotdb/db/engine/cache/BloomFilterCache.java    | 188 ++++++
 .../db/engine/cache/CacheHitRatioMonitor.java      |  25 +
 .../engine/cache/CacheHitRatioMonitorMXBean.java   |  10 +
 .../db/engine/cache/TimeSeriesMetadataCache.java   | 191 +-----
 .../AbstractCrossSpaceCompactionSelector.java      |   1 +
 .../cross/inplace/InplaceCompactionTask.java       |   7 -
 .../inplace/manage/CrossSpaceMergeContext.java     |   2 +-
 .../inplace/manage/CrossSpaceMergeResource.java    |   7 +-
 .../cross/inplace/recover/LogAnalyzer.java         |   7 +-
 .../cross/inplace/recover/MergeLogger.java         |   2 +-
 .../cross/inplace/selector/IMergePathSelector.java |   2 +-
 .../cross/inplace/selector/NaivePathSelector.java  |   2 +-
 .../cross/inplace/task/CrossSpaceMergeTask.java    |   2 +-
 .../cross/inplace/task/MergeFileTask.java          |  10 +-
 .../cross/inplace/task/MergeMultiChunkTask.java    |  14 +-
 .../cross/inplace/task/RecoverCrossMergeTask.java  |   2 +-
 .../AbstractInnerSpaceCompactionSelector.java      |   1 +
 .../SizeTieredCompactionRecoverTask.java           |   1 +
 .../inner/utils/InnerSpaceCompactionUtils.java     |  11 +-
 .../compaction/task/AbstractCompactionTask.java    |   1 +
 .../apache/iotdb/db/engine/flush/FlushManager.java |   1 +
 .../iotdb/db/engine/flush/MemTableFlushTask.java   | 150 +----
 .../iotdb/db/engine/flush/NotifyFlushMemTable.java |   5 +
 .../iotdb/db/engine/memtable/AbstractMemTable.java | 280 ++++----
 .../engine/memtable/AlignedWritableMemChunk.java   | 313 +++++++++
 .../apache/iotdb/db/engine/memtable/IMemTable.java |  18 +-
 .../db/engine/memtable/IWritableMemChunk.java      |  31 +-
 .../db/engine/memtable/PrimitiveMemTable.java      |  15 +-
 .../iotdb/db/engine/memtable/WritableMemChunk.java | 132 +++-
 .../iotdb/db/engine/modification/Deletion.java     |   2 +-
 .../iotdb/db/engine/modification/Modification.java |   2 +-
 .../io/LocalTextModificationAccessor.java          |   6 +-
 .../modification/utils/TracedBufferedReader.java   |  79 ++-
 .../querycontext/AlignedReadOnlyMemChunk.java      | 165 +++++
 .../db/engine/querycontext/ReadOnlyMemChunk.java   | 147 +---
 .../selectinto/InsertTabletPlanGenerator.java      |   2 +-
 .../selectinto/InsertTabletPlansIterator.java      |   2 +-
 .../engine/storagegroup/StorageGroupProcessor.java | 109 +--
 .../db/engine/storagegroup/TsFileProcessor.java    | 298 +++++----
 .../db/engine/storagegroup/TsFileResource.java     | 127 +---
 .../virtualSg/HashVirtualPartitioner.java          |   2 +-
 .../storagegroup/virtualSg/VirtualPartitioner.java |   2 +-
 .../virtualSg/VirtualStorageGroupManager.java      |   2 +-
 .../service/TriggerRegistrationInformation.java    |   2 +-
 .../service/TriggerRegistrationService.java        |   2 +-
 .../sink/local/LocalIoTDBConfiguration.java        |   2 +-
 .../trigger/sink/local/LocalIoTDBHandler.java      |   6 +-
 .../trigger/sink/mqtt/MQTTConfiguration.java       |   2 +-
 .../exception/query/PathNumOverLimitException.java |   6 +-
 .../org/apache/iotdb/db/metadata/MManager.java     | 503 ++++++--------
 .../iotdb/db/metadata/VectorPartialPath.java       | 122 ----
 .../db/metadata/lastCache/LastCacheManager.java    | 136 +---
 .../lastCache/container/ILastCacheContainer.java   |  13 -
 .../lastCache/container/LastCacheContainer.java    |  52 +-
 .../lastCache/container/value/ILastCacheValue.java |  12 -
 .../{ILastCacheValue.java => LastCacheValue.java}  |  38 +-
 .../container/value/UnaryLastCacheValue.java       | 106 ---
 .../container/value/VectorLastCacheValue.java      |  86 ---
 .../iotdb/db/metadata/logfile/MLogTxtWriter.java   |  65 +-
 .../iotdb/db/metadata/logfile/MLogUpgrader.java    |   2 +-
 .../iotdb/db/metadata/logfile/MLogWriter.java      |  12 +-
 .../db/metadata/logfile/MetadataOperationType.java |   2 +
 .../iotdb/db/metadata/mnode/EntityMNode.java       |  12 +
 .../iotdb/db/metadata/mnode/IEntityMNode.java      |   5 +
 .../org/apache/iotdb/db/metadata/mnode/IMNode.java |   2 +-
 .../iotdb/db/metadata/mnode/IMeasurementMNode.java |  13 +-
 .../iotdb/db/metadata/mnode/InternalMNode.java     |   1 +
 .../org/apache/iotdb/db/metadata/mnode/MNode.java  |   2 +-
 .../iotdb/db/metadata/mnode/MeasurementMNode.java  |  69 +-
 .../db/metadata/mnode/MultiMeasurementMNode.java   |  65 --
 .../db/metadata/mnode/UnaryMeasurementMNode.java   |  63 --
 .../org/apache/iotdb/db/metadata/mtree/MTree.java  | 396 ++++++-----
 .../mtree/traverser/PathGrouperByStorageGroup.java | 103 ---
 .../db/metadata/mtree/traverser/Traverser.java     |   2 +-
 .../collector/BelongedEntityPathCollector.java     |  83 ---
 .../traverser/collector/CollectorTraverser.java    |   8 +-
 ...tityPathCollector.java => EntityCollector.java} |  26 +-
 .../collector/FlatMeasurementCollector.java        | 138 ----
 .../collector/FlatMeasurementPathCollector.java    |  60 --
 .../collector/FlatMeasurementSchemaCollector.java  | 117 ----
 .../mtree/traverser/collector/MNodeCollector.java  |   2 +-
 .../traverser/collector/MeasurementCollector.java  |  23 +-
 ...thCollector.java => StorageGroupCollector.java} |  19 +-
 .../mtree/traverser/counter/CounterTraverser.java  |   2 +-
 .../mtree/traverser/counter/EntityCounter.java     |   2 +-
 .../traverser/counter/FlatMeasurementCounter.java  |  78 ---
 .../mtree/traverser/counter/MNodeLevelCounter.java |   2 +-
 .../traverser/counter/MeasurementCounter.java      |   2 +-
 .../traverser/counter/StorageGroupCounter.java     |   2 +-
 .../apache/iotdb/db/metadata/path/AlignedPath.java | 396 +++++++++++
 .../iotdb/db/metadata/path/MeasurementPath.java    | 296 ++++++++
 .../iotdb/db/metadata/{ => path}/PartialPath.java  | 117 +++-
 .../apache/iotdb/db/metadata/tag/TagManager.java   |   2 +-
 .../iotdb/db/metadata/template/Template.java       | 505 ++++++++++++--
 .../db/metadata/template/TemplateManager.java      |  64 +-
 .../template/TemplateQueryType.java}               |  21 +-
 .../iotdb/db/metadata/utils/MetaFormatUtils.java   |   2 +-
 .../apache/iotdb/db/metadata/utils/MetaUtils.java  |  36 +-
 .../org/apache/iotdb/db/monitor/StatMonitor.java   |  32 +-
 .../org/apache/iotdb/db/mqtt/PublishHandler.java   |   4 +-
 .../apache/iotdb/db/qp/constant/SQLConstant.java   |   2 +-
 .../apache/iotdb/db/qp/executor/IPlanExecutor.java |   2 +-
 .../apache/iotdb/db/qp/executor/PlanExecutor.java  |  62 +-
 .../org/apache/iotdb/db/qp/logical/Operator.java   |   4 +-
 .../qp/logical/crud/AggregationQueryOperator.java  |   2 +-
 .../db/qp/logical/crud/BasicFunctionOperator.java  |   6 +-
 .../db/qp/logical/crud/DeleteDataOperator.java     |   2 +-
 .../iotdb/db/qp/logical/crud/FilterOperator.java   |   7 +-
 .../iotdb/db/qp/logical/crud/FromComponent.java    |   2 +-
 .../iotdb/db/qp/logical/crud/FunctionOperator.java |   3 +-
 .../iotdb/db/qp/logical/crud/InOperator.java       |   8 +-
 .../iotdb/db/qp/logical/crud/InsertOperator.java   |   2 +-
 .../iotdb/db/qp/logical/crud/LikeOperator.java     |  17 +-
 .../iotdb/db/qp/logical/crud/QueryOperator.java    |  83 ++-
 .../iotdb/db/qp/logical/crud/RegexpOperator.java   |  17 +-
 .../iotdb/db/qp/logical/crud/SelectComponent.java  |   2 +-
 .../db/qp/logical/crud/SelectIntoOperator.java     |   2 +-
 .../db/qp/logical/sys/AlterTimeSeriesOperator.java |   2 +-
 .../iotdb/db/qp/logical/sys/AuthorOperator.java    |   2 +-
 .../iotdb/db/qp/logical/sys/CountOperator.java     |   2 +-
 .../logical/sys/CreateContinuousQueryOperator.java |   2 +-
 .../db/qp/logical/sys/CreateIndexOperator.java     |   2 +-
 .../qp/logical/sys/CreateTimeSeriesOperator.java   |   2 +-
 .../db/qp/logical/sys/CreateTriggerOperator.java   |   2 +-
 .../db/qp/logical/sys/DeletePartitionOperator.java |   2 +-
 .../qp/logical/sys/DeleteStorageGroupOperator.java |   2 +-
 .../qp/logical/sys/DeleteTimeSeriesOperator.java   |   2 +-
 .../iotdb/db/qp/logical/sys/DropIndexOperator.java |   2 +-
 .../iotdb/db/qp/logical/sys/FlushOperator.java     |   2 +-
 .../db/qp/logical/sys/SetStorageGroupOperator.java |   2 +-
 .../iotdb/db/qp/logical/sys/SetTTLOperator.java    |   2 +-
 .../iotdb/db/qp/logical/sys/SettleOperator.java    |   2 +-
 .../db/qp/logical/sys/ShowChildNodesOperator.java  |   2 +-
 .../db/qp/logical/sys/ShowChildPathsOperator.java  |   2 +-
 .../db/qp/logical/sys/ShowDevicesOperator.java     |   2 +-
 .../db/qp/logical/sys/ShowLockInfoOperator.java    |   2 +-
 .../qp/logical/sys/ShowStorageGroupOperator.java   |   2 +-
 .../iotdb/db/qp/logical/sys/ShowTTLOperator.java   |   2 +-
 .../db/qp/logical/sys/ShowTimeSeriesOperator.java  |   2 +-
 .../iotdb/db/qp/logical/sys/UnSetTTLOperator.java  |   2 +-
 .../org/apache/iotdb/db/qp/physical/BatchPlan.java |   2 +-
 .../apache/iotdb/db/qp/physical/PhysicalPlan.java  |  18 +-
 .../iotdb/db/qp/physical/crud/AggregationPlan.java |   6 +-
 .../db/qp/physical/crud/AlignByDevicePlan.java     |  13 +-
 .../db/qp/physical/crud/AppendTemplatePlan.java    | 218 ++++++
 .../db/qp/physical/crud/CreateTemplatePlan.java    | 435 +++++++++---
 .../db/qp/physical/crud/DeletePartitionPlan.java   |   2 +-
 .../iotdb/db/qp/physical/crud/DeletePlan.java      |   2 +-
 .../db/qp/physical/crud/InsertMultiTabletPlan.java |   8 +-
 .../iotdb/db/qp/physical/crud/InsertPlan.java      |  29 +-
 .../iotdb/db/qp/physical/crud/InsertRowPlan.java   |  46 +-
 .../physical/crud/InsertRowsOfOneDevicePlan.java   |  21 +-
 .../iotdb/db/qp/physical/crud/InsertRowsPlan.java  |   7 +-
 .../db/qp/physical/crud/InsertTabletPlan.java      |  30 +-
 .../iotdb/db/qp/physical/crud/LastQueryPlan.java   |   1 -
 ...emaTemplatePlan.java => PruneTemplatePlan.java} |  75 ++-
 .../iotdb/db/qp/physical/crud/QueryPlan.java       |  28 +-
 .../db/qp/physical/crud/RawDataQueryPlan.java      |  53 +-
 .../iotdb/db/qp/physical/crud/SelectIntoPlan.java  |   5 +-
 .../db/qp/physical/crud/SetSchemaTemplatePlan.java |   2 +-
 .../apache/iotdb/db/qp/physical/crud/UDTFPlan.java |  18 +-
 .../qp/physical/crud/UnsetSchemaTemplatePlan.java  |   2 +-
 .../db/qp/physical/sys/AlterTimeSeriesPlan.java    |   2 +-
 .../iotdb/db/qp/physical/sys/AuthorPlan.java       |   2 +-
 .../qp/physical/sys/AutoCreateDeviceMNodePlan.java |   2 +-
 .../iotdb/db/qp/physical/sys/ChangeAliasPlan.java  |   2 +-
 .../db/qp/physical/sys/ChangeTagOffsetPlan.java    |   2 +-
 .../iotdb/db/qp/physical/sys/ClearCachePlan.java   |   2 +-
 .../apache/iotdb/db/qp/physical/sys/CountPlan.java |   2 +-
 .../physical/sys/CreateAlignedTimeSeriesPlan.java  |   2 +-
 .../qp/physical/sys/CreateContinuousQueryPlan.java |   2 +-
 .../db/qp/physical/sys/CreateFunctionPlan.java     |   2 +-
 .../iotdb/db/qp/physical/sys/CreateIndexPlan.java  |   2 +-
 .../qp/physical/sys/CreateMultiTimeSeriesPlan.java |   3 +-
 .../db/qp/physical/sys/CreateSnapshotPlan.java     |   2 +-
 .../db/qp/physical/sys/CreateTimeSeriesPlan.java   |   2 +-
 .../db/qp/physical/sys/CreateTriggerPlan.java      |   2 +-
 .../iotdb/db/qp/physical/sys/DataAuthPlan.java     |   2 +-
 .../db/qp/physical/sys/DeleteStorageGroupPlan.java |   2 +-
 .../db/qp/physical/sys/DeleteTimeSeriesPlan.java   |   2 +-
 .../qp/physical/sys/DropContinuousQueryPlan.java   |   2 +-
 .../iotdb/db/qp/physical/sys/DropFunctionPlan.java |   2 +-
 .../iotdb/db/qp/physical/sys/DropIndexPlan.java    |   2 +-
 .../iotdb/db/qp/physical/sys/DropTriggerPlan.java  |   2 +-
 .../apache/iotdb/db/qp/physical/sys/FlushPlan.java |   2 +-
 .../iotdb/db/qp/physical/sys/KillQueryPlan.java    |   2 +-
 .../db/qp/physical/sys/LoadConfigurationPlan.java  |   2 +-
 .../iotdb/db/qp/physical/sys/LoadDataPlan.java     |   2 +-
 .../apache/iotdb/db/qp/physical/sys/LogPlan.java   |   2 +-
 .../apache/iotdb/db/qp/physical/sys/MNodePlan.java |   2 +-
 .../db/qp/physical/sys/MeasurementMNodePlan.java   |   2 +-
 .../apache/iotdb/db/qp/physical/sys/MergePlan.java |   2 +-
 .../iotdb/db/qp/physical/sys/OperateFilePlan.java  |   2 +-
 .../db/qp/physical/sys/SetStorageGroupPlan.java    |   2 +-
 .../db/qp/physical/sys/SetSystemModePlan.java      |   2 +-
 .../iotdb/db/qp/physical/sys/SetTTLPlan.java       |   2 +-
 .../physical/sys/SetUsingSchemaTemplatePlan.java   |   2 +-
 .../iotdb/db/qp/physical/sys/SettlePlan.java       |   2 +-
 .../db/qp/physical/sys/ShowChildNodesPlan.java     |   2 +-
 .../db/qp/physical/sys/ShowChildPathsPlan.java     |   2 +-
 .../iotdb/db/qp/physical/sys/ShowDevicesPlan.java  |   2 +-
 .../iotdb/db/qp/physical/sys/ShowLockInfoPlan.java |   2 +-
 .../apache/iotdb/db/qp/physical/sys/ShowPlan.java  |   2 +-
 .../db/qp/physical/sys/ShowStorageGroupPlan.java   |   2 +-
 .../iotdb/db/qp/physical/sys/ShowTTLPlan.java      |   2 +-
 .../db/qp/physical/sys/ShowTimeSeriesPlan.java     |   2 +-
 .../iotdb/db/qp/physical/sys/StartTriggerPlan.java |   2 +-
 .../iotdb/db/qp/physical/sys/StopTriggerPlan.java  |   2 +-
 .../db/qp/physical/sys/StorageGroupMNodePlan.java  |   2 +-
 .../iotdb/db/qp/physical/sys/TracingPlan.java      |   2 +-
 .../apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java    |   2 +-
 .../iotdb/db/qp/strategy/LogicalGenerator.java     |   2 +-
 .../iotdb/db/qp/strategy/PhysicalGenerator.java    |  12 +-
 .../qp/strategy/optimizer/ConcatPathOptimizer.java |  21 +-
 .../optimizer/MergeSingleFilterOptimizer.java      |   2 +-
 .../qp/strategy/optimizer/RemoveNotOptimizer.java  |   2 +-
 .../iotdb/db/qp/utils/EmptyOutputStream.java       |   1 +
 .../iotdb/db/qp/utils/GroupByLevelController.java  |   4 +-
 .../apache/iotdb/db/qp/utils/WildcardsRemover.java |  27 +-
 .../db/query/aggregation/AggregateResult.java      |  10 +-
 .../aggregation/impl/FirstValueAggrResult.java     |   8 +-
 .../aggregation/impl/FirstValueDescAggrResult.java |   5 +
 .../iotdb/db/query/context/QueryContext.java       |  21 +-
 .../iotdb/db/query/control/QueryFileManager.java   |  38 +-
 .../db/query/control/QueryResourceManager.java     |  11 +-
 .../db/query/control/SessionTimeoutManager.java    |   6 +-
 .../db/query/dataset/AlignByDeviceDataSet.java     |  71 +-
 .../apache/iotdb/db/query/dataset/ListDataSet.java |   2 +-
 .../db/query/dataset/NonAlignEngineDataSet.java    |   2 +-
 .../dataset/RawQueryDataSetWithValueFilter.java    |  19 +-
 .../dataset/RawQueryDataSetWithoutValueFilter.java |  16 +-
 .../query/dataset/ShowContinuousQueriesResult.java |   2 +-
 .../iotdb/db/query/dataset/ShowDevicesDataSet.java |   2 +-
 .../db/query/dataset/ShowTimeseriesDataSet.java    |   2 +-
 .../iotdb/db/query/dataset/SingleDataSet.java      |   6 +-
 .../apache/iotdb/db/query/dataset/UDTFDataSet.java |   2 +-
 .../GroupByFillWithoutValueFilterDataSet.java      |   7 +-
 .../query/dataset/groupby/GroupByLevelDataSet.java |   6 +-
 .../groupby/GroupByWithValueFilterDataSet.java     |  10 +-
 .../groupby/GroupByWithoutValueFilterDataSet.java  |   7 +-
 .../dataset/groupby/LocalGroupByExecutor.java      |   2 +-
 .../db/query/executor/AggregationExecutor.java     |  33 +-
 .../iotdb/db/query/executor/FillQueryExecutor.java |   5 +-
 .../iotdb/db/query/executor/LastQueryExecutor.java |  57 +-
 .../iotdb/db/query/executor/QueryRouter.java       |  24 +-
 .../db/query/executor/RawDataQueryExecutor.java    |   8 +-
 .../executor/fill/AlignedLastPointReader.java      |  58 ++
 .../apache/iotdb/db/query/executor/fill/IFill.java |   5 +-
 .../db/query/executor/fill/LastPointReader.java    |  55 +-
 .../iotdb/db/query/executor/fill/LinearFill.java   |   2 +-
 .../iotdb/db/query/executor/fill/PreviousFill.java |   5 +-
 .../iotdb/db/query/executor/fill/ValueFill.java    |   2 +-
 .../iotdb/db/query/expression/Expression.java      |   2 +-
 .../iotdb/db/query/expression/ResultColumn.java    |   2 +-
 .../query/expression/binary/BinaryExpression.java  |   2 +-
 .../db/query/expression/unary/ConstantOperand.java |   2 +-
 .../query/expression/unary/FunctionExpression.java |   2 +-
 .../query/expression/unary/NegationExpression.java |   2 +-
 .../query/expression/unary/TimeSeriesOperand.java  |   7 +-
 .../query/reader/chunk/DiskAlignedChunkLoader.java |  67 ++
 .../db/query/reader/chunk/DiskChunkLoader.java     |  12 +
 .../db/query/reader/chunk/MemChunkLoader.java      |   8 +-
 .../iotdb/db/query/reader/chunk/MemPageReader.java |  10 +-
 ...er.java => DiskAlignedChunkMetadataLoader.java} |  86 +--
 .../chunk/metadata/DiskChunkMetadataLoader.java    |  68 +-
 ...der.java => MemAlignedChunkMetadataLoader.java} |  36 +-
 .../chunk/metadata/MemChunkMetadataLoader.java     |  31 +-
 .../query/reader/series/AlignedSeriesReader.java   |  95 +++
 .../query/reader/series/SeriesAggregateReader.java |   5 +-
 .../reader/series/SeriesRawDataBatchReader.java    |   8 +-
 .../iotdb/db/query/reader/series/SeriesReader.java |  43 +-
 .../reader/series/SeriesReaderByTimestamp.java     |  18 +-
 .../reader/series/VectorSeriesAggregateReader.java |   8 +-
 .../query/timegenerator/ServerTimeGenerator.java   |  29 +-
 .../api/customizer/parameter/UDFParameters.java    |   2 +-
 .../iotdb/db/query/udf/builtin/UDTFCast.java       |   2 +-
 .../query/udf/core/layer/RawQueryInputLayer.java   |   2 +-
 .../apache/iotdb/db/rescon/TVListAllocator.java    |  19 +-
 .../java/org/apache/iotdb/db/rest/RestService.java | 156 +++++
 .../iotdb/db/rest/filter/ApiOriginFilter.java      |  45 ++
 .../iotdb/db/rest/filter/AuthorizationFilter.java  | 125 ++++
 .../iotdb/db/rest/filter/BasicSecurityContext.java |  56 ++
 .../java/org/apache/iotdb/db/rest/filter/User.java |  38 ++
 .../org/apache/iotdb/db/rest/filter/UserCache.java |  56 ++
 .../db/rest/handler/AuthorizationHandler.java      |  52 ++
 .../iotdb/db/rest/handler/ExceptionHandler.java    |  69 ++
 .../handler/PhysicalPlanConstructionHandler.java   | 156 +++++
 .../iotdb/db/rest/handler/QueryDataSetHandler.java |  95 +++
 .../db/rest/handler/RequestValidationHandler.java  |  39 ++
 .../iotdb/db/rest/impl/PingApiServiceImpl.java     |  37 +
 .../iotdb/db/rest/impl/RestApiServiceImpl.java     | 144 ++++
 .../java/org/apache/iotdb/db/service/IoTDB.java    |   8 +-
 .../org/apache/iotdb/db/service/ServiceType.java   |   3 +-
 .../org/apache/iotdb/db/service/SettleService.java |   2 +-
 .../org/apache/iotdb/db/service/TSServiceImpl.java | 554 +++++----------
 .../basic/BasicOpenSessionResp.java}               |  20 +-
 .../db/service/basic/BasicServiceProvider.java     | 263 ++++++++
 .../db/service/basic/QueryFrequencyRecorder.java   |  54 ++
 .../apache/iotdb/db/tools/TsFileRewriteTool.java   |  14 +-
 .../org/apache/iotdb/db/tools/mlog/MLogParser.java |  10 +-
 .../db/tools/settle/TsFileAndModSettleTool.java    |   4 +-
 .../db/tools/virtualsg/DeviceMappingViewer.java    |   2 +-
 .../apache/iotdb/db/utils/ErrorHandlingUtils.java  | 152 +++++
 .../org/apache/iotdb/db/utils/FileLoaderUtils.java | 149 ++---
 .../java/org/apache/iotdb/db/utils/MemUtils.java   |  49 +-
 .../java/org/apache/iotdb/db/utils/MergeUtils.java |  37 +-
 .../apache/iotdb/db/utils/QueryDataSetUtils.java   |   3 +-
 .../java/org/apache/iotdb/db/utils/QueryUtils.java |  72 +-
 .../org/apache/iotdb/db/utils/SchemaUtils.java     |  16 +-
 .../org/apache/iotdb/db/utils/SerializeUtils.java  |  77 +--
 .../{VectorTVList.java => AlignedTVList.java}      | 416 +++++++++---
 .../iotdb/db/utils/datastructure/TVList.java       |  79 +--
 .../iotdb/db/writelog/recover/LogReplayer.java     |  25 +-
 .../apache/iotdb/db/auth/AuthorityCheckerTest.java |   2 +-
 .../iotdb/db/engine/MetadataManagerHelper.java     |   2 +-
 .../cache/BloomFilterCacheTest.java}               | 170 +++--
 .../iotdb/db/engine/cache/ChunkCacheTest.java      |   5 +-
 .../engine/compaction/CompactionSchedulerTest.java |   2 +-
 .../compaction/cross/CrossSpaceCompactionTest.java |   2 +-
 .../engine/compaction/cross/MergeOverLapTest.java  |  10 +-
 .../db/engine/compaction/cross/MergeTaskTest.java  |  40 +-
 .../db/engine/compaction/cross/MergeTest.java      |   5 +-
 .../engine/compaction/cross/MergeUpgradeTest.java  |   3 +-
 .../compaction/inner/InnerCompactionCacheTest.java | 148 ----
 .../inner/InnerCompactionMoreDataTest.java         |  14 +-
 .../compaction/inner/InnerCompactionTest.java      |  11 +-
 .../compaction/inner/InnerSeqCompactionTest.java   |   2 +-
 .../compaction/inner/InnerUnseqCompactionTest.java |   2 +-
 .../SizeTieredCompactionRecoverTest.java           |  46 +-
 .../inner/sizetiered/SizeTieredCompactionTest.java |   2 +-
 .../compaction/utils/CompactionCheckerUtils.java   |   2 +-
 .../utils/CompactionFileGeneratorUtils.java        |  11 +-
 .../db/engine/memtable/MemTableFlushTaskTest.java  |  22 +-
 .../db/engine/memtable/MemTableTestUtils.java      |  18 +-
 .../db/engine/memtable/PrimitiveMemTableTest.java  | 120 ++--
 .../engine/modification/DeletionFileNodeTest.java  |  17 +-
 .../db/engine/modification/DeletionQueryTest.java  | 101 +--
 .../engine/modification/ModificationFileTest.java  |   2 +-
 .../io/LocalTextModificationAccessorTest.java      |   2 +-
 .../storagegroup/FileNodeManagerBenchmark.java     |   2 +-
 .../storagegroup/StorageGroupProcessorTest.java    |  27 +-
 .../iotdb/db/engine/storagegroup/TTLTest.java      |  18 +-
 .../engine/storagegroup/TsFileProcessorTest.java   | 123 +---
 .../virtualSg/HashVirtualPartitionerTest.java      |   2 +-
 .../apache/iotdb/db/integration/IoTDBAliasIT.java  |  49 +-
 .../iotdb/db/integration/IoTDBArithmeticIT.java    |   2 +-
 .../db/integration/IoTDBEngineTimeGeneratorIT.java |  42 +-
 .../iotdb/db/integration/IoTDBFilePathUtilsIT.java |   2 +-
 .../apache/iotdb/db/integration/IoTDBLastIT.java   |   2 +-
 ...IoTDBLoadExternalTsFileWithTimePartitionIT.java |   4 +-
 .../db/integration/IoTDBLoadExternalTsfileIT.java  |   2 +-
 .../integration/IoTDBManageTsFileResourceIT.java   |   2 +-
 .../iotdb/db/integration/IoTDBMultiSeriesIT.java   |   2 +-
 .../iotdb/db/integration/IoTDBNestedQueryIT.java   |   2 +-
 .../db/integration/IoTDBNewTsFileCompactionIT.java |   2 +-
 .../db/integration/IoTDBPathNumOverLimitIT.java    |  72 ++
 .../db/integration/IoTDBRemovePartitionIT.java     |   2 +-
 .../iotdb/db/integration/IoTDBSelectIntoIT.java    |   2 +-
 .../db/integration/IoTDBSequenceDataQueryIT.java   |  91 ++-
 .../iotdb/db/integration/IoTDBSeriesReaderIT.java  |  83 ++-
 .../iotdb/db/integration/IoTDBSimpleQueryIT.java   |   2 +-
 .../db/integration/IoTDBTriggerExecutionIT.java    |   2 +-
 .../db/integration/IoTDBTriggerManagementIT.java   |   2 +-
 .../iotdb/db/integration/IoTDBUDFManagementIT.java |   2 +-
 .../db/integration/IoTDBUDFWindowQueryIT.java      |   2 +-
 .../integration/IoTDBUDTFAlignByTimeQueryIT.java   |   2 +-
 .../db/integration/IoTDBUDTFBuiltinFunctionIT.java |   2 +-
 .../db/integration/IoTDBUDTFHybridQueryIT.java     |   2 +-
 .../db/integration/IoTDBUDTFNonAlignQueryIT.java   |   2 +-
 .../iotdb/db/metadata/MManagerAdvancedTest.java    |  30 +-
 .../iotdb/db/metadata/MManagerBasicTest.java       | 334 +++++----
 .../iotdb/db/metadata/MManagerImproveTest.java     |   1 +
 .../org/apache/iotdb/db/metadata/MTreeTest.java    |  24 +-
 .../apache/iotdb/db/metadata/MetaUtilsTest.java    |  31 +
 .../apache/iotdb/db/metadata/PartialPathTest.java  |   1 +
 .../org/apache/iotdb/db/metadata/TemplateTest.java | 255 +++++++
 .../iotdb/db/metadata/mlog/MLogUpgraderTest.java   |  74 +-
 .../java/org/apache/iotdb/db/qp/PlannerTest.java   |   2 +-
 .../iotdb/db/qp/logical/LogicalPlanSmallTest.java  |   2 +-
 .../iotdb/db/qp/other/TSPlanContextAuthorTest.java |   2 +-
 .../iotdb/db/qp/physical/ConcatOptimizerTest.java  |   2 +-
 .../iotdb/db/qp/physical/InsertRowPlanTest.java    | 129 ++--
 .../qp/physical/InsertRowsOfOneDevicePlanTest.java |   2 +-
 .../db/qp/physical/InsertTabletMultiPlanTest.java  |   2 +-
 .../iotdb/db/qp/physical/InsertTabletPlanTest.java | 147 +---
 .../db/qp/physical/PhysicalPlanSerializeTest.java  |   2 +-
 .../iotdb/db/qp/physical/PhysicalPlanTest.java     |   4 +-
 .../iotdb/db/qp/physical/SerializationTest.java    |   2 +-
 .../query/aggregation/DescAggregateResultTest.java |  63 ++
 .../query/dataset/UDTFAlignByTimeDataSetTest.java  |   2 +-
 .../reader/series/SeriesAggregateReaderTest.java   |   9 +-
 .../reader/series/SeriesReaderByTimestampTest.java |   7 +-
 .../db/query/reader/series/SeriesReaderTest.java   |   2 +-
 .../query/reader/series/SeriesReaderTestUtil.java  |   7 +-
 .../iotdb/db/rescon/ResourceManagerTest.java       |   5 +-
 .../apache/iotdb/db/rest/IoTDBRestServiceIT.java   | 280 ++++++++
 .../org/apache/iotdb/db/sink/MQTTSinkTest.java     |   2 +-
 .../db/sync/receiver/load/FileLoaderTest.java      |   2 +-
 .../recover/SyncReceiverLogAnalyzerTest.java       |   2 +-
 .../db/sync/sender/manage/SyncFileManagerTest.java |   2 +-
 .../sender/recover/SyncSenderLogAnalyzerTest.java  |   2 +-
 .../org/apache/iotdb/db/tools/MLogParserTest.java  |  16 +-
 .../iotdb/db/tools/TsFileAndModSettleToolTest.java |   4 +-
 .../iotdb/db/tools/TsFileSketchToolTest.java       |   2 +-
 .../org/apache/iotdb/db/tools/WalCheckerTest.java  |   2 +-
 .../apache/iotdb/db/utils/EnvironmentUtils.java    |   2 +
 .../org/apache/iotdb/db/utils/MemUtilsTest.java    |   2 +-
 .../apache/iotdb/db/utils/SchemaTestUtils.java}    |  25 +-
 .../org/apache/iotdb/db/utils/SchemaUtilsTest.java |   2 +-
 .../apache/iotdb/db/utils/SerializeUtilsTest.java  | 743 +++++++++++++++++++++
 .../iotdb/db/utils/TsFileRewriteToolTest.java      |   9 +-
 .../db/utils/datastructure/VectorTVListTest.java   |  65 +-
 .../apache/iotdb/db/writelog/PerformanceTest.java  |   2 +-
 .../iotdb/db/writelog/WriteLogNodeManagerTest.java |   2 +-
 .../apache/iotdb/db/writelog/WriteLogNodeTest.java |   2 +-
 .../iotdb/db/writelog/io/LogWriterReaderTest.java  |   2 +-
 .../db/writelog/io/MultiFileLogReaderTest.java     |   2 +-
 .../db/writelog/recover/DeviceStringTest.java      |   8 +-
 .../iotdb/db/writelog/recover/LogReplayerTest.java |  27 +-
 .../recover/RecoverResourceFromReaderTest.java     |  10 +-
 .../db/writelog/recover/SeqTsFileRecoverTest.java  |  14 +-
 .../writelog/recover/UnseqTsFileRecoverTest.java   |  10 +-
 server/src/test/resources/iotdb-rest.properties    |  55 ++
 .../java/org/apache/iotdb/session/Session.java     | 351 ++++++++--
 .../apache/iotdb/session/SessionConnection.java    |  64 ++
 .../org/apache/iotdb/session/pool/SessionPool.java | 349 ++++++++++
 .../iotdb/session/template/InternalNode.java       |  59 ++
 .../iotdb/session/template/MeasurementNode.java    |  67 ++
 .../apache/iotdb/session/template/Template.java    | 126 ++++
 .../iotdb/session/template/TemplateNode.java       |  35 +-
 .../iotdb/session/template/TemplateQueryType.java  |  21 +-
 .../apache/iotdb/session/IoTDBSessionSimpleIT.java |  35 +-
 .../session/IoTDBSessionVectorABDeviceIT.java      |  73 +-
 .../session/IoTDBSessionVectorAggregationIT.java   |  15 +-
 .../iotdb/session/IoTDBSessionVectorInsertIT.java  |  18 +-
 .../java/org/apache/iotdb/session/SessionTest.java | 156 ++++-
 .../apache/iotdb/session/template/TemplateUT.java  |  93 +++
 session/src/test/resources/iotdb-rest.properties   |  55 ++
 site/pom.xml                                       |  12 +-
 site/src/main/.vuepress/config.js                  |   2 +
 .../apache/iotdb/spark/db/EnvironmentUtils.java    |   2 +
 .../iotdb/spark/tsfile/NarrowConverter.scala       |   2 +-
 .../apache/iotdb/spark/tsfile/WideConverter.scala  |   2 +-
 .../org/apache/iotdb/spark/tool/TsFileExample.java |  29 +-
 .../apache/iotdb/spark/tool/TsFileWriteTool.java   |  87 +--
 .../test/java/org/apache/iotdb/db/sql/Cases.java   |  76 +--
 thrift-cluster/src/main/thrift/cluster.thrift      |   9 +-
 thrift/rpc-changelist.md                           |  14 +-
 thrift/src/main/thrift/rpc.thrift                  |  40 +-
 .../iotdb/tsfile/file/header/PageHeader.java       |  12 +
 ...hunkMetadata.java => AlignedChunkMetadata.java} |  82 +--
 ...etadata.java => AlignedTimeSeriesMetadata.java} |  63 +-
 .../iotdb/tsfile/file/metadata/ChunkMetadata.java  |  16 +-
 .../iotdb/tsfile/file/metadata/IChunkMetadata.java |   4 -
 .../tsfile/file/metadata/ITimeSeriesMetadata.java  |   3 +-
 .../file/metadata/MetadataIndexConstructor.java    |   6 +-
 .../tsfile/file/metadata/TimeseriesMetadata.java   |  11 +-
 .../fileOutputFactory/LocalFSOutputFactory.java    |   5 +-
 .../iotdb/tsfile/read/TsFileSequenceReader.java    |  41 +-
 .../apache/iotdb/tsfile/read/common/BatchData.java | 109 ++-
 .../tsfile/read/common/DescReadWriteBatchData.java |  89 +++
 .../org/apache/iotdb/tsfile/read/common/Path.java  |   5 +
 .../read/controller/CachedChunkLoaderImpl.java     |  18 +
 .../iotdb/tsfile/read/controller/IChunkLoader.java |   5 +
 .../read/controller/IChunkMetadataLoader.java      |   4 +-
 .../iotdb/tsfile/read/filter/GroupByFilter.java    |  20 +-
 .../iotdb/tsfile/read/filter/operator/Like.java    |   8 +-
 .../tsfile/read/query/dataset/QueryDataSet.java    |  12 +
 ...torChunkReader.java => AlignedChunkReader.java} |  91 ++-
 ...ectorPageReader.java => AlignedPageReader.java} |  51 +-
 .../iotdb/tsfile/read/reader/page/PageReader.java  |   1 -
 .../tsfile/read/reader/page/TimePageReader.java    |  17 +
 .../tsfile/read/reader/page/ValuePageReader.java   |   3 +
 .../org/apache/iotdb/tsfile/utils/BloomFilter.java |  39 ++
 .../apache/iotdb/tsfile/utils/FilePathUtils.java   |   4 +-
 .../iotdb/tsfile/utils/MeasurementGroup.java       |  65 ++
 .../iotdb/tsfile/utils/ReadWriteIOUtils.java       |   4 +-
 .../apache/iotdb/tsfile/utils/StringContainer.java |   8 +-
 .../apache/iotdb/tsfile/write/TsFileWriter.java    | 335 ++++++++--
 .../write/chunk/AlignedChunkGroupWriterImpl.java   | 299 +++++++++
 ...WriterImpl.java => AlignedChunkWriterImpl.java} |  69 +-
 .../tsfile/write/chunk/ChunkGroupWriterImpl.java   | 241 -------
 .../iotdb/tsfile/write/chunk/ChunkWriterImpl.java  |  41 +-
 .../tsfile/write/chunk/IChunkGroupWriter.java      |  17 +-
 .../iotdb/tsfile/write/chunk/IChunkWriter.java     |  45 --
 .../chunk/NonAlignedChunkGroupWriterImpl.java      | 184 +++++
 .../iotdb/tsfile/write/chunk/TimeChunkWriter.java  |   4 +
 .../iotdb/tsfile/write/chunk/ValueChunkWriter.java |  67 +-
 .../iotdb/tsfile/write/page/ValuePageWriter.java   |   4 +
 .../apache/iotdb/tsfile/write/record/Tablet.java   |  55 +-
 .../write/record/datapoint/BooleanDataPoint.java   |   6 +-
 .../tsfile/write/record/datapoint/DataPoint.java   |   9 +-
 .../write/record/datapoint/DoubleDataPoint.java    |   6 +-
 .../write/record/datapoint/FloatDataPoint.java     |   6 +-
 .../write/record/datapoint/IntDataPoint.java       |   6 +-
 .../write/record/datapoint/LongDataPoint.java      |   6 +-
 .../write/record/datapoint/StringDataPoint.java    |   6 +-
 .../tsfile/write/schema/IMeasurementSchema.java    |   2 +
 .../apache/iotdb/tsfile/write/schema/Schema.java   |  69 +-
 .../write/schema/UnaryMeasurementSchema.java       |   5 +
 .../write/schema/VectorMeasurementSchema.java      |  92 ++-
 .../write/writer/RestorableTsFileIOWriter.java     |   6 +-
 .../iotdb/tsfile/write/writer/TsFileIOWriter.java  |  61 +-
 ...tadataTest.java => TimeseriesMetadataTest.java} |   2 +-
 .../iotdb/tsfile/read/ReadOnlyTsFileTest.java      |   2 +-
 .../tsfile/read/TimeSeriesMetadataReadTest.java    |   7 +-
 .../TsFileGeneratorForSeriesReaderByTimestamp.java |  23 +-
 .../apache/iotdb/tsfile/utils/FileGenerator.java   |  45 +-
 .../org/apache/iotdb/tsfile/utils/RecordUtils.java |  17 +-
 .../apache/iotdb/tsfile/utils/RecordUtilsTest.java |  13 +-
 .../iotdb/tsfile/utils/TsFileGeneratorForTest.java |  25 +-
 .../tsfile/write/DefaultSchemaTemplateTest.java    |   4 +-
 .../tsfile/write/MetadataIndexConstructorTest.java |  73 +-
 .../org/apache/iotdb/tsfile/write/PerfTest.java    |  16 +-
 .../iotdb/tsfile/write/ReadPageInMemTest.java      |  16 +-
 .../iotdb/tsfile/write/TsFileIOWriterTest.java     |  91 ++-
 .../iotdb/tsfile/write/TsFileReadWriteTest.java    |   7 +-
 .../iotdb/tsfile/write/TsFileWriteApiTest.java     | 257 +++++++
 .../iotdb/tsfile/write/TsFileWriterTest.java       |  97 ++-
 .../org/apache/iotdb/tsfile/write/WriteTest.java   |  10 +-
 .../write/schema/converter/SchemaBuilderTest.java  |  45 +-
 ...plTest.java => AlignedChunkWriterImplTest.java} |  46 +-
 .../write/writer/ForceAppendTsFileWriterTest.java  |   8 +-
 .../write/writer/RestorableTsFileIOWriterTest.java |  48 +-
 .../write/writer/VectorMeasurementSchemaStub.java  |   6 +-
 .../zeppelin/iotdb/IoTDBInterpreterTest.java       |   6 +-
 666 files changed, 15818 insertions(+), 8402 deletions(-)
 copy cluster/src/main/java/org/apache/iotdb/cluster/query/groupby/{ClusterGroupByNoVFilterDataSet.java => ClusterGroupByFillNoVFilterDataSet.java} (69%)
 create mode 100644 docs/zh/UserGuide/Communication-Service-Protocol/RestService.md
 create mode 100644 example/tsfile/src/main/java/org/apache/iotdb/tsfile/TsFileWriteAlignedWithTSRecord.java
 create mode 100644 example/tsfile/src/main/java/org/apache/iotdb/tsfile/TsFileWriteAlignedWithTablet.java
 delete mode 100644 example/tsfile/src/main/java/org/apache/iotdb/tsfile/TsFileWriteVectorWithTablet.java
 create mode 100644 openapi/pom.xml
 create mode 100644 openapi/src/main/openapi3/iotdb-rest.yaml
 create mode 100644 server/src/assembly/resources/conf/iotdb-rest.properties
 create mode 100644 server/src/main/java/org/apache/iotdb/db/conf/rest/IoTDBRestServiceCheck.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/conf/rest/IoTDBRestServiceConfig.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/conf/rest/IoTDBRestServiceDescriptor.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/engine/cache/BloomFilterCache.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/engine/memtable/AlignedWritableMemChunk.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/engine/querycontext/AlignedReadOnlyMemChunk.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/VectorPartialPath.java
 copy server/src/main/java/org/apache/iotdb/db/metadata/lastCache/container/value/{ILastCacheValue.java => LastCacheValue.java} (62%)
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/lastCache/container/value/UnaryLastCacheValue.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/lastCache/container/value/VectorLastCacheValue.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/mnode/MultiMeasurementMNode.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/mnode/UnaryMeasurementMNode.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/mtree/traverser/PathGrouperByStorageGroup.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/mtree/traverser/collector/BelongedEntityPathCollector.java
 rename server/src/main/java/org/apache/iotdb/db/metadata/mtree/traverser/collector/{EntityPathCollector.java => EntityCollector.java} (69%)
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/mtree/traverser/collector/FlatMeasurementCollector.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/mtree/traverser/collector/FlatMeasurementPathCollector.java
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/mtree/traverser/collector/FlatMeasurementSchemaCollector.java
 rename server/src/main/java/org/apache/iotdb/db/metadata/mtree/traverser/collector/{StorageGroupPathCollector.java => StorageGroupCollector.java} (77%)
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/mtree/traverser/counter/FlatMeasurementCounter.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/path/AlignedPath.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/metadata/path/MeasurementPath.java
 rename server/src/main/java/org/apache/iotdb/db/metadata/{ => path}/PartialPath.java (72%)
 mode change 100755 => 100644
 copy server/src/main/java/org/apache/iotdb/db/{qp/logical/sys/ShowLockInfoOperator.java => metadata/template/TemplateQueryType.java} (69%)
 create mode 100644 server/src/main/java/org/apache/iotdb/db/qp/physical/crud/AppendTemplatePlan.java
 copy server/src/main/java/org/apache/iotdb/db/qp/physical/crud/{SetSchemaTemplatePlan.java => PruneTemplatePlan.java} (50%)
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/executor/fill/AlignedLastPointReader.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/reader/chunk/DiskAlignedChunkLoader.java
 copy server/src/main/java/org/apache/iotdb/db/query/reader/chunk/metadata/{DiskChunkMetadataLoader.java => DiskAlignedChunkMetadataLoader.java} (62%)
 copy server/src/main/java/org/apache/iotdb/db/query/reader/chunk/metadata/{MemChunkMetadataLoader.java => MemAlignedChunkMetadataLoader.java} (71%)
 create mode 100644 server/src/main/java/org/apache/iotdb/db/query/reader/series/AlignedSeriesReader.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/rest/RestService.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/rest/filter/ApiOriginFilter.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/rest/filter/AuthorizationFilter.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/rest/filter/BasicSecurityContext.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/rest/filter/User.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/rest/filter/UserCache.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/rest/handler/AuthorizationHandler.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/rest/handler/ExceptionHandler.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/rest/handler/PhysicalPlanConstructionHandler.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/rest/handler/QueryDataSetHandler.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/rest/handler/RequestValidationHandler.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/rest/impl/PingApiServiceImpl.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/rest/impl/RestApiServiceImpl.java
 copy server/src/main/java/org/apache/iotdb/db/{qp/logical/sys/ShowLockInfoOperator.java => service/basic/BasicOpenSessionResp.java} (70%)
 create mode 100644 server/src/main/java/org/apache/iotdb/db/service/basic/BasicServiceProvider.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/service/basic/QueryFrequencyRecorder.java
 create mode 100644 server/src/main/java/org/apache/iotdb/db/utils/ErrorHandlingUtils.java
 rename server/src/main/java/org/apache/iotdb/db/utils/datastructure/{VectorTVList.java => AlignedTVList.java} (62%)
 copy server/src/test/java/org/apache/iotdb/db/{tools/TsFileSketchToolTest.java => engine/cache/BloomFilterCacheTest.java} (51%)
 delete mode 100644 server/src/test/java/org/apache/iotdb/db/engine/compaction/inner/InnerCompactionCacheTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/integration/IoTDBPathNumOverLimitIT.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/metadata/TemplateTest.java
 create mode 100644 server/src/test/java/org/apache/iotdb/db/rest/IoTDBRestServiceIT.java
 copy server/src/{main/java/org/apache/iotdb/db/metadata/mtree/traverser/counter/CounterTraverser.java => test/java/org/apache/iotdb/db/utils/SchemaTestUtils.java} (58%)
 create mode 100644 server/src/test/resources/iotdb-rest.properties
 create mode 100644 session/src/main/java/org/apache/iotdb/session/template/InternalNode.java
 create mode 100644 session/src/main/java/org/apache/iotdb/session/template/MeasurementNode.java
 create mode 100644 session/src/main/java/org/apache/iotdb/session/template/Template.java
 copy server/src/main/java/org/apache/iotdb/db/metadata/mnode/IEntityMNode.java => session/src/main/java/org/apache/iotdb/session/template/TemplateNode.java (57%)
 copy server/src/main/java/org/apache/iotdb/db/qp/logical/sys/ShowLockInfoOperator.java => session/src/main/java/org/apache/iotdb/session/template/TemplateQueryType.java (69%)
 create mode 100644 session/src/test/java/org/apache/iotdb/session/template/TemplateUT.java
 create mode 100644 session/src/test/resources/iotdb-rest.properties
 rename tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/{VectorChunkMetadata.java => AlignedChunkMetadata.java} (72%)
 rename tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/{VectorTimeSeriesMetadata.java => AlignedTimeSeriesMetadata.java} (66%)
 rename tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/chunk/{VectorChunkReader.java => AlignedChunkReader.java} (76%)
 rename tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/page/{VectorPageReader.java => AlignedPageReader.java} (73%)
 create mode 100644 tsfile/src/main/java/org/apache/iotdb/tsfile/utils/MeasurementGroup.java
 create mode 100644 tsfile/src/main/java/org/apache/iotdb/tsfile/write/chunk/AlignedChunkGroupWriterImpl.java
 rename tsfile/src/main/java/org/apache/iotdb/tsfile/write/chunk/{VectorChunkWriterImpl.java => AlignedChunkWriterImpl.java} (76%)
 delete mode 100644 tsfile/src/main/java/org/apache/iotdb/tsfile/write/chunk/ChunkGroupWriterImpl.java
 create mode 100644 tsfile/src/main/java/org/apache/iotdb/tsfile/write/chunk/NonAlignedChunkGroupWriterImpl.java
 rename tsfile/src/test/java/org/apache/iotdb/tsfile/file/metadata/{TimeSeriesMetadataTest.java => TimeseriesMetadataTest.java} (98%)
 create mode 100644 tsfile/src/test/java/org/apache/iotdb/tsfile/write/TsFileWriteApiTest.java
 rename tsfile/src/test/java/org/apache/iotdb/tsfile/write/writer/{VectorChunkWriterImplTest.java => AlignedChunkWriterImplTest.java} (83%)