You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ro...@apache.org on 2022/05/23 17:38:24 UTC

[iotdb] 10/18: merge master and fix conflicts

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 fe5652865f92e5f7a0f14b08dbbd80682e29ef8b
Merge: d7a195f819 94578876e6
Author: Steve Yurong Su <ro...@apache.org>
AuthorDate: Fri May 20 18:21:38 2022 +0800

    merge master and fix conflicts

 LICENSE                                            |   18 +-
 .../log/manage/PartitionedSnapshotLogManager.java  |    4 +-
 .../server/handlers/caller/ElectionHandler.java    |    4 +-
 .../cluster/utils/nodetool/ClusterMonitor.java     |    4 +-
 confignode/pom.xml                                 |    5 -
 .../confignode/conf/ConfigNodeDescriptor.java      |    1 -
 .../consensus/request/ConfigRequest.java           |    5 +
 .../consensus/request/ConfigRequestType.java       |    2 +
 .../request/read/GetChildNodesPartitionReq.java    |   67 +
 .../request/read/GetChildPathsPartitionReq.java    |   67 +
 .../response/SchemaNodeManagementResp.java         |   73 +
 .../iotdb/confignode/manager/ConfigManager.java    |   38 +-
 .../apache/iotdb/confignode/manager/Manager.java   |   15 +
 .../iotdb/confignode/manager/PartitionManager.java |   31 +
 .../confignode/persistence/ClusterSchemaInfo.java  |   31 +
 .../iotdb/confignode/persistence/NodeInfo.java     |   43 +-
 .../confignode/persistence/PartitionInfo.java      |   50 +-
 .../confignode/persistence/ProcedureInfo.java      |    9 +-
 .../executor/ConfigRequestExecutor.java            |   43 +
 .../iotdb/confignode/procedure/Procedure.java      |   43 +-
 .../confignode/procedure/ProcedureExecutor.java    |   68 +-
 .../procedure/StateMachineProcedure.java           |    4 +-
 .../procedure/conf/ProcedureNodeConfig.java        |  155 --
 .../conf/ProcedureNodeConfigDescriptor.java        |  219 ---
 .../procedure/conf/ProcedureNodeConstant.java      |   32 -
 .../procedure/store/ConfigProcedureStore.java      |    6 +-
 .../procedure/store/IProcedureStore.java           |    4 +-
 .../procedure/store/ProcedureFactory.java          |    5 +-
 .../confignode/procedure/store/ProcedureStore.java |   14 +-
 .../thrift/ConfigNodeRPCServiceProcessor.java      |   24 +
 .../confignode/persistence/AuthorInfoTest.java     |    6 -
 .../confignode/procedure/NoopProcedureStore.java   |    4 +-
 .../confignode/procedure/TestProcedureBase.java    |    7 +-
 .../procedure/TestProcedureExecutor.java           |    2 -
 .../procedure/store/TestProcedureStore.java        |    9 +-
 .../thrift/ConfigNodeRPCServiceProcessorTest.java  |   95 +-
 .../GrafanaPlugin/Dockerfile-0.14.0-iotdb          |   42 +
 .../DockerCompose/GrafanaPlugin/docker-compose.yml |   48 +
 .../GrafanaPlugin/iotdb/conf/iotdb-rest.properties |   58 +
 docs/UserGuide/Maintenance-Tools/Metric-Tool.md    |  205 ++-
 docs/zh/UserGuide/Maintenance-Tools/Metric-Tool.md |  206 ++-
 .../controller/DatabaseConnectController.java      |    3 +
 library-udf/pom.xml                                |   22 +-
 .../org/apache/iotdb/library/anomaly/UDTFIQR.java  |  111 ++
 .../apache/iotdb/library/anomaly/UDTFKSigma.java   |  153 ++
 .../org/apache/iotdb/library/anomaly/UDTFLOF.java  |  215 +++
 .../iotdb/library/anomaly/UDTFMissDetect.java      |   74 +
 .../apache/iotdb/library/anomaly/UDTFRange.java    |   97 ++
 .../iotdb/library/anomaly/UDTFTwoSidedFilter.java  |   92 ++
 .../iotdb/library/anomaly/util/MissDetector.java   |  240 +++
 .../library/anomaly/util/StreamMissDetector.java   |  189 +++
 .../iotdb/library/anomaly/util/WindowDetect.java   |   96 ++
 .../java/org/apache/iotdb/library/util/Util.java   |    3 -
 .../apache/iotdb/library/anomaly/AnomalyTests.java | 1534 ++++++++++++++++++++
 .../dropwizard/DropwizardMetricManager.java        |   32 -
 .../main/assembly/resources/conf/iotdb-metric.yml  |    5 +-
 .../iotdb/metrics/DoNothingMetricService.java      |   14 +-
 .../org/apache/iotdb/metrics/MetricManager.java    |    8 -
 .../org/apache/iotdb/metrics/MetricService.java    |   21 +-
 .../apache/iotdb/metrics/config/MetricConfig.java  |    3 +-
 .../iotdb/metrics/impl/DoNothingMetricManager.java |    4 -
 .../IMetricSet.java}                               |   17 +-
 .../predefined/jvm/JvmClassLoaderMetrics.java      |   52 +
 .../metrics/predefined/jvm/JvmCompileMetrics.java  |   50 +
 .../iotdb/metrics/predefined/jvm/JvmGcMetrics.java |  292 ++++
 .../metrics/predefined/jvm/JvmMemoryMetrics.java   |  105 ++
 .../iotdb/metrics/predefined/jvm/JvmMetrics.java   |   49 +
 .../metrics/predefined/jvm/JvmThreadMetrics.java   |   87 ++
 .../metrics/predefined/logback/LogbackMetrics.java |  180 +++
 .../utils/{PredefinedMetric.java => JvmUtils.java} |   28 +-
 .../iotdb/metrics/utils/PredefinedMetric.java      |    5 +-
 .../micrometer/MicrometerMetricManager.java        |   51 -
 .../apache/iotdb/commons/conf/CommonConfig.java    |   25 +-
 .../iotdb/commons/conf/CommonDescriptor.java       |    1 -
 .../apache/iotdb/commons/conf/IoTDBConstant.java   |    3 +
 .../iotdb/commons/partition/DataPartition.java     |   28 +-
 .../partition/SchemaNodeManagementPartition.java   |   58 +
 .../iotdb/commons/partition/SchemaPartition.java   |   45 +-
 .../iotdb/commons/partition/DataPartitionTest.java |   12 +-
 .../commons/partition/SchemaPartitionTest.java     |   12 +-
 .../apache/iotdb/db/client/ConfigNodeClient.java   |   19 +
 .../java/org/apache/iotdb/db/conf/IoTDBConfig.java |   27 +-
 .../org/apache/iotdb/db/conf/IoTDBDescriptor.java  |    1 -
 .../apache/iotdb/db/engine/cache/ChunkCache.java   |    4 +-
 .../db/engine/cache/TimeSeriesMetadataCache.java   |    4 +-
 .../compaction/CompactionMetricsManager.java       |    4 +-
 .../apache/iotdb/db/engine/flush/FlushManager.java |    4 +-
 .../iotdb/db/engine/flush/MemTableFlushTask.java   |    4 +-
 .../iotdb/db/engine/memtable/AbstractMemTable.java |    4 +-
 .../iotdb/db/engine/storagegroup/DataRegion.java   |    4 +-
 .../engine/storagegroup/TsFileProcessorInfo.java   |    4 +-
 .../db/metadata/rescon/TimeseriesStatistics.java   |    4 +-
 .../apache/iotdb/db/metadata/utils/MetaUtils.java  |   26 +-
 .../iotdb/db/mpp/aggregation/Aggregator.java       |   12 +-
 .../db/mpp/aggregation/FirstValueAccumulator.java  |    3 +
 .../db/mpp/aggregation/LastValueAccumulator.java   |    3 +
 .../iotdb/db/mpp/common/header/DatasetHeader.java  |    4 +
 .../iotdb/db/mpp/common/header/HeaderConstant.java |   10 +
 ...egateOperator.java => AggregationOperator.java} |    8 +-
 .../execution/operator/process/FillOperator.java   |   50 +-
 .../execution/operator/process/LimitOperator.java  |    3 +
 .../operator/process/LinearFillOperator.java       |  191 +++
 .../execution/operator/process/OffsetOperator.java |    3 +
 ...erator.java => RawDataAggregationOperator.java} |   10 +-
 .../execution/operator/process/fill/IFill.java}    |   13 +-
 .../process/fill/constant/BinaryConstantFill.java  |   63 +
 .../process/fill/constant/BooleanConstantFill.java |   62 +
 .../process/fill/constant/DoubleConstantFill.java  |   62 +
 .../process/fill/constant/FloatConstantFill.java   |   62 +
 .../process/fill/constant/IntConstantFill.java     |   62 +
 .../process/fill/constant/LongConstantFill.java    |   62 +
 .../process/fill/linear/DoubleLinearFill.java      |   94 ++
 .../process/fill/linear/FloatLinearFill.java       |   94 ++
 .../process/fill/linear/IntLinearFill.java         |   94 ++
 .../operator/process/fill/linear/LinearFill.java   |  186 +++
 .../process/fill/linear/LongLinearFill.java        |   94 ++
 .../process/fill/previous/BinaryPreviousFill.java  |   86 ++
 .../process/fill/previous/BooleanPreviousFill.java |   85 ++
 .../process/fill/previous/DoublePreviousFill.java  |   85 ++
 .../process/fill/previous/FloatPreviousFill.java   |   85 ++
 .../process/fill/previous/IntPreviousFill.java     |   85 ++
 .../process/fill/previous/LongPreviousFill.java    |   85 ++
 .../schema/ChildNodesSchemaScanOperator.java       |   93 ++
 .../schema/ChildPathsSchemaScanOperator.java       |   93 ++
 .../NodeManageMemoryMergeOperator.java}            |   51 +-
 ...a => AlignedSeriesAggregationScanOperator.java} |  184 +--
 ...tor.java => SeriesAggregationScanOperator.java} |   26 +-
 .../apache/iotdb/db/mpp/plan/analyze/Analysis.java |  192 ++-
 .../apache/iotdb/db/mpp/plan/analyze/Analyzer.java |  636 ++++----
 .../mpp/plan/analyze/ClusterPartitionFetcher.java  |   44 +
 .../db/mpp/plan/analyze/ConcatPathRewriter.java    |   65 +-
 .../db/mpp/plan/analyze/ExpressionAnalyzer.java    |  402 +++--
 .../mpp/plan/analyze/FakePartitionFetcherImpl.java |    8 +
 .../db/mpp/plan/analyze/IPartitionFetcher.java     |    5 +
 .../plan/analyze/StandalonePartitionFetcher.java   |    8 +
 .../db/mpp/plan/execution/QueryExecution.java      |    2 +-
 .../mpp/plan/execution/config/ConfigExecution.java |    2 +-
 .../memory/StatementMemorySourceVisitor.java       |   39 +
 .../iotdb/db/mpp/plan/parser/ASTVisitor.java       |   25 +-
 .../db/mpp/plan/parser/StatementGenerator.java     |    4 +-
 .../db/mpp/plan/planner/LocalExecutionPlanner.java |  269 +++-
 .../db/mpp/plan/planner/LogicalPlanBuilder.java    |  180 +--
 .../iotdb/db/mpp/plan/planner/LogicalPlanner.java  |   80 +-
 .../mpp/plan/planner/plan/node/PlanNodeType.java   |   14 +-
 .../db/mpp/plan/planner/plan/node/PlanVisitor.java |   17 +-
 .../metedata/read/ChildNodesSchemaScanNode.java    |   87 ++
 .../metedata/read/ChildPathsSchemaScanNode.java    |   87 ++
 .../read/NodeManagementMemoryMergeNode.java}       |   92 +-
 .../plan/planner/plan/node/process/FillNode.java   |    8 +
 .../source/AlignedSeriesAggregationScanNode.java   |    6 +-
 .../plan/node/write/InsertMultiTabletsNode.java    |    6 +
 .../planner/plan/node/write/InsertRowNode.java     |    6 +
 .../planner/plan/node/write/InsertRowsNode.java    |    6 +
 .../plan/node/write/InsertRowsOfOneDeviceNode.java |    6 +
 .../planner/plan/node/write/InsertTabletNode.java  |    6 +
 .../planner/plan/parameter/FillDescriptor.java     |    8 +
 .../db/mpp/plan/statement/StatementVisitor.java    |   10 +
 .../mpp/plan/statement/component/ResultColumn.java |   18 +-
 .../plan/statement/component/SelectComponent.java  |   23 +-
 .../db/mpp/plan/statement/crud/QueryStatement.java |   42 +-
 .../mpp/plan/statement/literal/BooleanLiteral.java |    9 +-
 .../mpp/plan/statement/literal/DoubleLiteral.java  |   14 +-
 .../db/mpp/plan/statement/literal/Literal.java     |   25 +
 .../db/mpp/plan/statement/literal/LongLiteral.java |   25 +-
 .../mpp/plan/statement/literal/StringLiteral.java  |    6 +
 .../metadata/ShowChildNodesStatement.java}         |   23 +-
 .../metadata/ShowChildPathsStatement.java}         |   23 +-
 .../groupby/impl/LocalAlignedGroupByExecutor.java  |    2 -
 .../db/query/pool/RawQueryReadTaskPoolManager.java |    4 +-
 .../iotdb/db/service/metrics/MetricsService.java   |  150 +-
 .../db/service/metrics/{ => enums}/Metric.java     |    2 +-
 .../db/service/metrics/{ => enums}/Operation.java  |    2 +-
 .../iotdb/db/service/metrics/{ => enums}/Tag.java  |    2 +-
 .../FileMetrics.java}                              |  132 +-
 .../ProcessMetrics.java}                           |   51 +-
 .../SystemMetrics.java}                            |   37 +-
 .../db/service/thrift/ProcessorWithMetrics.java    |    4 +-
 .../thrift/impl/DataNodeTSIServiceImpl.java        |    2 +-
 .../service/thrift/impl/InternalServiceImpl.java   |   59 +-
 .../db/service/thrift/impl/TSServiceImpl.java      |    2 +-
 ...ratorTest.java => AggregationOperatorTest.java} |   70 +-
 ... AlignedSeriesAggregationScanOperatorTest.java} |  436 +++---
 .../mpp/execution/operator/FillOperatorTest.java   |  353 +++++
 .../execution/operator/LinearFillOperatorTest.java |  441 ++++++
 ...st.java => RawDataAggregationOperatorTest.java} |   50 +-
 ...java => SeriesAggregationScanOperatorTest.java} |  146 +-
 .../iotdb/db/mpp/plan/analyze/AnalyzeFailTest.java |   18 +
 .../iotdb/db/mpp/plan/plan/LogicalPlannerTest.java |   40 +
 .../db/mpp/plan/plan/QueryLogicalPlanUtil.java     |  346 ++---
 .../NodeManagementMemoryMergeNodeSerdeTest.java    |  111 ++
 thrift-commons/src/main/thrift/common.thrift       |    2 +
 .../src/main/thrift/confignode.thrift              |   23 +
 .../iotdb/tsfile/read/TsFileSequenceReader.java    |   52 +-
 .../org/apache/iotdb/tsfile/read/common/Path.java  |    3 +-
 194 files changed, 10348 insertions(+), 2814 deletions(-)

