This is an automated email from the ASF dual-hosted git repository. xuekaifeng pushed a commit to branch remove-mmanager-lock in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git
commit 843c2ef51d34717c421a73ae43103a0997eb22da Merge: 001b9fe 3db6cb0 Author: 151250176 <[email protected]> AuthorDate: Wed Sep 30 09:40:21 2020 +0800 Merge branch 'master' of https://github.com/apache/incubator-iotdb .gitignore | 7 + .mvn/wrapper/MavenWrapperDownloader.java | 10 +- .travis.yml | 4 +- DISCLAIMER | 6 - Jenkinsfile | 38 +- RELEASE_NOTES.md | 26 + .../org/apache/iotdb/db/qp/strategy/SqlBase.g4 | 320 ++++- cli/pom.xml | 1 + .../java/org/apache/iotdb/cli/AbstractCli.java | 10 + .../main/java/org/apache/iotdb/tool/ExportCsv.java | 1 + .../main/java/org/apache/iotdb/tool/ImportCsv.java | 76 +- .../TsFile/TsFile.md => client-cpp/README.md | 16 +- client-cpp/client-cpp-example/pom.xml | 162 +++ .../client-cpp-example/src/SessionExample.cpp | 296 +++++ client-cpp/pom.xml | 360 ++++++ client-cpp/src/assembly/client-cpp.xml | 60 + client-cpp/src/main/IOTDBSession.cpp | 1018 +++++++++++++++ client-cpp/src/main/IOTDBSession.h | 633 ++++++++++ client-cpp/src/test/cpp/sessionIT.cpp | 171 +++ .../LogParser.java => client-cpp/src/test/main.cpp | 42 +- client-py/readme.md | 8 +- client-py/src/Session.py | 456 +++++++ client-py/src/SessionExample.py | 107 ++ client-py/src/client_example.py | 347 ------ client-py/src/utils/Field.py | 176 +++ .../src/utils/IoTDBConstants.py | 51 +- client-py/src/utils/IoTDBRpcDataSet.py | 219 ++++ client-py/src/utils/RowRecord.py | 55 + client-py/src/utils/SessionDataSet.py | 101 ++ client-py/src/utils/Tablet.py | 133 ++ .../src/utils/__init__.py | 4 - compile-tools/README.md | 147 +++ compile-tools/boost/pom.xml | 141 +++ compile-tools/boost/src/assembly/bundle.xml | 35 + compile-tools/pom.xml | 121 ++ compile-tools/thrift/pom.xml | 420 +++++++ compile-tools/thrift/src/assembly/compiler.xml | 37 + compile-tools/thrift/src/assembly/cpp.xml | 51 + compile-tools/thrift/src/assembly/python.xml | 38 + cross-tests/pom.xml | 87 ++ .../tests/tools/importCsv/AbstractScript.java | 77 ++ .../tests/tools/importCsv/ImportCsvTestIT.java | 156 +++ .../src/test/resources/iotdb-engine.properties | 21 + distribution/pom.xml | 4 +- distribution/src/assembly/distribution.xml | 6 +- docker/src/main/Dockerfile | 4 +- docker/src/main/Dockerfile-0.10.1 | 41 + docs/Blog/index.md | 2 +- docs/Development/VoteRelease.md | 12 +- docs/Download/README.md | 16 +- docs/SystemDesign/Architecture/Architecture.md | 22 +- docs/SystemDesign/DataQuery/AlignByDeviceQuery.md | 14 +- docs/SystemDesign/DataQuery/DataQuery.md | 18 +- docs/SystemDesign/DataQuery/QueryFundamentals.md | 2 +- docs/SystemDesign/QueryEngine/QueryEngine.md | 4 +- .../QueryEngine/ResultSetConstruction.md | 4 +- .../SystemDesign/StorageEngine/DataManipulation.md | 24 +- docs/SystemDesign/StorageEngine/Recover.md | 106 ++ docs/SystemDesign/StorageEngine/StorageEngine.md | 8 +- docs/SystemDesign/StorageEngine/WAL.md | 24 +- docs/SystemDesign/Tools/Sync.md | 2 +- docs/SystemDesign/TsFile/TsFile.md | 6 +- docs/UserGuide/Architecture/Files.md | 8 +- .../UserGuide/Architecture/Writing Data on HDFS.md | 2 +- docs/UserGuide/Client/Command Line Interface.md | 32 +- docs/UserGuide/Client/Programming - Native API.md | 185 ++- docs/UserGuide/Client/Programming - TsFile API.md | 4 +- docs/UserGuide/Client/Status Codes.md | 1 + docs/UserGuide/Concept/Compression.md | 2 +- .../Concept/Data Model and Terminology.md | 6 +- docs/UserGuide/Concept/Data Type.md | 2 +- docs/UserGuide/Concept/Encoding.md | 2 +- .../Ecosystem Integration/Spark TsFile.md | 18 +- .../Get Started/Frequently asked questions.md | 4 +- docs/UserGuide/Get Started/QuickStart.md | 6 +- docs/UserGuide/Operation Manual/Administration.md | 2 +- .../DDL Data Definition Language.md | 17 +- .../DML Data Manipulation Language.md | 51 +- docs/UserGuide/Operation Manual/SQL Reference.md | 85 +- docs/UserGuide/Overview/Architecture.md | 2 +- docs/UserGuide/Server/Config Manual.md | 10 +- docs/UserGuide/Server/Download.md | 4 +- docs/UserGuide/System Tools/Log Visualizer.md | 160 --- .../System Tools/Monitor and Log Tools.md | 4 +- docs/UserGuide/UserGuideReadme.md | 7 +- docs/zh/Development/VoteRelease.md | 12 +- docs/zh/Download/README.md | 16 +- docs/zh/SystemDesign/Architecture/Architecture.md | 22 +- .../SystemDesign/DataQuery/AlignByDeviceQuery.md | 14 +- docs/zh/SystemDesign/DataQuery/DataQuery.md | 20 +- docs/zh/SystemDesign/DataQuery/OrderByTimeQuery.md | 190 +++ .../zh/SystemDesign/DataQuery/QueryFundamentals.md | 2 +- docs/zh/SystemDesign/QueryEngine/QueryEngine.md | 4 +- .../QueryEngine/ResultSetConstruction.md | 4 +- .../SystemDesign/StorageEngine/DataManipulation.md | 24 +- docs/zh/SystemDesign/StorageEngine/FileLists.md | 156 +++ docs/zh/SystemDesign/StorageEngine/Recover.md | 107 ++ .../zh/SystemDesign/StorageEngine/StorageEngine.md | 8 +- .../SystemDesign/StorageEngine/TsFileManagement.md | 225 ++++ docs/zh/SystemDesign/StorageEngine/WAL.md | 23 + docs/zh/SystemDesign/TsFile/TsFile.md | 6 +- docs/zh/UserGuide/Architecture/Files.md | 8 +- .../UserGuide/Architecture/Writing Data on HDFS.md | 2 +- docs/zh/UserGuide/Client/Command Line Interface.md | 28 +- .../UserGuide/Client/Programming - Native API.md | 180 ++- .../UserGuide/Client/Programming - TsFile API.md | 4 +- docs/zh/UserGuide/Client/Status Codes.md | 1 + docs/zh/UserGuide/Concept/Compression.md | 2 +- .../Concept/Data Model and Terminology.md | 4 + docs/zh/UserGuide/Concept/Data Type.md | 2 +- docs/zh/UserGuide/Concept/Encoding.md | 2 +- .../Ecosystem Integration/Spark TsFile.md | 18 +- .../Get Started/Frequently asked questions.md | 4 +- docs/zh/UserGuide/Get Started/QuickStart.md | 6 +- .../UserGuide/Operation Manual/Administration.md | 2 +- .../DDL Data Definition Language.md | 30 +- .../DML Data Manipulation Language.md | 48 +- .../zh/UserGuide/Operation Manual/SQL Reference.md | 87 +- docs/zh/UserGuide/Overview/Architecture.md | 2 +- docs/zh/UserGuide/Server/Config Manual.md | 10 +- docs/zh/UserGuide/Server/Download.md | 2 +- docs/zh/UserGuide/System Tools/Log Visualizer.md | 146 --- .../System Tools/Monitor and Log Tools.md | 6 +- docs/zh/UserGuide/UserGuideReadme.md | 7 +- .../org/apache/iotdb/flink/FlinkIoTDBSink.java | 4 +- .../apache/iotdb/flink/FlinkTsFileBatchSink.java | 2 +- .../apache/iotdb/flink/FlinkTsFileBatchSource.java | 2 +- .../apache/iotdb/flink/FlinkTsFileStreamSink.java | 2 +- .../iotdb/flink/FlinkTsFileStreamSource.java | 2 +- .../iotdb/hadoop/tsfile/TSFMRReadExample.java | 3 +- .../iotdb/hadoop/tsfile/TSMRWriteExample.java | 3 +- .../apache/iotdb/hadoop/tsfile/TsFileHelper.java | 44 +- .../org/apache/iotdb/DataMigrationExample.java | 185 +++ .../main/java/org/apache/iotdb/SessionExample.java | 97 +- .../java/org/apache/iotdb/tsfile/TsFileRead.java | 50 +- .../apache/iotdb/tsfile/TsFileSequenceRead.java | 137 +-- .../iotdb/tsfile/TsFileWriteWithTSRecord.java | 46 +- .../apache/iotdb/tsfile/TsFileWriteWithTablet.java | 11 +- flink-iotdb-connector/pom.xml | 1 - .../java/org/apache/iotdb/flink/IoTDBSink.java | 3 +- flink-tsfile-connector/pom.xml | 7 + .../iotdb/flink/tsfile/RowTSRecordConverter.java | 5 +- .../iotdb/flink/tsfile/TsFileInputFormat.java | 19 +- .../flink/tsfile/RowTsFileConnectorTestBase.java | 2 +- .../iotdb/hadoop/fileSystem/HDFSConfUtil.java | 3 +- .../apache/iotdb/hadoop/fileSystem/HDFSOutput.java | 7 +- .../iotdb/hadoop/tsfile/TSFRecordReader.java | 22 +- hive-connector/pom.xml | 25 + .../org/apache/iotdb/hive/TSFHiveRecordReader.java | 1 + .../org/apache/iotdb/hive/TsFileDeserializer.java | 1 + .../iotdb/jdbc/AbstractIoTDBJDBCResultSet.java | 2 +- .../org/apache/iotdb/jdbc/IoTDBConnection.java | 11 +- .../apache/iotdb/jdbc/IoTDBDatabaseMetadata.java | 2 +- .../apache/iotdb/jdbc/IoTDBPreparedStatement.java | 6 +- .../org/apache/iotdb/jdbc/IoTDBConnectionTest.java | 6 +- pom.xml | 46 +- server/pom.xml | 11 +- .../resources/conf/iotdb-engine.properties | 20 +- server/src/assembly/resources/conf/iotdb-env.bat | 14 +- server/src/assembly/resources/conf/iotdb-env.sh | 1 + server/src/assembly/resources/conf/logback.xml | 1 + .../tools/logVisualize/default.log.pattern | 45 - .../tools/logVisualize/log-visualizer-cmd.bat | 65 - .../tools/logVisualize/log-visualizer-gui.bat | 65 - .../tools/logVisualize/log-visualizer-gui.sh | 47 - .../plans/closeMetadataConsumption.plan | 6 - .../tools/logVisualize/plans/compressionRatio.plan | 6 - .../logVisualize/plans/dynamicParameters.plan | 6 - .../tools/logVisualize/plans/flushSubmits.plan | 7 - .../plans/flushTimeConsumption.plan.example | 56 - .../tools/logVisualize/plans/memTableWait.plan | 6 - .../tools/logVisualize/plans/mergeFileNum.plan | 7 - .../tools/logVisualize/plans/mergeRate.plan | 10 - .../logVisualize/plans/mergeSeriesProgress.plan | 7 - .../org/apache/iotdb/db/auth/AuthorityChecker.java | 9 +- .../iotdb/db/auth/authorizer/OpenIdAuthorizer.java | 18 +- .../iotdb/db/auth/role/LocalFileRoleAccessor.java | 4 + .../iotdb/db/auth/user/LocalFileUserAccessor.java | 4 + .../org/apache/iotdb/db/concurrent/ThreadName.java | 1 + .../java/org/apache/iotdb/db/conf/IoTDBConfig.java | 126 +- .../org/apache/iotdb/db/conf/IoTDBConfigCheck.java | 13 +- .../org/apache/iotdb/db/conf/IoTDBConstant.java | 1 + .../org/apache/iotdb/db/conf/IoTDBDescriptor.java | 116 +- .../db/conf/adapter/ActiveTimeSeriesCounter.java | 6 +- .../iotdb/db/conf/adapter/CompressionRatio.java | 4 +- .../strategy/RandomOnDiskUsableSpaceStrategy.java | 4 +- .../org/apache/iotdb/db/engine/StorageEngine.java | 185 +-- .../apache/iotdb/db/engine/cache/ChunkCache.java | 44 +- .../iotdb/db/engine/cache/ChunkMetadataCache.java | 37 +- .../db/engine/cache/TimeSeriesMetadataCache.java | 86 +- .../apache/iotdb/db/engine/flush/FlushManager.java | 12 +- .../iotdb/db/engine/flush/FlushManagerMBean.java | 1 - .../iotdb/db/engine/flush/MemTableFlushTask.java | 42 +- .../iotdb/db/engine/flush/TsFileFlushPolicy.java | 4 +- .../db/engine/flush/pool/AbstractPoolManager.java | 8 +- .../engine/flush/pool/FlushSubTaskPoolManager.java | 5 +- .../db/engine/flush/pool/FlushTaskPoolManager.java | 5 +- .../iotdb/db/engine/memtable/AbstractMemTable.java | 15 +- .../iotdb/db/engine/merge/manage/MergeContext.java | 8 +- .../iotdb/db/engine/merge/manage/MergeManager.java | 69 +- .../db/engine/merge/manage/MergeResource.java | 20 +- .../iotdb/db/engine/merge/recover/LogAnalyzer.java | 72 +- .../iotdb/db/engine/merge/recover/MergeLogger.java | 12 +- .../engine/merge/selector/IMergePathSelector.java | 4 +- .../merge/selector/MaxFileMergeFileSelector.java | 6 +- .../engine/merge/selector/NaivePathSelector.java | 10 +- .../iotdb/db/engine/merge/task/MergeFileTask.java | 83 +- .../db/engine/merge/task/MergeMultiChunkTask.java | 23 +- .../iotdb/db/engine/merge/task/MergeTask.java | 30 +- .../db/engine/merge/task/RecoverMergeTask.java | 16 +- .../iotdb/db/engine/modification/Deletion.java | 6 +- .../iotdb/db/engine/modification/Modification.java | 10 +- .../db/engine/modification/ModificationFile.java | 3 +- .../io/LocalTextModificationAccessor.java | 18 +- .../db/engine/querycontext/QueryDataSource.java | 11 +- .../db/engine/querycontext/ReadOnlyMemChunk.java | 4 +- .../engine/storagegroup/StorageGroupProcessor.java | 722 ++++++----- .../iotdb/db/engine/storagegroup/TsFileLock.java | 10 +- .../db/engine/storagegroup/TsFileProcessor.java | 215 ++-- .../db/engine/storagegroup/TsFileResource.java | 156 ++- .../HotCompactionMergeTaskPoolManager.java | 113 ++ .../engine/tsfilemanagement/TsFileManagement.java | 149 +++ .../TsFileManagementStrategy.java} | 33 +- .../level/LevelTsFileManagement.java | 597 +++++++++ .../normal/NormalTsFileManagement.java | 171 +++ .../utils/HotCompactionLogAnalyzer.java | 122 ++ .../utils/HotCompactionLogger.java | 87 ++ .../tsfilemanagement/utils/HotCompactionUtils.java | 254 ++++ .../iotdb/db/engine/upgrade/UpgradeTask.java | 62 +- .../version/SimpleFileVersionController.java | 1 + .../org/apache/iotdb/db/metadata/MLogWriter.java | 8 - .../org/apache/iotdb/db/metadata/MManager.java | 571 +++++---- .../java/org/apache/iotdb/db/metadata/MTree.java | 440 ++++--- .../org/apache/iotdb/db/metadata/MetaUtils.java | 79 +- .../org/apache/iotdb/db/metadata/PartialPath.java | 213 ++++ .../org/apache/iotdb/db/metadata/mnode/MNode.java | 60 +- .../iotdb/db/metadata/mnode/MeasurementMNode.java | 6 +- .../apache/iotdb/db/metrics/server/JettyUtil.java | 30 +- .../iotdb/db/metrics/server/MetricsSystem.java | 26 +- .../iotdb/db/metrics/server/QueryServlet.java | 28 +- .../iotdb/db/metrics/server/ServerArgument.java | 63 +- .../iotdb/db/metrics/server/SqlArgument.java | 26 +- .../apache/iotdb/db/metrics/sink/ConsoleSink.java | 26 +- .../iotdb/db/metrics/sink/MetricsServletSink.java | 26 +- .../org/apache/iotdb/db/metrics/sink/Sink.java | 26 +- .../apache/iotdb/db/metrics/source/JvmSource.java | 26 +- .../iotdb/db/metrics/source/MetricsSource.java | 26 +- .../org/apache/iotdb/db/metrics/source/Source.java | 26 +- .../apache/iotdb/db/metrics/ui/MetricsPage.java | 37 +- .../apache/iotdb/db/metrics/ui/MetricsWebUI.java | 26 +- .../apache/iotdb/db/monitor/MonitorConstants.java | 11 +- .../org/apache/iotdb/db/monitor/StatMonitor.java | 16 +- .../org/apache/iotdb/db/mqtt/PublishHandler.java | 6 +- .../main/java/org/apache/iotdb/db/qp/Planner.java | 62 +- .../apache/iotdb/db/qp/constant/DatetimeUtils.java | 14 +- .../apache/iotdb/db/qp/constant/SQLConstant.java | 27 +- .../apache/iotdb/db/qp/executor/IPlanExecutor.java | 6 +- .../apache/iotdb/db/qp/executor/PlanExecutor.java | 404 +++--- .../db/qp/logical/crud/BasicFunctionOperator.java | 10 +- .../db/qp/logical/crud/BasicOperatorType.java | 13 +- .../iotdb/db/qp/logical/crud/FilterOperator.java | 26 +- .../iotdb/db/qp/logical/crud/FromOperator.java | 8 +- .../iotdb/db/qp/logical/crud/InOperator.java | 10 +- .../iotdb/db/qp/logical/crud/QueryOperator.java | 20 + .../iotdb/db/qp/logical/crud/SFWOperator.java | 6 +- .../iotdb/db/qp/logical/crud/SelectOperator.java | 15 +- .../db/qp/logical/sys/AlterTimeSeriesOperator.java | 11 +- .../iotdb/db/qp/logical/sys/AuthorOperator.java | 8 +- .../iotdb/db/qp/logical/sys/CountOperator.java | 10 +- .../qp/logical/sys/CreateTimeSeriesOperator.java | 17 +- .../db/qp/logical/sys/DeletePartitionOperator.java | 7 +- .../qp/logical/sys/DeleteStorageGroupOperator.java | 9 +- .../qp/logical/sys/DeleteTimeSeriesOperator.java | 9 +- .../iotdb/db/qp/logical/sys/FlushOperator.java | 8 +- .../db/qp/logical/sys/SetStorageGroupOperator.java | 8 +- .../iotdb/db/qp/logical/sys/SetTTLOperator.java | 7 +- .../db/qp/logical/sys/ShowChildPathsOperator.java | 8 +- .../db/qp/logical/sys/ShowDevicesOperator.java | 8 +- ...Operator.java => ShowStorageGroupOperator.java} | 72 +- .../iotdb/db/qp/logical/sys/ShowTTLOperator.java | 8 +- .../db/qp/logical/sys/ShowTimeSeriesOperator.java | 8 +- .../apache/iotdb/db/qp/physical/PhysicalPlan.java | 20 +- .../db/qp/physical/crud/AlignByDevicePlan.java | 17 +- .../db/qp/physical/crud/DeletePartitionPlan.java | 10 +- .../iotdb/db/qp/physical/crud/DeletePlan.java | 25 +- .../iotdb/db/qp/physical/crud/InsertPlan.java | 33 +- .../iotdb/db/qp/physical/crud/InsertRowPlan.java | 89 +- .../db/qp/physical/crud/InsertTabletPlan.java | 27 +- .../iotdb/db/qp/physical/crud/QueryPlan.java | 25 +- .../db/qp/physical/crud/RawDataQueryPlan.java | 9 +- .../iotdb/db/qp/physical/crud/UpdatePlan.java | 18 +- .../db/qp/physical/sys/AlterTimeSeriesPlan.java | 10 +- .../iotdb/db/qp/physical/sys/AuthorPlan.java | 27 +- .../iotdb/db/qp/physical/sys/ClearCachePlan.java | 4 +- .../apache/iotdb/db/qp/physical/sys/CountPlan.java | 9 +- .../db/qp/physical/sys/CreateSnapshotPlan.java | 4 +- .../db/qp/physical/sys/CreateTimeSeriesPlan.java | 23 +- .../iotdb/db/qp/physical/sys/DataAuthPlan.java | 4 +- .../db/qp/physical/sys/DeleteStorageGroupPlan.java | 18 +- .../db/qp/physical/sys/DeleteTimeSeriesPlan.java | 17 +- .../apache/iotdb/db/qp/physical/sys/FlushPlan.java | 8 +- .../db/qp/physical/sys/LoadConfigurationPlan.java | 4 +- .../iotdb/db/qp/physical/sys/LoadDataPlan.java | 8 +- .../apache/iotdb/db/qp/physical/sys/MergePlan.java | 4 +- .../iotdb/db/qp/physical/sys/OperateFilePlan.java | 4 +- .../db/qp/physical/sys/SetStorageGroupPlan.java | 19 +- .../iotdb/db/qp/physical/sys/SetTTLPlan.java | 23 +- .../db/qp/physical/sys/ShowChildPathsPlan.java | 8 +- .../iotdb/db/qp/physical/sys/ShowDevicesPlan.java | 8 +- .../apache/iotdb/db/qp/physical/sys/ShowPlan.java | 6 +- ...wDevicesPlan.java => ShowStorageGroupPlan.java} | 71 +- .../iotdb/db/qp/physical/sys/ShowTTLPlan.java | 10 +- .../db/qp/physical/sys/ShowTimeSeriesPlan.java | 15 +- .../iotdb/db/qp/physical/sys/TracingPlan.java | 4 +- .../iotdb/db/qp/strategy/LogicalGenerator.java | 237 ++-- .../iotdb/db/qp/strategy/PhysicalGenerator.java | 250 ++-- .../qp/strategy/optimizer/ConcatPathOptimizer.java | 117 +- .../optimizer/MergeSingleFilterOptimizer.java | 17 +- .../db/query/aggregation/AggregateResult.java | 7 +- .../db/query/aggregation/impl/AvgAggrResult.java | 7 +- .../db/query/aggregation/impl/CountAggrResult.java | 4 +- .../aggregation/impl/FirstValueAggrResult.java | 9 +- .../aggregation/impl/LastValueAggrResult.java | 15 +- .../query/aggregation/impl/MaxTimeAggrResult.java | 7 +- .../query/aggregation/impl/MaxValueAggrResult.java | 13 +- .../query/aggregation/impl/MinTimeAggrResult.java | 9 +- .../query/aggregation/impl/MinValueAggrResult.java | 11 +- .../db/query/aggregation/impl/SumAggrResult.java | 7 +- .../iotdb/db/query/control/FileReaderManager.java | 16 +- .../iotdb/db/query/control/QueryFileManager.java | 3 +- .../db/query/control/QueryResourceManager.java | 8 +- .../db/query/dataset/AlignByDeviceDataSet.java | 31 +- .../apache/iotdb/db/query/dataset/ListDataSet.java | 10 +- .../db/query/dataset/NonAlignEngineDataSet.java | 24 +- .../dataset/RawQueryDataSetWithValueFilter.java | 17 +- .../dataset/RawQueryDataSetWithoutValueFilter.java | 44 +- .../db/query/dataset/ShowTimeseriesDataSet.java | 12 +- .../iotdb/db/query/dataset/SingleDataSet.java | 7 +- .../dataset/groupby/GroupByEngineDataSet.java | 46 +- .../db/query/dataset/groupby/GroupByExecutor.java | 3 + .../query/dataset/groupby/GroupByFillDataSet.java | 79 +- .../query/dataset/groupby/GroupByTimeDataSet.java | 19 +- .../groupby/GroupByWithValueFilterDataSet.java | 130 +- .../groupby/GroupByWithoutValueFilterDataSet.java | 76 +- .../dataset/groupby/LocalGroupByExecutor.java | 135 +- .../db/query/executor/AggregationExecutor.java | 97 +- .../iotdb/db/query/executor/FillQueryExecutor.java | 19 +- .../iotdb/db/query/executor/LastQueryExecutor.java | 65 +- .../iotdb/db/query/executor/QueryRouter.java | 48 +- .../db/query/executor/RawDataQueryExecutor.java | 75 +- .../apache/iotdb/db/query/executor/fill/IFill.java | 4 +- .../db/query/executor/fill/LastPointReader.java | 7 +- .../iotdb/db/query/executor/fill/LinearFill.java | 17 +- .../iotdb/db/query/executor/fill/PreviousFill.java | 11 +- .../FixLengthIExternalSortFileDeserializer.java | 75 +- .../db/query/reader/chunk/DiskChunkLoader.java | 2 +- .../db/query/reader/chunk/MemChunkReader.java | 28 +- .../iotdb/db/query/reader/chunk/MemPageReader.java | 38 +- .../chunk/metadata/DiskChunkMetadataLoader.java | 7 +- .../chunk/metadata/MemChunkMetadataLoader.java | 11 +- .../reader/series/DescSeriesReaderByTimestamp.java | 53 + .../db/query/reader/series/IReaderByTimestamp.java | 15 +- .../query/reader/series/SeriesAggregateReader.java | 15 +- .../reader/series/SeriesRawDataBatchReader.java | 15 +- .../iotdb/db/query/reader/series/SeriesReader.java | 354 ++++-- .../reader/series/SeriesReaderByTimestamp.java | 33 +- .../reader/universal/DescPriorityMergeReader.java | 51 + .../reader/universal/PriorityMergeReader.java | 28 +- .../query/timegenerator/ServerTimeGenerator.java | 57 +- .../CachedStringPool.java} | 30 +- .../org/apache/iotdb/db/rescon/MemTablePool.java | 2 +- .../java/org/apache/iotdb/db/service/IoTDB.java | 6 +- .../iotdb/db/service/MetricsServiceMBean.java | 26 +- .../org/apache/iotdb/db/service/ServiceType.java | 1 + .../org/apache/iotdb/db/service/StaticResps.java | 8 + .../org/apache/iotdb/db/service/TSServiceImpl.java | 395 +++--- .../iotdb/db/sync/receiver/load/FileLoader.java | 12 +- .../db/sync/receiver/load/FileLoaderManager.java | 3 +- .../receiver/recover/SyncReceiverLogAnalyzer.java | 1 + .../db/sync/receiver/transfer/SyncServiceImpl.java | 15 +- .../db/sync/sender/manage/SyncFileManager.java | 20 +- .../iotdb/db/sync/sender/transfer/SyncClient.java | 8 +- .../apache/iotdb/db/tools/IoTDBDataDirViewer.java | 12 +- .../iotdb/db/tools/TsFileResourcePrinter.java | 3 +- .../apache/iotdb/db/tools/TsFileSketchTool.java | 254 ++-- .../apache/iotdb/db/tools/logvisual/LogEntry.java | 146 --- .../apache/iotdb/db/tools/logvisual/LogFilter.java | 220 ---- .../iotdb/db/tools/logvisual/LogVisualizer.java | 437 ------- .../iotdb/db/tools/logvisual/PatternLogParser.java | 197 --- .../db/tools/logvisual/TimeSeriesStatistics.java | 113 -- .../iotdb/db/tools/logvisual/VisualUtils.java | 69 -- .../db/tools/logvisual/VisualizationPlan.java | 259 ---- .../db/tools/logvisual/conf/GuiPropertyKeys.java | 48 - .../exceptions/NoLogFileLoadedException.java | 28 - .../logvisual/exceptions/NoSuchPlanException.java | 28 - .../exceptions/UnmatchedContentException.java | 28 - .../db/tools/logvisual/gui/ClosableComboTab.java | 42 - .../iotdb/db/tools/logvisual/gui/ClosableTab.java | 55 - .../db/tools/logvisual/gui/FileSelectionBox.java | 109 -- .../db/tools/logvisual/gui/LabeledComboBox.java | 63 - .../iotdb/db/tools/logvisual/gui/LoadLogBox.java | 62 - .../tools/logvisual/gui/LogVisualizationGui.java | 182 --- .../iotdb/db/tools/logvisual/gui/MainPanel.java | 107 -- .../iotdb/db/tools/logvisual/gui/PlanBox.java | 301 ----- .../db/tools/logvisual/gui/PlanDetailPanel.java | 242 ---- .../db/tools/logvisual/gui/ResultPlotTab.java | 49 - .../db/tools/logvisual/gui/ResultStatisticTab.java | 74 -- .../db/tools/upgrade/TsFileOnlineUpgradeTool.java | 1 + .../db/tools/watermark/WatermarkDetector.java | 94 +- .../org/apache/iotdb/db/utils/CommonUtils.java | 7 +- .../org/apache/iotdb/db/utils/FileLoaderUtils.java | 15 +- .../org/apache/iotdb/db/utils/FilePathUtils.java | 23 +- .../java/org/apache/iotdb/db/utils/MergeUtils.java | 54 +- .../org/apache/iotdb/db/utils/OpenFileNumUtil.java | 10 +- .../apache/iotdb/db/utils/QueryDataSetUtils.java | 2 + .../java/org/apache/iotdb/db/utils/QueryUtils.java | 30 +- .../org/apache/iotdb/db/utils/SchemaUtils.java | 81 +- .../org/apache/iotdb/db/utils/SerializeUtils.java | 2 +- .../apache/iotdb/db/utils/TypeInferenceUtils.java | 3 +- .../org/apache/iotdb/db/utils/UpgradeUtils.java | 17 +- .../iotdb/db/writelog/io/BatchLogReader.java | 3 +- .../writelog/manager/MultiFileLogNodeManager.java | 36 +- .../iotdb/db/writelog/recover/LogReplayer.java | 62 +- .../writelog/recover/TsFileRecoverPerformer.java | 151 ++- .../db/auth/authorizer/OpenIdAuthorizerTest.java | 18 +- .../apache/iotdb/db/conf/IoTDBDescriptorTest.java | 76 ++ .../org/apache/iotdb/db/constant/TestConstant.java | 16 +- .../iotdb/db/engine/MetadataManagerHelper.java | 43 +- .../db/engine/cache/ChunkMetadataCacheTest.java | 43 +- .../db/engine/memtable/MemTableFlushTaskTest.java | 6 +- .../iotdb/db/engine/memtable/MemTablePoolTest.java | 1 + .../apache/iotdb/db/engine/merge/MergeLogTest.java | 3 +- .../iotdb/db/engine/merge/MergeManagerTest.java | 12 + .../iotdb/db/engine/merge/MergeOverLapTest.java | 25 +- .../iotdb/db/engine/merge/MergeTaskTest.java | 50 +- .../apache/iotdb/db/engine/merge/MergeTest.java | 10 +- .../iotdb/db/engine/merge/MergeUpgradeTest.java | 6 +- .../engine/modification/DeletionFileNodeTest.java | 95 +- .../db/engine/modification/DeletionQueryTest.java | 133 +- .../engine/modification/ModificationFileTest.java | 17 +- .../io/LocalTextModificationAccessorTest.java | 9 +- .../storagegroup/FileNodeManagerBenchmark.java | 11 +- .../storagegroup/StorageGroupProcessorTest.java | 101 +- .../iotdb/db/engine/storagegroup/TTLTest.java | 98 +- .../engine/storagegroup/TsFileProcessorTest.java | 154 +-- .../version/SysTimeVersionControllerTest.java | 1 + .../iotdb/db/integration/IOTDBGroupByIT.java | 39 + .../iotdb/db/integration/IoTDBAggregationIT.java | 35 +- .../integration/IoTDBAggregationLargeDataIT.java | 285 +++-- .../apache/iotdb/db/integration/IoTDBAliasIT.java | 49 +- .../iotdb/db/integration/IoTDBAlignByDeviceIT.java | 164 +-- .../org/apache/iotdb/db/integration/IoTDBAsIT.java | 603 +++++++++ .../iotdb/db/integration/IoTDBAuthorizationIT.java | 1290 ++++++++++---------- .../apache/iotdb/db/integration/IoTDBCloseIT.java | 112 +- .../apache/iotdb/db/integration/IoTDBDaemonIT.java | 28 +- .../db/integration/IoTDBDeleteStorageGroupIT.java | 14 +- .../db/integration/IoTDBDeleteTimeseriesIT.java | 184 +++ .../db/integration/IoTDBEngineTimeGeneratorIT.java | 24 +- .../apache/iotdb/db/integration/IoTDBFillIT.java | 283 +++-- .../db/integration/IoTDBFlushQueryMergeIT.java | 67 +- .../iotdb/db/integration/IoTDBGroupByFillIT.java | 40 + .../iotdb/db/integration/IoTDBLargeDataIT.java | 23 +- .../apache/iotdb/db/integration/IoTDBLastIT.java | 119 +- .../db/integration/IoTDBLoadExternalTsfileIT.java | 124 +- .../iotdb/db/integration/IoTDBMergeTest.java | 68 +- .../iotdb/db/integration/IoTDBMetadataFetchIT.java | 166 ++- .../IoTDBMultiOverlappedChunkInUnseqIT.java | 9 +- .../db/integration/IoTDBMultiOverlappedPageIT.java | 20 +- .../iotdb/db/integration/IoTDBMultiSeriesIT.java | 25 +- .../db/integration/IoTDBMultiStatementsIT.java | 92 +- .../iotdb/db/integration/IoTDBNumberPathIT.java | 13 +- .../db/integration/IoTDBOverlappedPageIT.java | 12 +- .../iotdb/db/integration/IoTDBQuotedPathIT.java | 152 ++- .../iotdb/db/integration/IoTDBRecoverIT.java | 75 +- .../db/integration/IoTDBRemovePartitionIT.java | 30 +- .../iotdb/db/integration/IoTDBRestartIT.java | 149 ++- .../db/integration/IoTDBSequenceDataQueryIT.java | 51 +- .../iotdb/db/integration/IoTDBSeriesReaderIT.java | 55 +- .../iotdb/db/integration/IoTDBSimpleQueryIT.java | 336 +++-- .../iotdb/db/integration/IoTDBTagAlterIT.java | 410 ++++--- .../apache/iotdb/db/integration/IoTDBTagIT.java | 623 +++++----- .../iotdb/db/integration/IoTDBTimeZoneIT.java | 12 +- .../iotdb/db/metadata/MManagerAdvancedTest.java | 71 +- .../iotdb/db/metadata/MManagerBasicTest.java | 246 ++-- .../iotdb/db/metadata/MManagerImproveTest.java | 45 +- .../org/apache/iotdb/db/metadata/MTreeTest.java | 323 ++--- .../apache/iotdb/db/metadata/MetaUtilsTest.java | 65 + .../apache/iotdb/db/metadata/PartialPathTest.java | 74 ++ .../java/org/apache/iotdb/db/qp/PlannerTest.java | 39 +- .../iotdb/db/qp/other/TSPlanContextAuthorTest.java | 7 +- .../iotdb/db/qp/plan/ConcatOptimizerTest.java | 31 +- .../iotdb/db/qp/plan/LogicalPlanSmallTest.java | 44 +- .../apache/iotdb/db/qp/plan/PhysicalPlanTest.java | 96 +- .../apache/iotdb/db/qp/plan/SerializationTest.java | 15 +- .../db/query/control/FileReaderManagerTest.java | 4 +- .../dataset/EngineDataSetWithValueFilterTest.java | 25 +- .../db/query/dataset/GroupByFillDataSetTest.java | 188 +++ .../db/query/dataset/GroupByLevelDataSetTest.java | 1 - .../db/query/dataset/GroupByTimeDataSetTest.java | 151 ++- .../query/executor/GroupByEngineDataSetTest.java | 9 +- .../reader/series/SeriesAggregateReaderTest.java | 33 +- .../reader/series/SeriesReaderByTimestampTest.java | 22 +- .../db/query/reader/series/SeriesReaderTest.java | 66 +- .../query/reader/series/SeriesReaderTestUtil.java | 7 +- .../apache/iotdb/db/sql/CheckPathValidityTest.java | 3 +- .../db/sync/receiver/load/FileLoaderTest.java | 57 +- .../recover/SyncReceiverLogAnalyzerTest.java | 39 +- .../db/sync/sender/manage/SyncFileManagerTest.java | 3 +- .../sender/recover/SyncSenderLogAnalyzerTest.java | 7 +- .../apache/iotdb/db/tools/IoTDBWatermarkTest.java | 74 +- .../org/apache/iotdb/db/tools/WalCheckerTest.java | 17 +- .../apache/iotdb/db/utils/EnvironmentUtils.java | 24 +- .../iotdb/db/utils/TypeInferenceUtilsTest.java | 7 +- .../db/utils/datastructure/PrecisionTest.java | 2 +- .../apache/iotdb/db/writelog/PerformanceTest.java | 26 +- .../iotdb/db/writelog/WriteLogNodeManagerTest.java | 8 +- .../apache/iotdb/db/writelog/WriteLogNodeTest.java | 32 +- .../iotdb/db/writelog/io/LogWriterReaderTest.java | 11 +- .../db/writelog/io/MultiFileLogReaderTest.java | 6 +- .../db/writelog/recover/DeviceStringTest.java | 16 +- .../iotdb/db/writelog/recover/LogReplayerTest.java | 119 +- .../recover/RecoverResourceFromReaderTest.java | 40 +- .../db/writelog/recover/SeqTsFileRecoverTest.java | 49 +- .../writelog/recover/UnseqTsFileRecoverTest.java | 45 +- .../java/org/apache/iotdb/rpc/IoTDBRpcDataSet.java | 1 + .../java/org/apache/iotdb/rpc/TSStatusCode.java | 1 + .../java/org/apache/iotdb/session/Session.java | 51 +- .../org/apache/iotdb/session/SessionDataSet.java | 4 +- .../org/apache/iotdb/session/SessionUtils.java | 1 + .../org/apache/iotdb/session/pool/SessionPool.java | 36 +- ...DBSessionIT.java => IoTDBSessionComplexIT.java} | 896 ++++---------- .../apache/iotdb/session/IoTDBSessionSimpleIT.java | 261 ++++ .../apache/iotdb/session/pool/SessionPoolTest.java | 69 +- site/iotdb-doap.rdf | 14 +- site/src/main/.vuepress/config.js | 13 +- site/src/main/.vuepress/theme/components/Page.vue | 3 +- .../theme/global-components/Contributor.vue | 13 +- .../.vuepress/theme/global-components/IoTDB.vue | 17 +- .../.vuepress/theme/global-components/IoTDBZH.vue | 23 +- site/src/main/package.json | 4 +- spark-iotdb-connector/pom.xml | 5 - .../iotdb/spark/tsfile/qp/QueryProcessor.java | 2 + .../qp/optimizer/MergeSingleFilterOptimizer.java | 1 + .../tsfile/qp/optimizer/PhysicalOptimizer.java | 2 + .../apache/iotdb/spark/tsfile/DefaultSource.scala | 2 +- .../iotdb/spark/tsfile/NarrowConverter.scala | 71 +- .../apache/iotdb/spark/tsfile/WideConverter.scala | 54 +- thrift/src/main/thrift/rpc.thrift | 42 +- thrift/src/pypi/README.md | 6 +- thrift/src/pypi/setup.py | 2 +- tools/download_staged_release.sh | 4 +- .../tsfile/common/constant/TsFileConstant.java | 5 +- .../iotdb/tsfile/encoding/encoder/RleEncoder.java | 1 + .../iotdb/tsfile/file/header/ChunkHeader.java | 32 +- .../iotdb/tsfile/file/metadata/ChunkMetadata.java | 16 +- .../file/metadata/MetadataIndexConstructor.java | 1 + .../file/metadata/statistics/Statistics.java | 5 + .../fileOutputFactory/HDFSOutputFactory.java | 3 +- .../tsfile/fileSystem/fsFactory/HDFSFactory.java | 12 +- .../iotdb/tsfile/read/TsFileCheckStatus.java | 1 - .../iotdb/tsfile/read/TsFileSequenceReader.java | 39 +- .../apache/iotdb/tsfile/read/common/BatchData.java | 53 +- .../iotdb/tsfile/read/common/BatchDataFactory.java | 26 +- .../org/apache/iotdb/tsfile/read/common/Chunk.java | 9 + .../iotdb/tsfile/read/common/DescBatchData.java | 66 + .../org/apache/iotdb/tsfile/read/common/Path.java | 206 +--- .../iotdb/tsfile/read/common/TimeColumn.java | 111 -- .../apache/iotdb/tsfile/read/common/TimeRange.java | 11 +- .../read/controller/MetadataQuerierByFileImpl.java | 2 + .../query/dataset/DataSetWithoutTimeGenerator.java | 1 + .../tsfile/read/query/dataset/QueryDataSet.java | 8 + .../read/query/timegenerator/TimeGenerator.java | 6 +- .../query/timegenerator/TsFileTimeGenerator.java | 5 + .../read/query/timegenerator/node/AndNode.java | 58 +- .../read/query/timegenerator/node/LeafNode.java | 1 - .../read/query/timegenerator/node/OrNode.java | 38 +- .../iotdb/tsfile/read/reader/IPageReader.java | 7 +- .../iotdb/tsfile/read/reader/page/PageReader.java | 8 +- .../reader/series/FileSeriesReaderByTimestamp.java | 2 + .../iotdb/tsfile/utils/RamUsageEstimator.java | 1 + .../iotdb/tsfile/write/chunk/ChunkWriterImpl.java | 1 + .../iotdb/tsfile/write/chunk/IChunkWriter.java | 6 + .../apache/iotdb/tsfile/write/record/Tablet.java | 62 +- .../tsfile/write/schema/MeasurementSchema.java | 61 +- .../write/writer/ForceAppendTsFileWriter.java | 3 +- .../tsfile/write/writer/LocalTsFileOutput.java | 4 +- .../write/writer/RestorableTsFileIOWriter.java | 42 +- .../iotdb/tsfile/write/writer/TsFileIOWriter.java | 20 +- .../iotdb/tsfile/write/writer/TsFileOutput.java | 4 +- .../iotdb/tsfile/read/ReadInPartitionTest.java | 22 +- .../iotdb/tsfile/read/ReadOnlyTsFileTest.java | 20 +- .../org/apache/iotdb/tsfile/read/ReadTest.java | 59 +- .../iotdb/tsfile/read/TimePlainEncodeReadTest.java | 71 +- .../apache/iotdb/tsfile/read/common/PathTest.java | 80 +- .../tsfile/read/controller/ChunkLoaderTest.java | 2 +- .../controller/IMetadataQuerierByFileImplTest.java | 16 +- .../read/filter/IExpressionOptimizerTest.java | 30 +- .../read/query/executor/QueryExecutorTest.java | 20 +- .../tsfile/read/query/timegenerator/NodeTest.java | 2 - .../read/query/timegenerator/ReadWriteTest.java | 8 +- .../query/timegenerator/ReaderByTimestampTest.java | 2 +- .../timegenerator/TimeGeneratorReadEmptyTest.java | 8 +- .../timegenerator/TimeGeneratorReadWriteTest.java | 8 +- .../query/timegenerator/TimeGeneratorTest.java | 6 +- .../TsFileGeneratorForSeriesReaderByTimestamp.java | 22 +- .../tsfile/read/reader/FakedTimeGenerator.java | 12 +- .../iotdb/tsfile/read/reader/ReaderTest.java | 8 +- .../apache/iotdb/tsfile/utils/FileGenerator.java | 22 +- .../apache/iotdb/tsfile/utils/RecordUtilsTest.java | 12 +- .../iotdb/tsfile/utils/StringContainerTest.java | 5 +- .../iotdb/tsfile/utils/TsFileGeneratorForTest.java | 101 +- .../org/apache/iotdb/tsfile/write/PerfTest.java | 78 +- .../iotdb/tsfile/write/ReadPageInMemTest.java | 16 +- ...SameMeasurementsWithDifferentDataTypesTest.java | 4 +- .../iotdb/tsfile/write/TsFileReadWriteTest.java | 4 +- .../iotdb/tsfile/write/TsFileWriterTest.java | 18 +- .../org/apache/iotdb/tsfile/write/WriteTest.java | 51 +- .../write/schema/converter/SchemaBuilderTest.java | 6 +- .../write/writer/ForceAppendTsFileWriterTest.java | 8 +- .../write/writer/RestorableTsFileIOWriterTest.java | 102 +- 620 files changed, 22605 insertions(+), 13148 deletions(-)
