-
Notifications
You must be signed in to change notification settings - Fork 28.9k
[SPARK-31971][WEBUI] Add pagination support for all jobs timeline #28803
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
[SPARK-31971][WEBUI] Add pagination support for all jobs timeline #28803
Conversation
|
cc: @gengliangwang |
|
@sarutak Thanks for the quick fix. I try on my local setup and it works. |
|
Test build #123864 has finished for PR 28803 at commit
|
|
@gengliangwang Yes, I've noticed that. The performance issue of |
|
So, I am actually -1 in this solution, for two reasons:
I tried a different version 4.21.0 from https://cdnjs.com/libraries/vis |
|
Let me create a PR for downgrading to 4.21.0 now. |
For 1), AllJobsPage is not affected even if a job has many stages isn't it? JobPage can be affect but we can apply the same solution. For 2), Yes, it's a little bit weird but the similar solution already exists in StagePage. Even if no performance issue exists, lots of items rendered in one page can be too noisy. |
OK, how about we merge #28806 to 3.0/2.4 first. |
I agree. I'll check that PR soon. |
…ination-support-for-all-jobs-timeline
The upper text fields are for timeline, while the lower ones are for the table so I think they should be independent each other. |
|
Test build #123965 has finished for PR 28803 at commit
|
|
retest this please. |
|
Test build #123969 has finished for PR 28803 at commit
|
|
Hi @gengliangwang, shall we restart discussion? |
|
cc: @dongjoon-hyun |
|
retest this please |
| method="get" | ||
| action="" | ||
| class="form-inline justify-content-end" | ||
| style="width: 50%; margin-left: auto; margin-bottom: 0px;"> |
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.
nit: shall we move the style to webui.css?
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.
Thanks. I'll consider it.
| Pages. Jump to</label> | ||
| <input type="text" | ||
| name="jobs.eventTimelinePageNumber" | ||
| id={s"form-event-timeline-page-no"} |
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.
Nit: I find similar code in StagePage.scala. But why do we need {s".."} here?
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.
Exactly. I'll remove s prefix.
|
@sarutak I am really sorry I missed your ping last week. |
|
Test build #125295 has finished for PR 28803 at commit
|
I wondered the pagination feature for task timeline is one compromise so I came up with bringing the idea into jobs timeline but this solution has both upside and downside as you suggested. |
|
We're closing this PR because it hasn't been updated in a while. This isn't a judgement on the merit of the PR in any way. It's just a way of keeping the PR queue manageable. |

What changes were proposed in this pull request?
This PR proposes to add pagination support for all-jobs timeline.
Why are the changes needed?
If there are lots of jobs, rendering performance of all jobs timeline can significantly goes down. This issue is reported in SPARK-31967.
For example, after the following operation, UI loading can take >40 sec.
Although it's not the fundamental solution, pagination can mitigate the issue.
Does this PR introduce any user-facing change?
Yes.


Before this change, all displayable jobs are displayed in one page.
After this change, 2 text boxes are added.
One is to set the maximum number of jobs to be displayed in a page and the other is to set the page number.
Gobutton is also added and if it's pushed, jobs are re-rendered based on the page size and page number.How was this patch tested?
Additional testcase with the following command.