Mit Desai created YUNIKORN-3076:
-----------------------------------
Summary: Web UI Fails to Load Applications for Certain Queues on
Heavily Loaded Clusters
Key: YUNIKORN-3076
URL: https://issues.apache.org/jira/browse/YUNIKORN-3076
Project: Apache YuniKorn
Issue Type: Bug
Components: webapp
Reporter: Mit Desai
Assignee: Mit Desai
Fix For: 1.6.3, 1.6.2, 1.6.1, 1.6.0, 1.5.2
On heavily loaded clusters, the Web UI randomly fails to load applications for
certain queues. The allocations and resource usage are reported correctly, but
the list of applications does not load for some queues. There is no definitive
way to reproduce this scenario, but it has been observed frequently.
{*}Initial Assumptions{*}: Initially, it was assumed that this issue could be
due to a large payload being exchanged between the scheduler and the web UI,
causing network latency or client-side parsing delays for a large number of
applications/pods. However, this does not seem to be the case, as the issue was
observed yesterday on a queue with just 3 applications and approximately 200
pods.
{*}Root Cause{*}: Upon further debugging, it was found that not all
applications come back with a 'stateLog' object. When the UI rendering occurs,
there is an unconditional access to the stateLog object, which fails for
applications that do not have it. This causes the rendering process to fail and
results in a blank applications page.
{*}Steps to Validate{*}:
# When experiencing such issues in the Web UI, open the inspect panel and
navigate to the network tab.
# Clear any existing network items. Note: Clear the network items if you are
moving to a different queue, as the UI will cache the applications object
unless the page is refreshed.
# Go to the applications tab and select the desired queue from the drop-down
menu.
# An 'Applications' tab should appear in the network tab, showing the payload
it received.
# If the UI is not loading the applications, there will be an application with
{{applicationState=New}} that does not have a stateLog object.
Attached is a screenshot of an occurrence from one of the queues and the
information available in the network tab.
{*}Proposed Solution{*}: Modify the UI rendering logic to handle cases where
the stateLog object is missing, ensuring that it does not fail and give up on
rendering the entire applications page. Implement error handling to either skip
or provide a default value for applications without a stateLog object.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]