This is an automated email from the ASF dual-hosted git repository.
jackietien pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/master by this push:
new 6b7a978471 Optimize log for mpp process (#6286)
6b7a978471 is described below
commit 6b7a9784713f3a5221a8df5fc0418cb27b7c50f3
Author: Zhang.Jinrui <[email protected]>
AuthorDate: Wed Jun 15 21:10:34 2022 +0800
Optimize log for mpp process (#6286)
---
.../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..541f0b7fe2 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 String.valueOf(regionReplicaSet.getRegionId());
+ }
+
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..249ab7fb95 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().getPort(),
+ 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