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

Fail to load dashboard when Local storage's quota is exceeded #122760

Closed
afharo opened this issue Jan 12, 2022 · 3 comments
Closed

Fail to load dashboard when Local storage's quota is exceeded #122760

afharo opened this issue Jan 12, 2022 · 3 comments
Assignees
Labels
bug Fixes for quality problems that affect the customer experience Feature:Dashboard Dashboard related features impact:needs-assessment Product and/or Engineering needs to evaluate the impact of the change. loe:needs-research This issue requires some research before it can be worked on or estimated Team:Presentation Presentation Team for Dashboard, Input Controls, and Canvas TestWeek-8.0

Comments

@afharo
Copy link
Member

afharo commented Jan 12, 2022

Kibana version: 8.0.0-rc1

Elasticsearch version:

Server OS version:

Browser version: Firefox 95.0.2

Browser OS version: macOS 12.1

Original install method (e.g. download page, yum, from source, etc.): Cloud deployment

Describe the bug:
When the local storage quota is exceeded, opening a new dashboard fails with an Unhandled promise rejection.

Steps to reproduce:

  1. Get the local storage to the limit of its quota:
    1. Create a very large dashboard with plenty of complex in_value visualizations
    2. Run queries with a large body payload in Kibana's Dev Tools > Console
    3. Do so until you get an error about exceeding the quota
  2. Try to save the dashboard with a different name
  3. Notice that an error is raised that the dashboard could not be saved due to exceeding the quota
  4. Go to the list of dashboards and try to open the new dashboard that was just saved. You'll see a blank page.

Expected behavior:

  • Not being able to store the dashboard in the Local storage should not block the dashboard from opening.
  • Better management of the local storage should be done to avoid these quota-related issues.

Screenshots (if relevant):
image
Failing to save the dashboard using Save as because of the quota issue (although the dashboard is actually saved)

image

Opening Other dashboard from the list of dashboards while the quota limit is exceeded

Errors in browser console (if relevant):
image
Opening Other dashboard from the list of dashboards while the quota limit is exceeded

Any additional context:
Workaround: clean the local storage by clearing the history of the Dev Tools > Console

@afharo afharo added bug Fixes for quality problems that affect the customer experience Feature:Dashboard Dashboard related features Team:Presentation Presentation Team for Dashboard, Input Controls, and Canvas labels Jan 12, 2022
@kibanamachine kibanamachine added impact:needs-assessment Product and/or Engineering needs to evaluate the impact of the change. loe:needs-research This issue requires some research before it can be worked on or estimated labels Jan 12, 2022
@elasticmachine
Copy link
Contributor

Pinging @elastic/kibana-presentation (Team:Presentation)

@ThomThomson
Copy link
Contributor

Update: This issue is likely caused by the state diffing problems in issues like #98180 and #118624, which were fixed in 8.x, but the fixes were not backported into 7.x.

In short, this issue was caused by the fact that Dashboard tracks state differences even when in view mode. When a dashboard is loaded and one of the above issues erroneously determines that the dashboard panels have unsaved changes , the entire panels key is backed up in session storage.

I have yet to be able to reproduce this taking much of the 50mb storage limit in firefox, but it could be theoretically possible if the user opens many large dashboards which all have this problem in the same tab one after the other.

Other areas around Kibana may contribute to filling up the quota, but I will close this issue for now once the backports of the two original PRs have been merged into 7.x.

You can track #124293 and #124295.

@ThomThomson
Copy link
Contributor

Closing this issue, as both backports have been merged into 7.17

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Fixes for quality problems that affect the customer experience Feature:Dashboard Dashboard related features impact:needs-assessment Product and/or Engineering needs to evaluate the impact of the change. loe:needs-research This issue requires some research before it can be worked on or estimated Team:Presentation Presentation Team for Dashboard, Input Controls, and Canvas TestWeek-8.0
Projects
None yet
Development

No branches or pull requests

4 participants