You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ca...@apache.org on 2022/08/02 12:41:47 UTC

[iotdb] 01/01: merge with master

This is an automated email from the ASF dual-hosted git repository.

caogaofei pushed a commit to branch beyyes/confignode_develop
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 841a771c537efb632207e904a2937f17c4de9a95
Merge: b806fe4bfc ceae065482
Author: Beyyes <cg...@foxmail.com>
AuthorDate: Tue Aug 2 20:41:24 2022 +0800

    merge with master

 .github/workflows/client-cpp.yml                   |   4 +-
 .github/workflows/influxdb-protocol.yml            |   2 +-
 .../org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4   |  12 +-
 checkstyle.xml                                     |   7 +
 .../sync/confignode/SyncConfigNodeClientPool.java  |  21 +-
 .../consensus/request/auth/AuthorPlan.java         |  25 +-
 .../exception/AddConsensusGroupException.java      |  19 +-
 .../iotdb/confignode/manager/ConfigManager.java    |  89 +---
 .../apache/iotdb/confignode/manager/IManager.java  |   5 +-
 .../iotdb/confignode/manager/NodeManager.java      | 113 +----
 .../iotdb/confignode/manager/load/LoadManager.java | 251 +++++++++-
 .../iotdb/confignode/persistence/AuthorInfo.java   |  68 ++-
 .../iotdb/confignode/persistence/NodeInfo.java     |  10 +-
 .../procedure/env/ConfigNodeProcedureEnv.java      |  20 +-
 .../iotdb/confignode/service/ConfigNode.java       |  26 +-
 .../thrift/ConfigNodeRPCServiceProcessor.java      |  20 +-
 .../request/ConfigPhysicalPlanSerDeTest.java       | 121 ++++-
 .../confignode/persistence/AuthorInfoTest.java     | 305 +++++++++++-
 .../thrift/ConfigNodeRPCServiceProcessorTest.java  |  74 ++-
 docker/src/main/Dockerfile-single-influxdb         |   4 +-
 .../Administration-Management/Administration.md    |  38 +-
 docs/UserGuide/Maintenance-Tools/Metric-Tool.md    |  10 +-
 .../Administration-Management/Administration.md    |  38 +-
 docs/zh/UserGuide/Maintenance-Tools/Metric-Tool.md |  22 +-
 .../Apache IoTDB ConfigNode Dashboard v0.14.0.json | 275 ++++++++++-
 .../Apache IoTDB DataNode Dashboard v0.14.0.json   | 289 +++++++++++-
 .../IoTDBAlignedSeriesQueryWithDeletionIT.java     | 139 ++++++
 .../db/it/aligned/IoTDBInsertAlignedValuesIT.java  |  12 +
 library-udf/pom.xml                                |   6 -
 .../micrometer/MicrometerMetricManagerTest.java    |  11 +
 .../apache/iotdb/commons/cluster/NodeStatus.java   |   4 +
 .../commons/utils/BasicStructureSerDeUtil.java     |  31 ++
 pom.xml                                            |   6 -
 .../iotdb/db/auth/ClusterAuthorityFetcher.java     |   9 +-
 .../apache/iotdb/db/client/ConfigNodeClient.java   |   6 +-
 .../db/engine/compaction/CompactionWorker.java     |  34 +-
 .../RewriteCrossSpaceCompactionSelector.java       |   7 -
 .../impl/ReadPointCompactionPerformer.java         |  18 +-
 .../writer/AbstractCompactionWriter.java           |   7 +-
 .../writer/CrossSpaceCompactionWriter.java         |  19 +-
 .../writer/InnerSpaceCompactionWriter.java         |  15 +-
 .../iotdb/db/localconfignode/LocalConfigNode.java  |  73 ++-
 .../db/metadata/cache/DataNodeSchemaCache.java     |   9 +-
 .../{SchemaTree.java => ClusterSchemaTree.java}    |  22 +-
 .../db/mpp/common/schematree/ISchemaTree.java      |  70 +++
 .../operator/process/DeviceMergeOperator.java      |   2 +-
 .../operator/process/FilterAndProjectOperator.java |   2 +-
 .../RowBasedTimeJoinOperator.java}                 |  62 +--
 .../process/{ => join}/TimeJoinOperator.java       |   7 +-
 .../{ => join}/merge/AscTimeComparator.java        |   2 +-
 .../process/{ => join}/merge/ColumnMerger.java     |  24 +-
 .../{ => join}/merge/DescTimeComparator.java       |   2 +-
 .../{ => join}/merge/MultiColumnMerger.java        |  56 ++-
 .../merge/NonOverlappedMultiColumnMerger.java      |  25 +-
 .../{ => join}/merge/SingleColumnMerger.java       |  44 +-
 .../process/{ => join}/merge/TimeComparator.java   |   2 +-
 .../operator/schema/SchemaFetchScanOperator.java   |   4 +-
 .../apache/iotdb/db/mpp/plan/analyze/Analysis.java |   8 +-
 .../iotdb/db/mpp/plan/analyze/AnalyzeVisitor.java  |  51 +-
 .../db/mpp/plan/analyze/ClusterSchemaFetcher.java  |  41 +-
 .../db/mpp/plan/analyze/ExpressionAnalyzer.java    |  10 +-
 .../db/mpp/plan/analyze/FakeSchemaFetcherImpl.java |  11 +-
 .../iotdb/db/mpp/plan/analyze/ISchemaFetcher.java  |   8 +-
 .../iotdb/db/mpp/plan/analyze/SchemaValidator.java |   6 +-
 .../mpp/plan/analyze/StandaloneSchemaFetcher.java  |  33 +-
 .../iotdb/db/mpp/plan/parser/ASTVisitor.java       |  48 +-
 .../db/mpp/plan/planner/LogicalPlanVisitor.java    |   9 -
 .../db/mpp/plan/planner/OperatorTreeGenerator.java |  19 +-
 .../mpp/plan/planner/plan/node/PlanNodeType.java   |   4 +
 .../planner/plan/node/write/DeleteDataNode.java    |   6 +-
 .../plan/node/write/InsertMultiTabletsNode.java    |   7 +-
 .../plan/planner/plan/node/write/InsertNode.java   |   4 +-
 .../planner/plan/node/write/InsertRowNode.java     |  20 +-
 .../planner/plan/node/write/InsertRowsNode.java    |   7 +-
 .../plan/node/write/InsertRowsOfOneDeviceNode.java |   7 +-
 .../planner/plan/node/write/InsertTabletNode.java  |   6 +-
 .../db/mpp/plan/statement/StatementVisitor.java    |   5 -
 .../internal/LastPointFetchStatement.java          |  58 ---
 .../db/mpp/plan/statement/sys/AuthorStatement.java |  12 +-
 .../iotdb/db/protocol/influxdb/dto/IoTDBPoint.java |  40 +-
 .../function/aggregator/InfluxMeanFunction.java    |   4 +-
 .../function/selector/InfluxFirstFunction.java     |   5 +-
 .../function/selector/InfluxLastFunction.java      |   5 +-
 .../influxdb/handler/AbstractQueryHandler.java     | 511 +++++++++++++++++++++
 .../protocol/influxdb/handler/NewQueryHandler.java | 200 ++++++++
 .../db/protocol/influxdb/handler/QueryHandler.java | 468 +------------------
 .../influxdb/meta/AbstractInfluxDBMetaManager.java | 114 +++++
 .../influxdb/meta/InfluxDBMetaManager.java         |  96 +---
 .../influxdb/meta/NewInfluxDBMetaManager.java      | 129 ++++++
 .../db/protocol/influxdb/meta/TagInfoRecords.java  |  28 +-
 .../influxdb/util/InfluxReqAndRespUtils.java       |  55 +++
 .../protocol/influxdb/util/QueryResultUtils.java   | 153 ++++++
 .../db/protocol/influxdb/util/StringUtils.java     |  11 +
 .../apache/iotdb/db/qp/executor/PlanExecutor.java  |  74 ++-
 .../iotdb/db/qp/logical/sys/AuthorOperator.java    |  14 +-
 .../iotdb/db/qp/physical/sys/AuthorPlan.java       |  54 ++-
 .../apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java    |  44 +-
 .../iotdb/db/service/InfluxDBRPCService.java       |  26 +-
 .../recorder/CompactionMetricsRecorder.java        |   2 +-
 .../handler/InfluxDBServiceThriftHandler.java      |  10 +-
 .../thrift/impl/IInfluxDBServiceWithHandler.java   |  20 +-
 .../service/thrift/impl/InfluxDBServiceImpl.java   |  20 +-
 .../thrift/impl/NewInfluxDBServiceImpl.java        | 128 ++++++
 .../iotdb/db/wal/recover/WALNodeRecoverTask.java   |   3 +-
 .../iotdb/db/wal/recover/WALRecoverWriter.java     |  26 +-
 .../db/metadata/cache/DataNodeSchemaCacheTest.java |  11 +-
 ...emaTreeTest.java => ClusterSchemaTreeTest.java} |  28 +-
 .../iotdb/db/mpp/execution/DataDriverTest.java     |   6 +-
 .../operator/AlignedSeriesScanOperatorTest.java    |   8 +-
 .../operator/DeviceMergeOperatorTest.java          |   2 +-
 .../mpp/execution/operator/LimitOperatorTest.java  |   6 +-
 .../execution/operator/MultiColumnMergerTest.java  |   2 +-
 .../NonOverlappedMultiColumnMergerTest.java        |   4 +-
 .../mpp/execution/operator/OffsetOperatorTest.java |   6 +-
 .../operator/RawDataAggregationOperatorTest.java   |   6 +-
 .../execution/operator/SingleColumnMergerTest.java |   6 +-
 .../execution/operator/TimeJoinOperatorTest.java   |   8 +-
 .../schema/SchemaFetchScanOperatorTest.java        |   5 +-
 .../write/InsertMultiTabletsNodeSerdeTest.java     |   2 +-
 .../plan/node/write/InsertRowNodeSerdeTest.java    |   8 +-
 .../plan/node/write/InsertRowsNodeSerdeTest.java   |   2 +-
 .../write/InsertRowsOfOneDeviceNodeSerdeTest.java  |   3 +-
 .../plan/node/write/InsertTabletNodeSerdeTest.java |   6 +-
 .../iotdb/db/qp/physical/PhysicalPlanTest.java     |   2 +-
 .../iotdb/db/wal/recover/WALRecoverWriterTest.java | 198 ++++++++
 .../org/apache/iotdb/session/pool/SessionPool.java |   3 +
 .../src/main/thrift/confignode.thrift              |  12 +-
 .../file/metadata/statistics/Statistics.java       |  10 +
 .../file/metadata/statistics/TimeStatistics.java   |   8 +
 .../iotdb/tsfile/read/common/block/TsBlock.java    |   4 +
 .../read/common/block/column/BinaryColumn.java     |  16 +
 .../read/common/block/column/BooleanColumn.java    |  16 +
 .../tsfile/read/common/block/column/Column.java    |  38 ++
 .../read/common/block/column/DoubleColumn.java     |  16 +
 .../read/common/block/column/FloatColumn.java      |  16 +
 .../tsfile/read/common/block/column/IntColumn.java |  16 +
 .../read/common/block/column/LongColumn.java       |  16 +
 .../block/column/RunLengthEncodedColumn.java       |  58 +++
 .../read/common/block/column/TimeColumn.java       |  11 +
 .../tsfile/read/reader/page/AlignedPageReader.java |  98 +++-
 .../tsfile/read/reader/page/ValuePageReader.java   |  99 ++++
 .../tsfile/write/chunk/AlignedChunkWriterImpl.java |  63 +++
 .../iotdb/tsfile/write/chunk/TimeChunkWriter.java  |  10 +-
 .../iotdb/tsfile/write/chunk/ValueChunkWriter.java |  24 +-
 .../iotdb/tsfile/write/page/TimePageWriter.java    |   6 +-
 .../iotdb/tsfile/write/page/ValuePageWriter.java   |  72 ++-
 146 files changed, 4600 insertions(+), 1549 deletions(-)

