[SPARK-27012][core] Storage tab shows rdd details even after executor ended#23920
[SPARK-27012][core] Storage tab shows rdd details even after executor ended#23920ajithme wants to merge 6 commits intoapache:masterfrom
Conversation
|
any suggestions @cloud-fan @squito |
|
You may have a point here, but what does the executor going away have to do with the object being cached, overall? that state is stored on the driver; partitions of data are across many executors. |
|
The storage tab populates UI based on the rdd's available partitions. UI i provides a link to see how these partitions are distributed among executors which are alive. When executor goes away we should remove it from rdd available partition so that it doesn't show up in UI. right ?
In case 1, we remove complete storage information |
core/src/main/scala/org/apache/spark/status/AppStatusListener.scala
Outdated
Show resolved
Hide resolved
core/src/main/scala/org/apache/spark/status/AppStatusListener.scala
Outdated
Show resolved
Hide resolved
|
@vanzin Thanks for the review. I have updated the code as per your review comment. Do you see any more changes required.? |
attilapiros
left a comment
There was a problem hiding this comment.
I suggest testing the case where the second executor is also lost (in the existing test method).
core/src/main/scala/org/apache/spark/status/AppStatusListener.scala
Outdated
Show resolved
Hide resolved
core/src/test/scala/org/apache/spark/status/AppStatusListenerSuite.scala
Outdated
Show resolved
Hide resolved
|
@attilapiros @vanzin @srowen Thanks for the inputs. I have updated accordingly |
core/src/main/scala/org/apache/spark/status/AppStatusListener.scala
Outdated
Show resolved
Hide resolved
core/src/main/scala/org/apache/spark/status/AppStatusListener.scala
Outdated
Show resolved
Hide resolved
core/src/main/scala/org/apache/spark/status/AppStatusListener.scala
Outdated
Show resolved
Hide resolved
core/src/main/scala/org/apache/spark/status/AppStatusListener.scala
Outdated
Show resolved
Hide resolved
|
ok to test |
|
@vanzin I have updated the PR as per the comments |
|
Test build #103008 has finished for PR 23920 at commit
|
|
Test build #103018 has finished for PR 23920 at commit
|
|
Merging to master / 2.4 / 2.3 (if no conflicts). |
|
Doesn't merge to 2.4; if you'd like the fix there, please open a separate PR. |
|
will create a separate PR for 2.4 branch. Thanks @vanzin @attilapiros @srowen |
What changes were proposed in this pull request?
After we cache a table, we can see its details in Storage Tab of spark UI. If the executor has shutdown ( graceful shutdown/ Dynamic executor scenario) UI still shows the rdd as cached and when we click the link it throws error. This is because on executor remove event, we fail to adjust rdd partition details @ org.apache.spark.status.AppStatusListener#onExecutorRemoved
How was this patch tested?
Have tested this fix in UI manually
Edit: Added UT