This is an automated email from the ASF dual-hosted git repository. xingtanzjr pushed a commit to branch xingtanzjr/add_more_log in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 7aa5fbf32463452def9ad3f1812ffe724b098170 Author: Jinrui.Zhang <[email protected]> AuthorDate: Tue Jun 14 20:52:45 2022 +0800 optimize log for mpp --- .../apache/iotdb/db/mpp/plan/execution/QueryExecution.java | 11 ++++++++++- .../iotdb/db/mpp/plan/planner/plan/FragmentInstance.java | 5 ++++- .../iotdb/db/mpp/plan/planner/plan/node/PlanNodeUtil.java | 9 +++++++++ .../planner/plan/node/metedata/read/SchemaFetchScanNode.java | 10 ++++++++++ .../planner/plan/node/metedata/read/SchemaQueryScanNode.java | 8 ++++++++ .../db/mpp/plan/planner/plan/node/sink/FragmentSinkNode.java | 7 +++++-- .../planner/plan/node/source/AlignedLastQueryScanNode.java | 3 ++- .../plan/node/source/AlignedSeriesAggregationScanNode.java | 3 ++- .../plan/planner/plan/node/source/AlignedSeriesScanNode.java | 3 ++- .../mpp/plan/planner/plan/node/source/LastQueryScanNode.java | 5 ++++- .../planner/plan/node/source/SeriesAggregationScanNode.java | 3 ++- .../db/mpp/plan/planner/plan/node/source/SeriesScanNode.java | 5 ++++- 12 files changed, 62 insertions(+), 10 deletions(-) diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/QueryExecution.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/QueryExecution.java index 1462033971..5f4ce1ae3f 100644 --- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/QueryExecution.java +++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/QueryExecution.java @@ -44,6 +44,7 @@ import org.apache.iotdb.db.mpp.plan.optimization.PlanOptimizer; import org.apache.iotdb.db.mpp.plan.planner.LogicalPlanner; import org.apache.iotdb.db.mpp.plan.planner.distribution.DistributionPlanner; import org.apache.iotdb.db.mpp.plan.planner.plan.DistributedQueryPlan; +import org.apache.iotdb.db.mpp.plan.planner.plan.FragmentInstance; import org.apache.iotdb.db.mpp.plan.planner.plan.LogicalQueryPlan; import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanNodeUtil; import org.apache.iotdb.db.mpp.plan.scheduler.ClusterScheduler; @@ -233,7 +234,15 @@ public class QueryExecution implements IQueryExecution { logger.info( "distribution plan done. Fragment instance count is {}, details is: \n {}", distributedPlan.getInstances().size(), - distributedPlan.getInstances()); + printFragmentInstances(distributedPlan.getInstances())); + } + + private String printFragmentInstances(List<FragmentInstance> instances) { + StringBuilder ret = new StringBuilder(); + for (FragmentInstance instance : instances) { + ret.append(System.lineSeparator()).append(instance); + } + return ret.toString(); } // Stop the workers for this query diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/FragmentInstance.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/FragmentInstance.java index 3ec2778dd5..47e785a58a 100644 --- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/FragmentInstance.java +++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/FragmentInstance.java @@ -133,7 +133,10 @@ public class FragmentInstance implements IConsensusRequest { ret.append(String.format("FragmentInstance-%s:", getId())); ret.append( String.format( - "Host: %s ", getHostDataNode() == null ? "Not set" : getHostDataNode().dataNodeId)); + "Host: %s ", + getHostDataNode() == null + ? "Not set" + : getHostDataNode().dataNodeId + " - " + getHostDataNode().internalEndPoint)); ret.append( String.format( "Region: %s ", diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/PlanNodeUtil.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/PlanNodeUtil.java index e559377b53..72a22d46cb 100644 --- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/PlanNodeUtil.java +++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/PlanNodeUtil.java @@ -18,6 +18,8 @@ */ package org.apache.iotdb.db.mpp.plan.planner.plan.node; +import org.apache.iotdb.common.rpc.thrift.TRegionReplicaSet; + import java.util.List; import java.util.Map; import java.util.TreeMap; @@ -29,6 +31,13 @@ public class PlanNodeUtil { private static final String CORNER = " └──"; private static final String LINE = " │ "; + public static String printRegionReplicaSet(TRegionReplicaSet regionReplicaSet) { + if (regionReplicaSet == null) { + return "Not Assigned"; + } + return regionReplicaSet.getRegionId().toString(); + } + public static void printPlanNode(PlanNode root) { printPlanNodeWithLevel(root, 0); } diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/metedata/read/SchemaFetchScanNode.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/metedata/read/SchemaFetchScanNode.java index 031fb7b2fb..4fa5232b1b 100644 --- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/metedata/read/SchemaFetchScanNode.java +++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/metedata/read/SchemaFetchScanNode.java @@ -26,6 +26,7 @@ import org.apache.iotdb.db.mpp.common.schematree.PathPatternTree; import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanNode; import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanNodeId; import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanNodeType; +import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanNodeUtil; import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanVisitor; import org.apache.iotdb.db.mpp.plan.planner.plan.node.source.SourceNode; @@ -83,6 +84,15 @@ public class SchemaFetchScanNode extends SourceNode { return ImmutableList.of(); } + @Override + public String toString() { + return String.format( + "SchemaFetchScan-%s:[StorageGroup: %s, DataRegion: %s]", + this.getPlanNodeId(), + storageGroup, + PlanNodeUtil.printRegionReplicaSet(getRegionReplicaSet())); + } + @Override protected void serializeAttributes(ByteBuffer byteBuffer) { PlanNodeType.SCHEMA_FETCH_SCAN.serialize(byteBuffer); diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/metedata/read/SchemaQueryScanNode.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/metedata/read/SchemaQueryScanNode.java index 626b53a661..88c6db1e20 100644 --- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/metedata/read/SchemaQueryScanNode.java +++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/metedata/read/SchemaQueryScanNode.java @@ -22,6 +22,7 @@ import org.apache.iotdb.common.rpc.thrift.TRegionReplicaSet; import org.apache.iotdb.commons.path.PartialPath; import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanNode; import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanNodeId; +import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanNodeUtil; import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanVisitor; import org.apache.iotdb.db.mpp.plan.planner.plan.node.source.SourceNode; @@ -125,6 +126,13 @@ public abstract class SchemaQueryScanNode extends SourceNode { this.hasLimit = hasLimit; } + @Override + public String toString() { + return String.format( + "SchemaQueryScan-%s:[Path: %s, DataRegion: %s]", + this.getPlanNodeId(), path, PlanNodeUtil.printRegionReplicaSet(getRegionReplicaSet())); + } + @Override public <R, C> R accept(PlanVisitor<R, C> visitor, C context) { return visitor.visitSchemaQueryScan(this, context); diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/sink/FragmentSinkNode.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/sink/FragmentSinkNode.java index d53f8b4e97..9a701571b0 100644 --- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/sink/FragmentSinkNode.java +++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/sink/FragmentSinkNode.java @@ -147,8 +147,11 @@ public class FragmentSinkNode extends SinkNode { return "Not assigned"; } return String.format( - "%s/%s/%s", - getDownStreamEndpoint().getIp(), getDownStreamInstanceId(), getDownStreamPlanNodeId()); + "%s:%d/%s/%s", + getDownStreamEndpoint().getIp(), + getDownStreamEndpoint().port, + getDownStreamInstanceId(), + getDownStreamPlanNodeId()); } public void setDownStream(TEndPoint endPoint, FragmentInstanceId instanceId, PlanNodeId nodeId) { diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/source/AlignedLastQueryScanNode.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/source/AlignedLastQueryScanNode.java index 531bf9d99d..f09c9e5a36 100644 --- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/source/AlignedLastQueryScanNode.java +++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/source/AlignedLastQueryScanNode.java @@ -25,6 +25,7 @@ import org.apache.iotdb.db.metadata.path.PathDeserializeUtil; import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanNode; import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanNodeId; import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanNodeType; +import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanNodeUtil; import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanVisitor; import org.apache.iotdb.tsfile.read.filter.basic.Filter; @@ -124,7 +125,7 @@ public class AlignedLastQueryScanNode extends SeriesSourceNode { "AlignedLastQueryScanNode-%s:[SeriesPath: %s, DataRegion: %s]", this.getPlanNodeId(), this.getSeriesPath().getFormattedString(), - this.getRegionReplicaSet()); + PlanNodeUtil.printRegionReplicaSet(this.getRegionReplicaSet())); } @Override diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/source/AlignedSeriesAggregationScanNode.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/source/AlignedSeriesAggregationScanNode.java index 6a79e830f9..8180593005 100644 --- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/source/AlignedSeriesAggregationScanNode.java +++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/source/AlignedSeriesAggregationScanNode.java @@ -26,6 +26,7 @@ import org.apache.iotdb.db.metadata.path.PathDeserializeUtil; import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanNode; import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanNodeId; import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanNodeType; +import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanNodeUtil; import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanVisitor; import org.apache.iotdb.db.mpp.plan.planner.plan.node.process.AggregationNode; import org.apache.iotdb.db.mpp.plan.planner.plan.parameter.AggregationDescriptor; @@ -292,6 +293,6 @@ public class AlignedSeriesAggregationScanNode extends SeriesAggregationSourceNod this.getPlanNodeId(), this.getAlignedPath().getFormattedString(), this.getAggregationDescriptorList(), - this.getRegionReplicaSet()); + PlanNodeUtil.printRegionReplicaSet(getRegionReplicaSet())); } } diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/source/AlignedSeriesScanNode.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/source/AlignedSeriesScanNode.java index 72cba2fb52..5ebab844fc 100644 --- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/source/AlignedSeriesScanNode.java +++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/source/AlignedSeriesScanNode.java @@ -26,6 +26,7 @@ import org.apache.iotdb.db.metadata.path.PathDeserializeUtil; import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanNode; import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanNodeId; import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanNodeType; +import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanNodeUtil; import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanVisitor; import org.apache.iotdb.db.mpp.plan.statement.component.OrderBy; import org.apache.iotdb.tsfile.common.constant.TsFileConstant; @@ -286,7 +287,7 @@ public class AlignedSeriesScanNode extends SeriesSourceNode { "AlignedSeriesScanNode-%s:[SeriesPath: %s, DataRegion: %s]", this.getPlanNodeId(), this.getAlignedPath().getFormattedString(), - this.getRegionReplicaSet()); + PlanNodeUtil.printRegionReplicaSet(getRegionReplicaSet())); } @Override diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/source/LastQueryScanNode.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/source/LastQueryScanNode.java index 8edacb9f05..f0dac787cf 100644 --- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/source/LastQueryScanNode.java +++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/source/LastQueryScanNode.java @@ -25,6 +25,7 @@ import org.apache.iotdb.db.metadata.path.PathDeserializeUtil; import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanNode; import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanNodeId; import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanNodeType; +import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanNodeUtil; import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanVisitor; import org.apache.iotdb.tsfile.read.filter.basic.Filter; @@ -128,7 +129,9 @@ public class LastQueryScanNode extends SeriesSourceNode { public String toString() { return String.format( "LastQueryScanNode-%s:[SeriesPath: %s, DataRegion: %s]", - this.getPlanNodeId(), this.getSeriesPath(), this.getRegionReplicaSet()); + this.getPlanNodeId(), + this.getSeriesPath(), + PlanNodeUtil.printRegionReplicaSet(getRegionReplicaSet())); } @Override diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/source/SeriesAggregationScanNode.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/source/SeriesAggregationScanNode.java index 21f1cf6e16..7c4c7563f9 100644 --- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/source/SeriesAggregationScanNode.java +++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/source/SeriesAggregationScanNode.java @@ -25,6 +25,7 @@ import org.apache.iotdb.db.metadata.path.PathDeserializeUtil; import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanNode; import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanNodeId; import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanNodeType; +import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanNodeUtil; import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanVisitor; import org.apache.iotdb.db.mpp.plan.planner.plan.node.process.AggregationNode; import org.apache.iotdb.db.mpp.plan.planner.plan.parameter.AggregationDescriptor; @@ -303,6 +304,6 @@ public class SeriesAggregationScanNode extends SeriesAggregationSourceNode { this.getPlanNodeId(), this.getSeriesPath(), this.getAggregationDescriptorList(), - this.getRegionReplicaSet()); + PlanNodeUtil.printRegionReplicaSet(this.getRegionReplicaSet())); } } diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/source/SeriesScanNode.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/source/SeriesScanNode.java index c919512066..03ff5dfb23 100644 --- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/source/SeriesScanNode.java +++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/source/SeriesScanNode.java @@ -25,6 +25,7 @@ import org.apache.iotdb.db.metadata.path.PathDeserializeUtil; import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanNode; import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanNodeId; import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanNodeType; +import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanNodeUtil; import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanVisitor; import org.apache.iotdb.db.mpp.plan.statement.component.OrderBy; import org.apache.iotdb.tsfile.read.filter.basic.Filter; @@ -262,7 +263,9 @@ public class SeriesScanNode extends SeriesSourceNode { public String toString() { return String.format( "SeriesScanNode-%s:[SeriesPath: %s, DataRegion: %s]", - this.getPlanNodeId(), this.getSeriesPath(), this.getRegionReplicaSet()); + this.getPlanNodeId(), + this.getSeriesPath(), + PlanNodeUtil.printRegionReplicaSet(getRegionReplicaSet())); } @Override
