This is an automated email from the ASF dual-hosted git repository. jackietien pushed a commit to branch add-java-doc in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 12e2c90137bb551809fbacb9d3de9f9d3e954f50 Merge: f70b5e4 06001d1 Author: JackieTien97 <[email protected]> AuthorDate: Wed Jun 9 11:02:26 2021 +0800 Merge remote-tracking branch 'origin/master' into add-java-doc .../iotdb/cluster/log/applier/BaseApplier.java | 6 +- .../apache/iotdb/cluster/metadata/CMManager.java | 178 +---- .../apache/iotdb/cluster/metadata/MetaPuller.java | 173 +++++ .../cluster/query/ClusterPhysicalGenerator.java | 15 +- .../iotdb/cluster/utils/ClusterQueryUtils.java | 5 +- .../query/ClusterPhysicalGeneratorTest.java | 20 +- .../main/java/org/apache/iotdb/SessionExample.java | 2 +- .../org/apache/iotdb/db/auth/AuthorityChecker.java | 6 +- .../db/engine/cache/TimeSeriesMetadataCache.java | 17 +- .../db/engine/compaction/TsFileManagement.java | 4 +- .../engine/storagegroup/StorageGroupProcessor.java | 4 + .../exception/query/LogicalOptimizeException.java | 7 +- .../main/java/org/apache/iotdb/db/qp/Planner.java | 8 +- .../iotdb/db/qp/constant/FilterConstant.java | 95 +++ .../apache/iotdb/db/qp/constant/SQLConstant.java | 60 +- .../apache/iotdb/db/qp/executor/PlanExecutor.java | 2 +- .../org/apache/iotdb/db/qp/logical/Operator.java | 115 +-- .../apache/iotdb/db/qp/logical/RootOperator.java | 30 - .../qp/logical/crud/AggregationQueryOperator.java | 130 ++++ .../db/qp/logical/crud/BasicFunctionOperator.java | 26 +- .../db/qp/logical/crud/BasicOperatorType.java | 24 +- .../db/qp/logical/crud/DeleteDataOperator.java | 10 + .../FillClauseComponent.java} | 24 +- .../db/qp/logical/crud/FillQueryOperator.java | 77 ++ .../iotdb/db/qp/logical/crud/FilterOperator.java | 81 +- .../crud/{FromOperator.java => FromComponent.java} | 12 +- .../iotdb/db/qp/logical/crud/FunctionOperator.java | 7 +- .../crud/GroupByClauseComponent.java} | 63 +- .../GroupByFillClauseComponent.java} | 24 +- .../qp/logical/crud/GroupByFillQueryOperator.java | 72 ++ .../db/qp/logical/crud/GroupByQueryOperator.java | 68 ++ .../iotdb/db/qp/logical/crud/InOperator.java | 16 +- .../iotdb/db/qp/logical/crud/InsertOperator.java | 41 + .../db/qp/logical/crud/LastQueryOperator.java | 64 ++ .../iotdb/db/qp/logical/crud/QueryOperator.java | 658 ++++++++++------ .../{SelectOperator.java => SelectComponent.java} | 17 +- .../db/qp/logical/crud/SpecialClauseComponent.java | 129 ++++ ...FunctionOperator.java => UDFQueryOperator.java} | 38 +- .../WhereComponent.java} | 22 +- .../db/qp/logical/sys/AlterTimeSeriesOperator.java | 14 +- .../iotdb/db/qp/logical/sys/AuthorOperator.java | 20 +- .../db/qp/logical/sys/ClearCacheOperator.java | 14 +- .../iotdb/db/qp/logical/sys/CountOperator.java | 27 + .../db/qp/logical/sys/CreateFunctionOperator.java | 14 +- .../db/qp/logical/sys/CreateIndexOperator.java | 10 + .../db/qp/logical/sys/CreateSnapshotOperator.java | 14 +- .../qp/logical/sys/CreateTimeSeriesOperator.java | 23 +- .../db/qp/logical/sys/CreateTriggerOperator.java | 14 +- .../iotdb/db/qp/logical/sys/DataAuthOperator.java | 12 +- .../db/qp/logical/sys/DeletePartitionOperator.java | 14 +- .../qp/logical/sys/DeleteStorageGroupOperator.java | 12 +- .../qp/logical/sys/DeleteTimeSeriesOperator.java | 12 +- .../db/qp/logical/sys/DropFunctionOperator.java | 14 +- .../iotdb/db/qp/logical/sys/DropIndexOperator.java | 10 + .../db/qp/logical/sys/DropTriggerOperator.java | 14 +- .../iotdb/db/qp/logical/sys/FlushOperator.java | 14 +- .../iotdb/db/qp/logical/sys/KillQueryOperator.java | 14 +- .../qp/logical/sys/LoadConfigurationOperator.java | 13 +- .../iotdb/db/qp/logical/sys/LoadDataOperator.java | 14 +- .../iotdb/db/qp/logical/sys/LoadFilesOperator.java | 14 +- .../iotdb/db/qp/logical/sys/MergeOperator.java | 19 +- .../iotdb/db/qp/logical/sys/MoveFileOperator.java | 14 +- .../db/qp/logical/sys/RemoveFileOperator.java | 14 +- .../db/qp/logical/sys/SetStorageGroupOperator.java | 12 +- .../iotdb/db/qp/logical/sys/SetTTLOperator.java | 14 +- .../db/qp/logical/sys/ShowChildNodesOperator.java | 11 + .../db/qp/logical/sys/ShowChildPathsOperator.java | 11 + .../db/qp/logical/sys/ShowDevicesOperator.java | 10 + .../db/qp/logical/sys/ShowFunctionsOperator.java | 11 + .../db/qp/logical/sys/ShowMergeStatusOperator.java | 14 +- .../iotdb/db/qp/logical/sys/ShowOperator.java | 28 +- .../qp/logical/sys/ShowStorageGroupOperator.java | 11 + .../iotdb/db/qp/logical/sys/ShowTTLOperator.java | 8 + .../db/qp/logical/sys/ShowTimeSeriesOperator.java | 15 + .../db/qp/logical/sys/ShowTriggersOperator.java | 11 + .../db/qp/logical/sys/StartTriggerOperator.java | 14 +- .../db/qp/logical/sys/StopTriggerOperator.java | 14 +- .../iotdb/db/qp/logical/sys/TracingOperator.java | 14 +- .../{SetTTLOperator.java => UnSetTTLOperator.java} | 21 +- .../iotdb/db/qp/physical/crud/AggregationPlan.java | 8 - .../db/qp/physical/crud/AlignByDevicePlan.java | 2 +- .../iotdb/db/qp/physical/crud/FillQueryPlan.java | 9 - .../iotdb/db/qp/physical/crud/GroupByTimePlan.java | 4 +- .../db/qp/physical/crud/InsertTabletPlan.java | 10 +- .../iotdb/db/qp/physical/crud/QueryPlan.java | 3 +- .../iotdb/db/qp/physical/sys/LoadDataPlan.java | 2 +- .../iotdb/db/qp/physical/sys/ShowDevicesPlan.java | 4 +- .../apache/iotdb/db/qp/physical/sys/ShowPlan.java | 3 +- .../db/qp/physical/sys/ShowTimeSeriesPlan.java | 4 +- .../apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java | 340 +++++---- .../iotdb/db/qp/strategy/LogicalChecker.java | 80 +- .../iotdb/db/qp/strategy/LogicalGenerator.java | 41 +- .../iotdb/db/qp/strategy/PhysicalGenerator.java | 841 +-------------------- .../qp/strategy/optimizer/ConcatPathOptimizer.java | 38 +- .../qp/strategy/optimizer/DnfFilterOptimizer.java | 22 +- .../optimizer/MergeSingleFilterOptimizer.java | 4 +- .../qp/strategy/optimizer/RemoveNotOptimizer.java | 21 +- .../apache/iotdb/db/qp/utils/WildcardsRemover.java | 28 +- .../db/query/dataset/AlignByDeviceDataSet.java | 2 +- .../org/apache/iotdb/db/service/TSServiceImpl.java | 2 +- .../iotdb/db/integration/IOTDBGroupByIT.java | 4 +- .../iotdb/db/integration/IoTDBDisableAlignIT.java | 19 +- .../iotdb/db/integration/IoTDBGroupByFillIT.java | 6 +- .../db/integration/IoTDBUDTFHybridQueryIT.java | 2 +- .../aggregation/IoTDBAggregationByLevelIT.java | 4 +- .../java/org/apache/iotdb/db/qp/PlannerTest.java | 2 +- .../iotdb/db/qp/logical/IndexLogicalPlanTest.java | 14 +- .../iotdb/db/qp/logical/LogicalPlanSmallTest.java | 121 ++- .../main/java/org/apache/iotdb/rpc/RpcUtils.java | 8 +- .../java/org/apache/iotdb/session/Session.java | 78 +- .../apache/iotdb/session/SessionConnection.java | 14 +- .../apache/iotdb/session/SessionCacheLeaderUT.java | 434 ++++++++++- .../file/metadata/MetadataIndexConstructor.java | 14 +- 113 files changed, 2952 insertions(+), 2159 deletions(-) diff --cc server/src/main/java/org/apache/iotdb/db/engine/storagegroup/StorageGroupProcessor.java index 5a0430d,5ee4adf..eb304e7 --- a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/StorageGroupProcessor.java +++ b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/StorageGroupProcessor.java @@@ -1662,13 -1605,15 +1662,17 @@@ public class StorageGroupProcessor } } + /** lock the read lock of the insert lock */ public void readLock() { + // apply read lock for SG insert lock to prevent inconsistent with concurrently writing memtable insertLock.readLock().lock(); + // apply read lock for TsFileResource list + tsFileManagement.readLock(); } + /** unlock the read lock of insert lock */ public void readUnlock() { + tsFileManagement.readUnLock(); insertLock.readLock().unlock(); }