diff --cc confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/ConfigRequest.java
index 2f4220198a,26cd531973..2e169c71db
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/ConfigRequest.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/ConfigRequest.java
@@@ -183,8 -183,9 +184,12 @@@ public abstract class ConfigRequest imp
          case ApplyConfigNode:
            req = new ApplyConfigNodeReq();
            break;
 +        case CreateFunction:
 +          req = new CreateFunctionReq();
++          break;
+         case GetChildPathsPartition:
+           req = new GetChildPathsPartitionReq();
+           break;
          default:
            throw new IOException("unknown PhysicalPlan type: " + typeNum);
        }
diff --cc confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/ConfigRequestType.java
index d3844f22c8,78a69f0ffa..1922abef91
--- a/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/ConfigRequestType.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/ConfigRequestType.java
@@@ -58,5 -58,6 +58,7 @@@ public enum ConfigRequestType 
    ListUserRoles,
    ListRoleUsers,
    ApplyConfigNode,
 +  CreateFunction,
+   GetChildPathsPartition,
+   GetChildNodesPartition;
  }
diff --cc confignode/src/main/java/org/apache/iotdb/confignode/persistence/executor/ConfigRequestExecutor.java
index 42be0cd33f,8f363bbb63..4cd9127994
--- a/confignode/src/main/java/org/apache/iotdb/confignode/persistence/executor/ConfigRequestExecutor.java
+++ b/confignode/src/main/java/org/apache/iotdb/confignode/persistence/executor/ConfigRequestExecutor.java
@@@ -49,9 -53,9 +54,10 @@@ import org.apache.iotdb.confignode.pers
  import org.apache.iotdb.confignode.persistence.NodeInfo;
  import org.apache.iotdb.confignode.persistence.PartitionInfo;
  import org.apache.iotdb.confignode.persistence.ProcedureInfo;
 +import org.apache.iotdb.confignode.persistence.UDFInfo;
  import org.apache.iotdb.consensus.common.DataSet;
  import org.apache.iotdb.rpc.TSStatusCode;
