-
Notifications
You must be signed in to change notification settings - Fork 185
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
fix: Executor memory overhead overriding #1462
base: main
Are you sure you want to change the base?
Conversation
Thanks @LukMRVC. Could you fix the code formatting issue? There are instructions in https://datafusion.apache.org/comet/contributor-guide/development.html#submitting-a-pull-request |
Yes, it should be fixed by now. |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #1462 +/- ##
============================================
+ Coverage 56.12% 57.82% +1.69%
- Complexity 976 985 +9
============================================
Files 119 122 +3
Lines 11743 12178 +435
Branches 2251 2298 +47
============================================
+ Hits 6591 7042 +451
+ Misses 4012 3958 -54
- Partials 1140 1178 +38 ☔ View full report in Codecov by Sentry. |
Thank you for finding this issue, which was introduced in my previous PR #1379 |
// comet shuffle unified memory manager is disabled, so we need to add overhead memory | ||
CometSparkSessionExtensions.getCometShuffleMemorySize(sc.getConf) | ||
} | ||
CometSparkSessionExtensions.getCometShuffleMemorySizeInMiB(sc.getConf) |
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.
getCometShuffleMemorySizeInMiB
is only used for shuffle memory, we should also consider using getCometMemoryOverheadInMiB
when unified memory manager is disabled
My initial proposal was:
|
Okay, @wForget I reverted some of my changes back to align with your proposal of overriding executor memory. |
PR builds are currently failing. This should be fixed by #1465 |
Does newly added test case also need to be changed? |
That one should be fine, they passed with current changes to overriding spark executor memory, but fail without them. |
conf | ||
} | ||
|
||
/** Since using unified memory, executor memory should not be overridden */ |
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.
That one should be fine, they passed with current changes to overriding spark executor memory, but fail without them.
Indeed, I successfully run this test locally, but this comment seems incorrect
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.
Yes, you are right. I overlooked it. I changed the comment.
6115fcc
to
de101cd
Compare
Which issue does this PR close?
Closes #1460 .
Rationale for this change
Even when using unified memory, Comet would override
spark.executor.memoryOverhead
using inconsistent byte units.This situation should not have happened in the first place.
What changes are included in this PR?
Fixes for
shouldOverrideMemoryConf
getCometShuffleMemorySizeInMiB
to executor memoryOverheadHow are these changes tested?
Added
CometPluginsNonOverrideUnifiedModeSuite
to test thatspark.executor.memoryOverhead
is not overridden, which failed in previous versions.