diff --cc confignode/src/main/java/org/apache/iotdb/confignode/manager/load/LoadManager.java
index aac9da0bc6,6c0a21cfd9..bb5bbc163e
--- a/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/LoadManager.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/LoadManager.java
@@@ -336,12 -345,10 +345,11 @@@ public class LoadManager 
    /**
     * Send heartbeat requests to all the Registered DataNodes
     *
++   * @param heartbeatReq same heartbeatReq
     * @param registeredDataNodes DataNodes that registered in cluster
     */
-   private void pingRegisteredDataNodes(List<TDataNodeConfiguration> registeredDataNodes) {
-     // Generate heartbeat request
-     THeartbeatReq heartbeatReq = genHeartbeatReq();
- 
+   private void pingRegisteredDataNodes(
+       THeartbeatReq heartbeatReq, List<TDataNodeConfiguration> registeredDataNodes) {
      // Send heartbeat requests
      for (TDataNodeConfiguration dataNodeInfo : registeredDataNodes) {
        DataNodeHeartbeatHandler handler =
@@@ -362,13 -368,13 +370,14 @@@
    /**
     * Send heartbeat requests to all the Registered ConfigNodes
     *
++   * @param heartbeatReq same heartbeatReq
     * @param registeredConfigNodes ConfigNodes that registered in cluster
     */
-   private void pingRegisteredConfigNodes(List<TConfigNodeLocation> registeredConfigNodes) {
- 
+   private void pingRegisteredConfigNodes(
+       THeartbeatReq heartbeatReq, List<TConfigNodeLocation> registeredConfigNodes) {
      // Send heartbeat requests
      for (TConfigNodeLocation configNodeLocation : registeredConfigNodes) {
 -      if (configNodeLocation.getInternalEndPoint().equals(currentNode)) {
 +      if (configNodeLocation.getInternalEndPoint().equals(CURRENT_NODE)) {
          // Skip itself
          nodeCacheMap.putIfAbsent(
              configNodeLocation.getConfigNodeId(), new ConfigNodeHeartbeatCache(configNodeLocation));
diff --cc confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCServiceProcessor.java
index 91054346e7,e0cfbfbd79..44bbcf6cbc
--- a/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCServiceProcessor.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/service/thrift/ConfigNodeRPCServiceProcessor.java
@@@ -57,7 -57,9 +57,8 @@@ import org.apache.iotdb.confignode.cons
  import org.apache.iotdb.confignode.consensus.response.StorageGroupSchemaResp;
  import org.apache.iotdb.confignode.manager.ConfigManager;
  import org.apache.iotdb.confignode.manager.ConsensusManager;
 -import org.apache.iotdb.confignode.manager.load.LoadManager;
  import org.apache.iotdb.confignode.rpc.thrift.IConfigNodeRPCService;
+ import org.apache.iotdb.confignode.rpc.thrift.TAddConsensusGroupReq;
  import org.apache.iotdb.confignode.rpc.thrift.TAuthorizerReq;
  import org.apache.iotdb.confignode.rpc.thrift.TAuthorizerResp;
  import org.apache.iotdb.confignode.rpc.thrift.TCheckUserPrivilegesReq;
@@@ -546,7 -545,9 +546,9 @@@ public class ConfigNodeRPCServiceProces
    @Override
    public TRegionRouteMapResp getLatestRegionRouteMap() throws TException {
      TRegionRouteMapResp resp = configManager.getLatestRegionRouteMap();
-     printRegionRouteMap(resp.getTimestamp(), resp.getRegionRouteMap());
+     if (resp.getStatus().getCode() == TSStatusCode.SUCCESS_STATUS.getStatusCode()) {
 -      LoadManager.printRegionRouteMap(resp.getTimestamp(), resp.getRegionRouteMap());
++      printRegionRouteMap(resp.getTimestamp(), resp.getRegionRouteMap());
+     }
      return resp;
    }