-
Notifications
You must be signed in to change notification settings - Fork 28.9k
[SPARK-12837][SPARK-20666][CORE][FOLLOWUP] getting name should not fail if accumulator is garbage collected #17931
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
Conversation
|
cc @vanzin |
|
What's the issue with SQL metrics? |
|
Test build #76726 has started for PR 17931 at commit |
|
we will keep task context accumulators don't have this problem as we always keep the registered accumulators in DAGScheduler |
|
retest this please |
|
Test build #76741 has finished for PR 17931 at commit
|
Do you have an idea of how much this undoes the benefits of SPARK-12837? You're still avoiding sending the names of internal metrics, but I don't have a feel for how many accumulators a large sql query might generate. Also, is that really necessary? The errors seen in the bug (and that I noticed in my testing) were always on the driver side. |
|
at the time we received |
|
I see. What about the gains from SPARK-12837? Are they still enough that the change is justified, or should we just revert it instead? |
|
(BTW, if keeping the code, a slightly more verbose comment in the code explaining why non-internal accumulators still need to send their names would be good.) |
|
I checked the SPARK-12837 again and we only lose a little from this PR. I'll add more comments. |
|
Test build #76937 has finished for PR 17931 at commit
|
|
LGTM. |
|
Merging to master / 2.2. |
…il if accumulator is garbage collected ## What changes were proposed in this pull request? After #17596 , we do not send internal accumulator name to executor side anymore, and always look up the accumulator name in `AccumulatorContext`. This cause a regression if the accumulator is already garbage collected, this PR fixes this by still sending accumulator name for `SQLMetrics`. ## How was this patch tested? N/A Author: Wenchen Fan <[email protected]> Closes #17931 from cloud-fan/bug. (cherry picked from commit e1aaab1) Signed-off-by: Marcelo Vanzin <[email protected]>
…il if accumulator is garbage collected ## What changes were proposed in this pull request? After apache#17596 , we do not send internal accumulator name to executor side anymore, and always look up the accumulator name in `AccumulatorContext`. This cause a regression if the accumulator is already garbage collected, this PR fixes this by still sending accumulator name for `SQLMetrics`. ## How was this patch tested? N/A Author: Wenchen Fan <[email protected]> Closes apache#17931 from cloud-fan/bug.
…il if accumulator is garbage collected ## What changes were proposed in this pull request? After apache#17596 , we do not send internal accumulator name to executor side anymore, and always look up the accumulator name in `AccumulatorContext`. This cause a regression if the accumulator is already garbage collected, this PR fixes this by still sending accumulator name for `SQLMetrics`. ## How was this patch tested? N/A Author: Wenchen Fan <[email protected]> Closes apache#17931 from cloud-fan/bug.
What changes were proposed in this pull request?
After #17596 , we do not send internal accumulator name to executor side anymore, and always look up the accumulator name in
AccumulatorContext.This cause a regression if the accumulator is already garbage collected, this PR fixes this by still sending accumulator name for
SQLMetrics.How was this patch tested?
N/A