Skip to content
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

Display became inoperable #7857

Closed
5 of 7 tasks
davetsay opened this issue Oct 1, 2024 · 4 comments · Fixed by #7858
Closed
5 of 7 tasks

Display became inoperable #7857

davetsay opened this issue Oct 1, 2024 · 4 comments · Fixed by #7858
Assignees
Labels
bug:regression It used to work. Now it doesn't :( performance impacts or improves performance type:bug verified Tested or intentionally closed
Milestone

Comments

@davetsay
Copy link
Contributor

davetsay commented Oct 1, 2024

Summary

In a production deployment, a complex display - which relies on a Remote Clock - became inoperable. Troubleshooting resulted in the following analysis. 1) the remote clock never receives a time via historical request. 2) The main event loop is getting blocked with style recalculations, so it fails to process telemetry values, including the current time via subscriptions. The Remote Clock relies on getting time via telemetry request or subscription. Other telemetry requests rely on Remote Clock having a time set, so they in turn get stalled.

Fix these

  1. Remote Clock never receives telemetry from a historical request, due to a code regression.
  2. Progress bars are very CPU intensive.
  3. Plans are polling to resize internal components due to window resizes.

Expected vs Current Behavior

The Remote Clock gets a time set and telemetry begins to flow and views render properly

Steps to Reproduce

See VIPERGC-415 for full instructions, or...

Poor Man's Steps to Reproduce

  1. Build a complex display with all the things
  2. Configure to use Remote Clock
  3. Open complex display on multiple (at least 3) windows
  4. Refresh displays in sequence until they get stuck loading and never resolving

Environment

  • Open MCT Version:
  • Deployment Type:
  • OS:
  • Browser:

Impact Check List

  • Data loss or misrepresented data?
  • Regression? Did this used to work or has it always been broken?
  • Is there a workaround available? Navigate to another view first to set remote clock, then navigate to complex display
  • Does this impact a critical component?
  • Is this just a visual bug with no functional impact?
  • Does this block the execution of e2e tests?
  • Does this have an impact on Performance?

Additional Information

@davetsay
Copy link
Contributor Author

davetsay commented Oct 2, 2024

Testing Instructions:

  • See Steps to Reproduce, and ensure you get the page to load properly in the scenario described
  • Testing Progress Bars
    • go to a display that has a bunch of progress bars (plots, telemetry tables, etc.),
    • Open the Chrome Task Manager and filter by CPU descending
    • Throttle your network connection in the Chrome dev tools, or even halt it completely before all requests resolve, to get the progress bars to stay spinning
    • Observe in the Task Manager in your best judgement that the CPU isn't going out of control.
  • Testing PlanView
    • Observe plans and their contents resize accordingly when you resize the window, add to its composition, etc.

@davetsay davetsay self-assigned this Oct 2, 2024
@davetsay davetsay added bug:regression It used to work. Now it doesn't :( performance impacts or improves performance labels Oct 2, 2024
@akhenry akhenry added this to the Build 9 RC11 milestone Oct 2, 2024
@unlikelyzero
Copy link
Collaborator

after syncing with @davetsay ,

  1. Progress bars are already tested with a visual test
  2. Planview resizing is already tested with a visual test
  3. We need to figure out how to add a test to cover the remote clock / timeContext changes

@akhenry
Copy link
Contributor

akhenry commented Oct 10, 2024

@shefalijoshi to test

@akhenry akhenry reopened this Oct 10, 2024
@akhenry akhenry closed this as completed Oct 10, 2024
@shefalijoshi
Copy link
Contributor

shefalijoshi commented Oct 16, 2024

Verified fixed over VPN. @unlikelyzero to verify this in the dev lab

@akhenry akhenry assigned unlikelyzero and unassigned davetsay Oct 18, 2024
@unlikelyzero unlikelyzero added the verified Tested or intentionally closed label Oct 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug:regression It used to work. Now it doesn't :( performance impacts or improves performance type:bug verified Tested or intentionally closed
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants