This is an automated email from the ASF dual-hosted git repository. xingtanzjr pushed a commit to branch xingtanzjr/mpp_rpc in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit a6a6e6c285cd6f7e4f15ddfad76d2183d4b18bbe Merge: 74eca8903c d160be9c22 Author: Jinrui.Zhang <[email protected]> AuthorDate: Mon Apr 11 19:26:59 2022 +0800 Merge branch 'master' into xingtanzjr/mpp_rpc confignode/src/assembly/confignode.xml | 9 +- .../resources/conf/iotdb-confignode.properties | 20 +- .../iotdb/confignode/conf/ConfigNodeConf.java | 25 +- .../iotdb/confignode/conf/ConfigNodeConfCheck.java | 29 +- .../confignode/conf/ConfigNodeDescriptor.java | 8 +- ...aSet.java => DataNodeConfigurationDataSet.java} | 32 +- .../consensus/response/DataNodesInfoDataSet.java | 12 +- .../consensus/response/DataPartitionDataSet.java | 104 +++++- .../consensus/response/SchemaPartitionDataSet.java | 92 ++--- .../response/StorageGroupSchemaDataSet.java | 11 +- .../iotdb/confignode/manager/ConfigManager.java | 87 +++-- .../iotdb/confignode/manager/ConsensusManager.java | 33 +- .../iotdb/confignode/manager/DataNodeManager.java | 87 ++--- .../apache/iotdb/confignode/manager/Manager.java | 88 ++--- .../iotdb/confignode/manager/PartitionManager.java | 193 +++++++---- .../iotdb/confignode/manager/RegionManager.java | 126 +++---- .../iotdb/confignode/partition/DataRegionInfo.java | 66 ---- .../confignode/partition/SchemaRegionInfo.java | 59 ---- .../confignode/partition/StorageGroupSchema.java | 77 +++-- .../persistence/DataNodeInfoPersistence.java | 122 ++++--- .../persistence/PartitionInfoPersistence.java | 145 +++++--- .../persistence/RegionInfoPersistence.java | 210 ++++++------ .../iotdb/confignode/physical/PhysicalPlan.java | 32 +- .../confignode/physical/PhysicalPlanType.java | 12 +- .../physical/crud/CreateDataPartitionPlan.java | 128 +++++++ .../physical/crud/CreateRegionsPlan.java | 96 ++++++ .../physical/crud/CreateSchemaPartitionPlan.java | 19 +- .../crud/GetOrCreateDataPartitionPlan.java | 139 ++++++++ .../GetOrCreateSchemaPartitionPlan.java} | 50 +-- .../confignode/physical/sys/DataPartitionPlan.java | 78 ----- .../physical/sys/QueryDataNodeInfoPlan.java | 14 + .../physical/sys/RegisterDataNodePlan.java | 22 +- .../physical/sys/SetStorageGroupPlan.java | 43 +-- .../confignode/service/executor/PlanExecutor.java | 27 +- .../server/ConfigNodeRPCServerProcessor.java | 246 +++++++------- .../confignode/consensus/RatisConsensusDemo.java | 27 +- .../manager/ConfigManagerManualTest.java | 29 +- .../hash/DeviceGroupHashExecutorManualTest.java | 2 +- .../physical/SerializeDeserializeUT.java | 168 +++++++++ .../server/ConfigNodeRPCServerProcessorTest.java | 377 +++++++++++++++------ .../org/apache/iotdb/consensus/IConsensus.java | 2 + .../iotdb/consensus/ratis/RatisConsensus.java | 15 + .../org/apache/iotdb/consensus/ratis/Utils.java | 12 +- .../consensus/standalone/StandAloneConsensus.java | 8 + .../iotdb/consensus/ratis/RatisConsensusTest.java | 1 + .../{partition => cluster}/DataNodeLocation.java | 51 +-- .../commons/hash/DeviceGroupHashExecutor.java | 31 -- .../iotdb/commons/partition/DataPartition.java | 128 ++++++- .../iotdb/commons/partition/RegionReplicaSet.java | 1 + .../iotdb/commons/partition/SchemaPartition.java | 49 ++- .../commons/partition/SeriesPartitionSlot.java | 35 +- .../iotdb/commons/partition/TimePartitionSlot.java | 33 ++ .../executor/SeriesPartitionExecutor.java} | 25 +- .../executor}/hash/APHashExecutor.java | 11 +- .../executor}/hash/BKDRHashExecutor.java | 11 +- .../executor}/hash/JSHashExecutor.java | 11 +- .../executor}/hash/SDBMHashExecutor.java | 11 +- .../iotdb/db/metadata/idtable/entry/IDeviceID.java | 4 + .../db/metadata/idtable/entry/PlainDeviceID.java | 12 + .../db/metadata/idtable/entry/SHA256DeviceID.java | 21 ++ .../apache/iotdb/db/metadata/path/AlignedPath.java | 55 +++ .../iotdb/db/metadata/path/MeasurementPath.java | 41 +++ .../apache/iotdb/db/metadata/path/PartialPath.java | 30 ++ .../db/metadata/path/PathDeserializeUtil.java | 59 ++++ .../iotdb/db/mpp/common/FragmentInstanceId.java | 34 ++ .../apache/iotdb/db/mpp/common/PlanFragmentId.java | 25 ++ .../org/apache/iotdb/db/mpp/common/QueryId.java | 4 + .../db/mpp/common/filter/BasicFunctionFilter.java | 20 ++ .../mpp/common/filter/FilterDeserializeUtil.java | 63 ++++ .../iotdb/db/mpp/common/filter/FunctionFilter.java | 43 +++ .../iotdb/db/mpp/common/filter/InFilter.java | 23 ++ .../iotdb/db/mpp/common/filter/LikeFilter.java | 18 + .../iotdb/db/mpp/common/filter/QueryFilter.java | 60 ++++ .../iotdb/db/mpp/common/filter/RegexpFilter.java | 16 + .../db/mpp/execution/FragmentInstanceInfo.java | 1 - .../mpp/sql/analyze/FakePartitionFetcherImpl.java | 1 + .../apache/iotdb/db/mpp/sql/parser/ASTVisitor.java | 3 +- .../db/mpp/sql/planner/plan/FragmentInstance.java | 54 ++- .../db/mpp/sql/planner/plan/PlanFragment.java | 28 +- .../db/mpp/sql/planner/plan/node/ColumnHeader.java | 18 + .../db/mpp/sql/planner/plan/node/PlanNode.java | 36 +- .../db/mpp/sql/planner/plan/node/PlanNodeId.java | 14 + .../db/mpp/sql/planner/plan/node/PlanNodeType.java | 3 +- .../plan/node/metedata/read/ShowDevicesNode.java | 15 +- .../planner/plan/node/metedata/read/ShowNode.java | 4 +- .../node/metedata/write/AlterTimeSeriesNode.java | 13 +- .../plan/node/metedata/write/AuthorNode.java | 5 + .../write/CreateAlignedTimeSeriesNode.java | 14 +- .../node/metedata/write/CreateTimeSeriesNode.java | 28 +- .../planner/plan/node/process/AggregateNode.java | 47 ++- .../planner/plan/node/process/DeviceMergeNode.java | 51 ++- .../planner/plan/node/process/ExchangeNode.java | 55 ++- .../sql/planner/plan/node/process/FillNode.java | 36 +- .../sql/planner/plan/node/process/FilterNode.java | 34 +- .../planner/plan/node/process/FilterNullNode.java | 32 +- .../plan/node/process/GroupByLevelNode.java | 42 ++- .../sql/planner/plan/node/process/LimitNode.java | 15 +- .../sql/planner/plan/node/process/OffsetNode.java | 19 +- .../sql/planner/plan/node/process/SortNode.java | 47 ++- .../planner/plan/node/process/TimeJoinNode.java | 31 +- .../planner/plan/node/sink/FragmentSinkNode.java | 47 ++- .../plan/node/source/SeriesAggregateScanNode.java | 54 ++- .../planner/plan/node/source/SeriesScanNode.java | 75 +++- .../InsertMultiTabletNode.java} | 19 +- .../sql/planner/plan/node/write/InsertNode.java | 5 +- .../sql/planner/plan/node/write/InsertRowNode.java | 8 +- .../planner/plan/node/write/InsertTabletNode.java | 8 +- .../db/mpp/sql/statement/component/FillPolicy.java | 2 +- .../statement/component/FilterNullComponent.java | 44 +++ .../apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java | 3 +- .../iotdb/db/qp/utils/GroupByLevelController.java | 90 +++++ .../db/query/aggregation/AggregateResult.java | 9 + .../iotdb/db/query/expression/Expression.java | 6 + .../iotdb/db/query/expression/ExpressionType.java | 115 +++++++ .../iotdb/db/query/expression/ResultColumn.java | 17 + .../expression/binary/AdditionExpression.java | 19 ++ .../query/expression/binary/BinaryExpression.java | 8 + .../expression/binary/DivisionExpression.java | 19 ++ .../query/expression/binary/EqualToExpression.java | 19 ++ .../expression/binary/GreaterEqualExpression.java | 19 ++ .../expression/binary/GreaterThanExpression.java | 19 ++ .../expression/binary/LessEqualExpression.java | 19 ++ .../expression/binary/LessThanExpression.java | 19 ++ .../expression/binary/LogicAndExpression.java | 19 ++ .../query/expression/binary/LogicOrExpression.java | 19 ++ .../query/expression/binary/ModuloExpression.java | 19 ++ .../binary/MultiplicationExpression.java | 19 ++ .../expression/binary/NonEqualExpression.java | 19 ++ .../expression/binary/SubtractionExpression.java | 19 ++ .../db/query/expression/unary/ConstantOperand.java | 22 +- .../query/expression/unary/FunctionExpression.java | 31 ++ .../query/expression/unary/LogicNotExpression.java | 18 + .../query/expression/unary/NegationExpression.java | 18 + .../query/expression/unary/TimeSeriesOperand.java | 19 ++ .../java/org/apache/iotdb/db/service/DataNode.java | 10 +- .../iotdb/db/utils/IExpressionDeserializeUtil.java | 51 +++ .../db/mpp/sql/plan/DistributionPlannerTest.java | 2 +- .../db/mpp/sql/plan/FragmentInstanceSerdeTest.java | 117 +++++++ .../sql/plan/node/PlanNodeDeserializeHelper.java} | 18 +- .../metadata/read/ShowDevicesNodeSerdeTest.java} | 23 +- .../plan/node/process/AggregateNodeSerdeTest.java | 58 ++++ .../node/process/DeviceMergeNodeSerdeTest.java | 81 +++++ .../plan/node/process/ExchangeNodeSerdeTest.java | 101 ++++++ .../sql/plan/node/process/FillNodeSerdeTest.java | 85 +++++ .../sql/plan/node/process/FilterNodeSerdeTest.java | 97 ++++++ .../plan/node/process/FilterNullNodeSerdeTest.java | 102 ++++++ .../node/process/GroupByLevelNodeSerdeTest.java | 117 +++++++ .../sql/plan/node/process/LimitNodeSerdeTest.java | 119 +++++++ .../sql/plan/node/process/OffsetNodeSerdeTest.java | 186 ++++++++++ .../sql/plan/node/process/SortNodeSerdeTest.java | 130 +++++++ .../plan/node/process/TimeJoinNodeSerdeTest.java | 135 ++++++++ .../plan/node/sink/FragmentSinkNodeSerdeTest.java | 52 +++ .../source/SeriesAggregateScanNodeSerdeTest.java | 69 ++++ .../plan/node/source/SeriesScanNodeSerdeTest.java | 55 +++ .../java/org/apache/iotdb/rpc/TSStatusCode.java | 7 +- .../src/main/thrift/confignode.thrift | 137 ++++---- thrift/src/main/thrift/common.thrift | 13 +- thrift/src/main/thrift/management.thrift | 4 +- .../org/apache/iotdb/tsfile/read/common/Path.java | 21 ++ .../iotdb/tsfile/read/expression/IExpression.java | 3 + .../read/expression/impl/BinaryExpression.java | 16 + .../read/expression/impl/GlobalTimeExpression.java | 13 + .../expression/impl/SingleSeriesExpression.java | 9 + .../iotdb/tsfile/read/filter/basic/Filter.java | 8 + .../iotdb/tsfile/utils/ReadWriteIOUtils.java | 31 ++ 165 files changed, 6001 insertions(+), 1487 deletions(-) diff --cc server/src/main/java/org/apache/iotdb/db/mpp/common/FragmentInstanceId.java index 6564274996,b22f480589..49b0aa3dd2 --- a/server/src/main/java/org/apache/iotdb/db/mpp/common/FragmentInstanceId.java +++ b/server/src/main/java/org/apache/iotdb/db/mpp/common/FragmentInstanceId.java @@@ -60,10 -74,23 +74,30 @@@ public class FragmentInstanceId return new TFragmentInstanceId(queryId.getId(), String.valueOf(fragmentId.getId()), instanceId); } + public static FragmentInstanceId fromThrift(TFragmentInstanceId tFragmentInstanceId) { + return new FragmentInstanceId( + new PlanFragmentId( + tFragmentInstanceId.queryId, Integer.parseInt(tFragmentInstanceId.fragmentId)), + tFragmentInstanceId.instanceId); + } ++ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + FragmentInstanceId that = (FragmentInstanceId) o; + return Objects.equals(fullId, that.fullId) + && Objects.equals(queryId, that.queryId) + && Objects.equals(fragmentId, that.fragmentId) + && Objects.equals(instanceId, that.instanceId); + } + + @Override + public int hashCode() { + return Objects.hash(fullId, queryId, fragmentId, instanceId); + } }
