YARN-11938. Integrate Scheduler UI to UI2#8301
Conversation
|
💔 -1 overall
This message was automatically generated. |
|
@K0K0V0K I see you working actively on the YARN frontend recently, do you guys have an interest in modernizing YARN UI v2? it uses a relatively old tech stack and fails to build many times, especially on new OS. |
Hean-Chhinling
left a comment
There was a problem hiding this comment.
Thanks for this improvement @K0K0V0K.
LGTM!
|
Thanks @Hean-Chhinling for the review! Sure @pan3793 , we are open to that! Yes, I think the same — the UI is not in the best shape and is somewhat hard to maintain. Two years ago, I created a UI PoC: I had a vision that we should move away from JS code and use server side rendering for the following reasons: There is a downside regarding the UI experience, but in the context of Hadoop, I suspect users are more focused on security than on having a fancy UI. However, to be honest, I’m not sure if this is the right approach. Should we move to a no-JS UI where users can see the cluster state, or should we move to a newer JS framework? |
|
@K0K0V0K Apologies for my late reply. Thank you for your efforts and enthusiasm in this direction. I understand the advantages of non-JS, but I think abandoning JS would be a huge step backward in terms of user experience —it's like going back 30 years. JS's ability to update web pages has a huge impact on user experience. To give a concrete example, the current display of the YARN Agg Log is directly rendered on the server side. For very long container logs, the browser is very prone to becoming unresponsive. However, when I tried using monaco-editor[1] + JS to retrieve the logs in chunks and incrementally append each log chunk to the monaco-editor, the browsing experience became very smooth, almost like opening a very large text file locally using VS Code. So, I'm not keen to adopt this no-JS. It would be great if the UIv2 can migrate to the same stack as the newly added Scheduler UI - React, which exhibits extremely strong vitality, and is likely to be popular for many years. However, I may make the wrong judgment because I am not very experienced in the frontend field. |
|
@pan3793 Not sure if you have seen, but I've started (and merged) a modern React based Capacity Scheduler config UI, it would be relatively simple to extend that with the remaining feature set of UI2: https://issues.apache.org/jira/browse/YARN-11885 |
|
@brumi1024, Nice! TBH, I haven't seen a user use YARN UIv2, chime in just because I found it breaks the build several times in recent years, it's really great if you can move it to a modern stack and get rid of legacy packages, especially platform-dependent deps. BTW, the Scheduler UI looks amazing, I will find time to try it! |
brumi1024
left a comment
There was a problem hiding this comment.
Thanks @K0K0V0K for the patch and @Hean-Chhinling for the review, merging to trunk.
Description of PR
How was this patch tested?
Deployed to a cluster and turn on the scheduler ui.
For code changes:
LICENSE,LICENSE-binary,NOTICE-binaryfiles?AI Tooling
If an AI tool was used:
where is the name of the AI tool used.
https://www.apache.org/legal/generative-tooling.html