+ import org.apache.iotdb.tsfile.utils.Pair;
  
  import org.apache.thrift.TException;
  import org.slf4j.Logger;
diff --cc server/src/main/java/org/apache/iotdb/db/mpp/plan/parser/ASTVisitor.java
index 86481573ec,dab981d3ea..5b6e56f242
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/parser/ASTVisitor.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/parser/ASTVisitor.java
@@@ -480,26 -478,24 +483,45 @@@ public class ASTVisitor extends IoTDBSq
      return new CountStorageGroupStatement(path);
    }
  
 +  // Create Function
 +  @Override
 +  public Statement visitCreateFunction(CreateFunctionContext ctx) {
 +    return new CreateFunctionStatement(
 +        parseIdentifier(ctx.udfName.getText()),
 +        parseStringLiteral(ctx.className.getText()),
 +        parseUris(ctx.uri()));
 +  }
 +
 +  private List<URI> parseUris(List<UriContext> uriContexts) {
 +    List<URI> uris = new ArrayList<>();
 +    for (UriContext uriContext : uriContexts) {
 +      final String uriString = uriContext.getText();
 +      try {
 +        uris.add(new URI(parseStringLiteral(uriString)));
 +      } catch (URISyntaxException e) {
 +        throw new SemanticException(String.format("'%s' is not a legal URI.", uriString));
 +      }
 +    }
 +    return uris;
++
+   // Show Child Paths =====================================================================
+   @Override
+   public Statement visitShowChildPaths(IoTDBSqlParser.ShowChildPathsContext ctx) {
+     if (ctx.prefixPath() != null) {
+       return new ShowChildPathsStatement(parsePrefixPath(ctx.prefixPath()));
+     } else {
+       return new ShowChildPathsStatement(new PartialPath(SQLConstant.getSingleRootArray()));
+     }
+   }
+ 
+   // Show Child Nodes =====================================================================
+   @Override
+   public Statement visitShowChildNodes(IoTDBSqlParser.ShowChildNodesContext ctx) {
+     if (ctx.prefixPath() != null) {
+       return new ShowChildNodesStatement(parsePrefixPath(ctx.prefixPath()));
+     } else {
+       return new ShowChildNodesStatement(new PartialPath(SQLConstant.getSingleRootArray()));
+     }
    }
  
    /** Data Manipulation Language (DML) */