This is an automated email from the ASF dual-hosted git repository. rong pushed a commit to branch iotdb-3227 in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 868c43cc2601ea6672f455c3f541e133d9025e6e Merge: d8261859a2 20cf75b8cd Author: Steve Yurong Su <[email protected]> AuthorDate: Wed May 25 16:17:37 2022 +0800 merge master and fix conflicts .../org/apache/iotdb/db/qp/sql/IdentifierParser.g4 | 7 - .../org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4 | 18 +- .../antlr4/org/apache/iotdb/db/qp/sql/SqlLexer.g4 | 113 ----- .../main/java/org/apache/iotdb/tool/ImportCsv.java | 3 +- .../confignode/client/SyncDataNodeClientPool.java | 139 ++++++ .../consensus/request/ConfigRequest.java | 4 + .../consensus/request/ConfigRequestType.java | 1 + .../request/write/PreDeleteStorageGroupReq.java | 86 ++++ .../iotdb/confignode/manager/ConfigManager.java | 15 +- .../apache/iotdb/confignode/manager/Manager.java | 5 +- .../iotdb/confignode/manager/PartitionManager.java | 37 ++ .../confignode/manager/PermissionManager.java | 79 +++- .../iotdb/confignode/manager/ProcedureManager.java | 2 +- .../iotdb/confignode/persistence/AuthorInfo.java | 96 +++- .../confignode/persistence/PartitionInfo.java | 58 ++- .../executor/ConfigRequestExecutor.java | 3 + .../procedure/env/ConfigNodeProcedureEnv.java | 112 +++-- .../impl/DeleteStorageGroupProcedure.java | 169 ++----- .../procedure/state/DeleteStorageGroupState.java | 7 +- .../thrift/ConfigNodeRPCServiceProcessor.java | 5 +- .../confignode/persistence/AuthorInfoTest.java | 10 +- .../confignode/persistence/PartitionInfoTest.java | 5 + .../confignode/procedure/TestProcedureBase.java | 1 + .../procedure/TestProcedureExecutor.java | 1 + .../confignode/procedure/TestSTMProcedure.java | 1 + .../confignode/procedure/entity/IncProcedure.java | 2 +- .../confignode/procedure/entity/NoopProcedure.java | 2 +- .../procedure/entity/SimpleLockProcedure.java | 2 +- .../procedure/entity/SimpleSTMProcedure.java | 2 +- .../procedure/entity/SleepProcedure.java | 2 +- .../procedure/entity/StuckProcedure.java | 2 +- .../procedure/entity/StuckSTMProcedure.java | 2 +- .../procedure/env/TestConfigNodeEnv.java} | 10 +- .../procedure/{ => env}/TestProcEnv.java | 2 +- .../procedure/store/TestProcedureStore.java | 2 +- .../thrift/ConfigNodeRPCServiceProcessorTest.java | 129 +++--- .../confignode1conf/iotdb-confignode.properties | 9 + consensus/pom.xml | 2 +- .../ratis/ApplicationStateMachineProxy.java | 19 +- .../iotdb/consensus/ratis/RatisConsensus.java | 4 + .../iotdb/consensus/ratis/SnapshotStorage.java | 87 +++- .../org/apache/iotdb/consensus/ratis/Utils.java | 7 +- .../iotdb/consensus/wal/ConsensusReqReader.java | 24 +- .../apache/iotdb/consensus/ratis/SnapshotTest.java | 12 +- .../Administration-Management/Administration.md | 6 +- docs/UserGuide/Reference/Syntax-Conventions.md | 476 +++++++++++++------ .../Administration-Management/Administration.md | 6 +- docs/zh/UserGuide/Reference/Syntax-Conventions.md | 499 ++++++++++++++------ .../db/integration/IoTDBCreateTimeseriesIT.java | 78 +++- .../iotdb/db/integration/IoTDBSimpleQueryIT.java | 3 +- .../IoTDBSyntaxConventionIdentifierIT.java | 17 + .../apache/iotdb/commons/conf/IoTDBConstant.java | 4 + .../iotdb/commons/partition/DataPartition.java | 7 +- .../iotdb/commons/partition/SchemaPartition.java | 16 +- pom.xml | 7 + .../schemaregion/rocksdb/RSchemaRegion.java | 14 + .../rocksdb/mnode/RMeasurementMNode.java | 10 + .../resources/conf/iotdb-engine.properties | 8 + server/src/assembly/resources/sbin/stop-server.sh | 15 + .../org/apache/iotdb/db/auth/AuthorityChecker.java | 54 +-- .../AuthorityFetcher.java} | 100 ++-- .../apache/iotdb/db/auth/AuthorizerManager.java | 330 ++++++++++--- .../apache/iotdb/db/client/ConfigNodeClient.java | 13 +- .../java/org/apache/iotdb/db/conf/IoTDBConfig.java | 33 ++ .../org/apache/iotdb/db/conf/IoTDBDescriptor.java | 14 + .../iotdb/db/engine/storagegroup/DataRegion.java | 15 +- .../db/engine/storagegroup/TsFileProcessor.java | 4 +- .../metadata/cache/DataNodeLastCacheManager.java | 6 +- .../db/metadata/cache/DataNodeSchemaCache.java | 17 +- .../iotdb/db/metadata/cache/SchemaCacheEntry.java | 16 +- .../idtable/entry/InsertMeasurementMNode.java | 10 + .../iotdb/db/metadata/mnode/IMeasurementMNode.java | 4 + .../iotdb/db/metadata/mnode/MeasurementMNode.java | 12 + .../db/metadata/mtree/MTreeBelowSGMemoryImpl.java | 1 + .../iotdb/db/metadata/path/MeasurementPath.java | 25 + .../db/metadata/schemaregion/ISchemaRegion.java | 6 + .../schemaregion/SchemaRegionMemoryImpl.java | 20 + .../schemaregion/SchemaRegionSchemaFileImpl.java | 14 + .../db/metadata/utils/TimeseriesVersionUtil.java | 14 +- .../metadata/visitor/SchemaExecutionVisitor.java | 88 ++-- .../iotdb/db/mpp/common/schematree/SchemaTree.java | 18 +- .../common/schematree/node/SchemaInternalNode.java | 5 + .../schematree/node/SchemaMeasurementNode.java | 12 +- .../db/mpp/common/schematree/node/SchemaNode.java | 2 + .../visitor/SchemaTreeMeasurementVisitor.java | 8 +- .../apache/iotdb/db/mpp/plan/analyze/Analyzer.java | 79 ++++ .../db/mpp/plan/analyze/ClusterSchemaFetcher.java | 46 +- .../db/mpp/plan/analyze/FakeSchemaFetcherImpl.java | 8 +- .../iotdb/db/mpp/plan/analyze/SchemaValidator.java | 22 +- .../iotdb/db/mpp/plan/constant/StatementType.java | 1 + .../execution/config/AuthorizerConfigTask.java | 107 +---- .../iotdb/db/mpp/plan/parser/ASTVisitor.java | 109 +++-- .../iotdb/db/mpp/plan/planner/LogicalPlanner.java | 48 +- .../write/CreateAlignedTimeSeriesNode.java | 30 +- .../metedata/write/CreateMultiTimeSeriesNode.java | 362 +++------------ .../node/metedata/write/CreateTimeSeriesNode.java | 36 +- .../plan/node/metedata/write/MeasurementGroup.java | 275 +++++++++++ .../plan/node/write/InsertMultiTabletsNode.java | 15 +- .../plan/planner/plan/node/write/InsertNode.java | 6 +- .../planner/plan/node/write/InsertRowsNode.java | 9 + .../plan/node/write/InsertRowsOfOneDeviceNode.java | 9 + .../db/mpp/plan/statement/StatementVisitor.java | 7 + .../metadata/CreateAlignedTimeSeriesStatement.java | 32 +- .../metadata/CreateMultiTimeSeriesStatement.java | 19 - .../CreateTimeSeriesByDeviceStatement.java | 68 +++ .../qp/logical/sys/CreateTimeSeriesOperator.java | 58 +++ .../apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java | 200 +++++--- .../iotdb/db/qp/strategy/LogicalChecker.java | 5 + .../apache/iotdb/db/qp/strategy/SQLParseError.java | 24 + .../db/service/metrics/predefined/FileMetrics.java | 3 +- .../thrift/impl/DataNodeTSIServiceImpl.java | 139 +++++- .../service/thrift/impl/InternalServiceImpl.java | 11 + .../db/service/thrift/impl/TSServiceImpl.java | 143 ++++-- .../java/org/apache/iotdb/db/tools/WalChecker.java | 13 +- .../java/org/apache/iotdb/db/wal/WALManager.java | 111 +---- .../allocation/AbstractNodeAllocationStrategy.java | 79 ++++ .../db/wal/allocation/FirstCreateStrategy.java | 105 +++++ .../NodeAllocationStrategy.java} | 26 +- .../db/wal/allocation/RoundRobinStrategy.java | 106 +++++ .../iotdb/db/wal/buffer/AbstractWALBuffer.java | 11 +- .../org/apache/iotdb/db/wal/buffer/IWALBuffer.java | 13 +- .../org/apache/iotdb/db/wal/buffer/WALBuffer.java | 59 ++- .../iotdb/db/wal/checkpoint/CheckpointManager.java | 13 +- .../apache/iotdb/db/wal/io/CheckpointWriter.java | 30 -- .../java/org/apache/iotdb/db/wal/io/WALWriter.java | 29 -- .../java/org/apache/iotdb/db/wal/node/WALNode.java | 434 +++++++++++++++-- .../db/wal/recover/CheckpointRecoverUtils.java | 12 +- .../iotdb/db/wal/recover/WALNodeRecoverTask.java | 35 +- .../iotdb/db/wal/recover/WALRecoverManager.java | 3 +- .../CheckpointFileUtils.java} | 50 +- .../apache/iotdb/db/wal/utils/WALFileUtils.java | 134 ++++++ .../iotdb/db/auth/AuthorizerManagerTest.java | 164 +++++++ .../db/metadata/cache/DataNodeSchemaCacheTest.java | 26 +- .../db/mpp/common/schematree/SchemaTreeTest.java | 24 +- .../schema/SchemaFetchScanOperatorTest.java | 9 +- .../iotdb/db/service/InternalServiceImplTest.java | 16 +- .../org/apache/iotdb/db/tools/WalCheckerTest.java | 9 +- .../org/apache/iotdb/db/wal/DisableWALTest.java | 2 +- .../org/apache/iotdb/db/wal/WALManagerTest.java | 32 +- .../FirstCreateStrategyTest.java} | 79 +++- .../RoundRobinStrategyTest.java} | 47 +- .../iotdb/db/wal/buffer/WALBufferCommonTest.java | 4 +- .../db/wal/checkpoint/CheckpointManagerTest.java | 17 +- .../iotdb/db/wal/node/ConsensusReqReaderTest.java | 516 +++++++++++++++++++++ .../org/apache/iotdb/db/wal/node/WALNodeTest.java | 18 +- .../iotdb/db/wal/utils/WALFileUtilsTest.java | 215 +++++++++ .../java/org/apache/iotdb/rpc/TSStatusCode.java | 1 + site/src/main/.vuepress/theme/components/Page.vue | 12 +- .../.vuepress/theme/global-components/IoTDB.vue | 69 +-- .../.vuepress/theme/global-components/IoTDBZH.vue | 76 +-- .../src/main/thrift/confignode.thrift | 22 +- thrift/src/main/thrift/mpp.thrift | 12 + .../tsfile/read/common/parser/PathParseError.java | 23 + 153 files changed, 5759 insertions(+), 2073 deletions(-) diff --cc server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/StatementVisitor.java index 337d1ceb39,bdbd99f766..650d15d160 --- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/StatementVisitor.java +++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/StatementVisitor.java @@@ -32,8 -32,8 +32,9 @@@ import org.apache.iotdb.db.mpp.plan.sta import org.apache.iotdb.db.mpp.plan.statement.metadata.CountStorageGroupStatement; import org.apache.iotdb.db.mpp.plan.statement.metadata.CountTimeSeriesStatement; import org.apache.iotdb.db.mpp.plan.statement.metadata.CreateAlignedTimeSeriesStatement; +import org.apache.iotdb.db.mpp.plan.statement.metadata.CreateFunctionStatement; import org.apache.iotdb.db.mpp.plan.statement.metadata.CreateMultiTimeSeriesStatement; + import org.apache.iotdb.db.mpp.plan.statement.metadata.CreateTimeSeriesByDeviceStatement; import org.apache.iotdb.db.mpp.plan.statement.metadata.CreateTimeSeriesStatement; import org.apache.iotdb.db.mpp.plan.statement.metadata.DeleteStorageGroupStatement; import org.apache.iotdb.db.mpp.plan.statement.metadata.DeleteTimeSeriesStatement; diff --cc thrift/src/main/thrift/mpp.thrift index 7f5800a147,d55520a9f4..eaecf45dc7 --- a/thrift/src/main/thrift/mpp.thrift +++ b/thrift/src/main/thrift/mpp.thrift @@@ -135,12 -135,11 +135,17 @@@ struct TSchemaFetchResponse 1: required binary serializedSchemaTree } -struct TInvalidatePermissionCacheReq{ +struct TCreateFunctionRequest { + 1: required string udfName + 2: required string className + 3: required list<string> uris +} + ++struct TInvalidatePermissionCacheReq { + 1: required string username + 2: required string roleName + } + service InternalService { // -----------------------------------For Data Node----------------------------------------------- @@@ -217,12 -216,12 +222,19 @@@ **/ common.THeartbeatResp getHeartBeat(common.THeartbeatReq req) + /** + * Config node will create a function on a list of data nodes. + * + * @param function name, function class name, and executable uris + **/ + common.TSStatus createFunction(TCreateFunctionRequest req) ++ + /** + * Config node will invalidate permission Info cache. + * + * @param string:username, list<string>:roleList + */ + common.TSStatus invalidatePermissionCache(TInvalidatePermissionCacheReq req) } service DataBlockService {
