This is an automated email from the ASF dual-hosted git repository. haonan pushed a commit to branch jira-727 in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git
commit af1ae6112b6c25124cc23b13634483156929d961 Merge: 8441461 92f014f Author: HTHou <[email protected]> AuthorDate: Tue Jun 9 11:05:05 2020 +0800 merge master .../org/apache/iotdb/jdbc/IoTDBConnection.java | 7 +- .../java/org/apache/iotdb/jdbc/IoTDBStatement.java | 9 +- .../org/apache/iotdb/db/qp/strategy/SqlBase.g4 | 7 +- .../iotdb/db/auth/authorizer/BasicAuthorizer.java | 73 ++- .../iotdb/db/auth/authorizer/IAuthorizer.java | 186 ++++---- .../apache/iotdb/db/auth/entity/PathPrivilege.java | 26 +- .../java/org/apache/iotdb/db/auth/entity/Role.java | 35 +- .../java/org/apache/iotdb/db/auth/entity/User.java | 51 ++- .../iotdb/db/auth/role/BasicRoleManager.java | 18 + .../apache/iotdb/db/auth/role/IRoleManager.java | 30 +- .../iotdb/db/auth/user/BasicUserManager.java | 20 + .../apache/iotdb/db/auth/user/IUserManager.java | 96 ++-- .../java/org/apache/iotdb/db/conf/IoTDBConfig.java | 15 +- .../org/apache/iotdb/db/conf/IoTDBDescriptor.java | 37 +- .../org/apache/iotdb/db/engine/StorageEngine.java | 82 +++- .../iotdb/db/engine/merge/task/MergeFileTask.java | 8 +- .../db/engine/modification/ModificationFile.java | 40 +- .../engine/storagegroup/StorageGroupProcessor.java | 183 ++++++-- .../iotdb/db/engine/storagegroup/TsFileLock.java | 111 +++++ .../db/engine/storagegroup/TsFileResource.java | 112 ++++- .../iotdb/db/engine/upgrade/UpgradeTask.java | 8 +- .../version/SimpleFileVersionController.java | 1 - .../iotdb/db/engine/version/VersionController.java | 1 + .../org/apache/iotdb/db/metadata/MManager.java | 168 +++++-- .../java/org/apache/iotdb/db/metadata/MTree.java | 2 +- .../apache/iotdb/db/qp/constant/SQLConstant.java | 3 + .../apache/iotdb/db/qp/executor/IPlanExecutor.java | 3 +- .../apache/iotdb/db/qp/executor/PlanExecutor.java | 160 +++++-- .../qp/logical/sys/LoadConfigurationOperator.java | 13 +- .../apache/iotdb/db/qp/physical/PhysicalPlan.java | 127 +++++- .../iotdb/db/qp/physical/crud/DeletePlan.java | 21 +- .../iotdb/db/qp/physical/crud/InsertPlan.java | 28 +- .../db/qp/physical/crud/InsertTabletPlan.java | 6 +- .../iotdb/db/qp/physical/sys/AuthorPlan.java | 189 +++++++- .../db/qp/physical/sys/CreateTimeSeriesPlan.java | 8 +- .../iotdb/db/qp/physical/sys/DataAuthPlan.java | 53 ++- .../db/qp/physical/sys/DeleteStorageGroupPlan.java | 36 ++ .../db/qp/physical/sys/DeleteTimeSeriesPlan.java | 48 +- .../db/qp/physical/sys/LoadConfigurationPlan.java | 102 ++++- .../db/qp/physical/sys/SetStorageGroupPlan.java | 4 +- .../iotdb/db/qp/physical/sys/SetTTLPlan.java | 29 ++ .../db/qp/physical/sys/ShowChildPathsPlan.java | 2 +- .../db/qp/physical/sys/ShowTimeSeriesPlan.java | 31 ++ .../iotdb/db/qp/strategy/LogicalGenerator.java | 11 +- .../iotdb/db/qp/strategy/PhysicalGenerator.java | 28 +- .../db/query/aggregation/AggregateResult.java | 7 +- .../iotdb/db/query/control/FileReaderManager.java | 4 +- .../db/query/dataset/AlignByDeviceDataSet.java | 18 +- .../db/query/dataset/ShowTimeSeriesResult.java | 79 +++- .../dataset/groupby/LocalGroupByExecutor.java | 11 +- .../iotdb/db/query/executor/FillQueryExecutor.java | 9 +- .../apache/iotdb/db/query/executor/fill/IFill.java | 15 +- .../db/query/executor/fill/LastPointReader.java | 17 +- .../iotdb/db/query/executor/fill/LinearFill.java | 39 +- .../iotdb/db/query/reader/series/SeriesReader.java | 8 +- .../org/apache/iotdb/db/service/JMXService.java | 2 +- .../org/apache/iotdb/db/service/RPCService.java | 2 + .../org/apache/iotdb/db/service/TSServiceImpl.java | 2 +- .../org/apache/iotdb/db/utils/OpenFileNumUtil.java | 2 +- .../org/apache/iotdb/db/utils/SerializeUtils.java | 497 +++++++++++++++++++++ .../org/apache/iotdb/db/utils/UpgradeUtils.java | 4 +- .../writelog/manager/MultiFileLogNodeManager.java | 4 +- .../db/writelog/node/ExclusiveWriteLogNode.java | 4 +- .../iotdb/db/engine/storagegroup/TTLTest.java | 3 +- .../iotdb/db/metadata/MManagerAdvancedTest.java | 48 +- .../apache/iotdb/db/qp/plan/PhysicalPlanTest.java | 100 ++++- .../org/apache/iotdb/db/tools/WalCheckerTest.java | 4 +- .../iotdb/db/writelog/io/LogWriterReaderTest.java | 2 +- .../db/writelog/io/MultiFileLogReaderTest.java | 2 +- .../java/org/apache/iotdb/rpc/TSStatusCode.java | 9 + service-rpc/src/main/thrift/cluster.thrift | 387 ++++++++++++++++ .../java/org/apache/iotdb/session/Session.java | 9 +- .../apache/iotdb/tsfile/common/cache/LRUCache.java | 10 +- .../apache/iotdb/tsfile/read/TimeValuePair.java | 1 - .../iotdb/tsfile/utils/ReadWriteIOUtils.java | 9 + 75 files changed, 3045 insertions(+), 491 deletions(-) diff --cc server/src/main/java/org/apache/iotdb/db/metadata/MManager.java index a6fcafe,7a857a6..4a7fe40 --- a/server/src/main/java/org/apache/iotdb/db/metadata/MManager.java +++ b/server/src/main/java/org/apache/iotdb/db/metadata/MManager.java @@@ -128,23 -132,33 +132,35 @@@ public class MManager isRecovering = true; int cacheSize = config.getmManagerCacheSize(); - mNodeCache = - new RandomDeleteCache<String, MNode>(cacheSize) { - - @Override - public MNode loadObjectByKey(String key) throws CacheException { - lock.readLock().lock(); - try { - MNode node = mtree.getNodeByPathWithStorageGroupCheck(key); - node.setFullPath(key); - return node; - } catch (MetadataException e) { - throw new CacheException(e); - } finally { - lock.readLock().unlock(); - } - } - }; + mNodeCache = new RandomDeleteCache<String, MNode>(cacheSize) { + + @Override + public MNode loadObjectByKey(String key) throws CacheException { + lock.readLock().lock(); + try { - return mtree.getNodeByPathWithStorageGroupCheck(key); ++ MNode node = mtree.getNodeByPathWithStorageGroupCheck(key); ++ node.setFullPath(key); ++ return node; + } catch (MetadataException e) { + throw new CacheException(e); + } finally { + lock.readLock().unlock(); + } + } + }; + + int remoteCacheSize = config.getmRemoteSchemaCacheSize(); + mRemoteSchemaCache = new LRUCache<String, MeasurementSchema>(remoteCacheSize) { + @Override + protected MeasurementSchema loadObjectByKey(String key) { + return null; + } + + @Override + public synchronized void removeItem(String key) { + cache.keySet().removeIf(s -> s.startsWith(key)); + } + }; } public static MManager getInstance() {
