-
Notifications
You must be signed in to change notification settings - Fork 3.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Enhancement](Nereids)Add nereids minidump #18747
Conversation
run build all |
run buildall |
run buildall |
run buildall |
TeamCity pipeline, clickbench performance test result: |
run fest |
run feut |
run feut |
run buildall |
run feut |
run feut |
run buildall |
@@ -332,6 +336,21 @@ public void extractTables(LogicalPlan logicalPlan) { | |||
} | |||
} | |||
|
|||
/** get table by table name, try to get from information from dumpfile first */ | |||
public Table getTableByName(String tableName) { | |||
assert (tables != null); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
use Precondition.checkState()
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
get
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
fe/fe-core/src/main/java/org/apache/doris/nereids/jobs/cascades/CostAndEnforcerJob.java
Show resolved
Hide resolved
run buildall |
@Override | ||
public JSONObject toJson() { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Because abstractPhysicalJoin can be different with abstractLogicalJoin, so her can have some different implementation
@Override | ||
public JSONObject toJson() { | ||
JSONObject json = new JSONObject(); | ||
json.put("PlanType", getType().toString()); | ||
JSONArray childrenJson = new JSONArray(); | ||
for (Plan child : children) { | ||
childrenJson.put(child.toJson()); | ||
} | ||
json.put("children", childrenJson); | ||
return json; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we don't implement this func for Unary
Binary
.
We can implement it for AbstractPlan
, and check children().size is enough
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I considered this implementation when start doing this part, but found leafPlan do not have children member, so this can not be done
run buildall |
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/Plan.java
Outdated
Show resolved
Hide resolved
public void setEnableNereidsTimeout(boolean enableNereidsTimeout) { | ||
this.enableNereidsTimeout = enableNereidsTimeout; | ||
} | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Because variable is public, we don't need get/set
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
public Minidump() { | ||
|
||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why add this a empty constructor, it's easy to use wrong by others.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sure, it was added default by ide, I forgot to remove it
public RuleType getRuleType() { | ||
return ruleType; | ||
} | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
public RuleType getRuleType() { | |
return ruleType; | |
} |
It's redundant
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
get
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
fe/fe-core/src/main/java/org/apache/doris/nereids/minidump/MinidumpUtils.java
Outdated
Show resolved
Hide resolved
fe/fe-core/src/main/java/org/apache/doris/nereids/minidump/NereidsTracer.java
Outdated
Show resolved
Hide resolved
fe/fe-core/src/main/java/org/apache/doris/nereids/minidump/NereidsTracer.java
Outdated
Show resolved
Hide resolved
fe/fe-core/src/main/java/org/apache/doris/nereids/minidump/MinidumpUtils.java
Outdated
Show resolved
Hide resolved
run buildall |
run buildall |
1 similar comment
run buildall |
run buildall |
run p0 |
bug introduced by apache#18747 getTableInMinidumpCache use wrong way to compare table's qualified name. we remove it temporary since it not use in productive env anymore
pick from master apache#35571 bug introduced by apache#18747 getTableInMinidumpCache use wrong way to compare table's qualified name. we remove it temporary since it not use in productive env anymore
bug introduced by apache#18747 getTableInMinidumpCache use wrong way to compare table's qualified name. we remove it temporary since it not use in productive env anymore
bug introduced by #18747 getTableInMinidumpCache use wrong way to compare table's qualified name. we remove it temporary since it not use in productive env anymore
bug introduced by #18747 getTableInMinidumpCache use wrong way to compare table's qualified name. we remove it temporary since it not use in productive env anymore
bug introduced by #18747 getTableInMinidumpCache use wrong way to compare table's qualified name. we remove it temporary since it not use in productive env anymore
pick from master apache#35571 bug introduced by apache#18747 getTableInMinidumpCache use wrong way to compare table's qualified name. we remove it temporary since it not use in productive env anymore
Add runnable mini dump demo in MinidumpTest
Problem summary
Describe your changes.
Checklist(Required)
Further comments
If this is a relatively large or complex change, kick off the discussion at [email protected] by explaining why you chose the solution you did and what alternatives you considered, etc...