This is an automated email from the ASF dual-hosted git repository.
morrysnow pushed a commit to branch trace_all
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/trace_all by this push:
new 759255ec65 [trace](Nereids) add log to merge group
759255ec65 is described below
commit 759255ec65df1c88752787a922912c09ec6505a4
Author: morrySnow <[email protected]>
AuthorDate: Thu Mar 30 11:02:41 2023 +0800
[trace](Nereids) add log to merge group
---
fe/fe-core/src/main/java/org/apache/doris/nereids/memo/Memo.java | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/memo/Memo.java
b/fe/fe-core/src/main/java/org/apache/doris/nereids/memo/Memo.java
index 724b91bb97..295f3c85c1 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/nereids/memo/Memo.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/memo/Memo.java
@@ -46,6 +46,7 @@ import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
+import org.apache.log4j.Logger;
import java.util.ArrayList;
import java.util.List;
@@ -60,6 +61,9 @@ import javax.annotation.Nullable;
* Representation for memo in cascades optimizer.
*/
public class Memo {
+
+ private static final Logger LOGGER = Logger.getLogger(Memo.class);
+
// generate group id in memo is better for test, since we can reproduce
exactly same Memo.
private static final EventProducer GROUP_MERGE_TRACER = new
EventProducer(GroupMergeEvent.class,
EventChannel.getDefaultChannel().addConsumers(new
LogConsumer(GroupMergeEvent.class, EventChannel.LOG)));
@@ -436,11 +440,15 @@ public class Memo {
* @return merged group
*/
public Group mergeGroup(Group source, Group destination) {
+ LOGGER.info("memo try to merge group, source group is " +
source.getGroupId()
+ + ", dest group is " + destination.getGroupId());
if (source.equals(destination)) {
return source;
}
List<GroupExpression> needReplaceChild = Lists.newArrayList();
for (GroupExpression groupExpression : groupExpressions.values()) {
+ LOGGER.info("memo check GroupExpression " + groupExpression + "
whether need to be merged."
+ + " source group is " + source.getGroupId() + ", dest
group is " + destination.getGroupId());
if (groupExpression.children().contains(source)) {
if (groupExpression.getOwnerGroup().equals(destination)) {
// cycle, we should not merge
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]