-
Notifications
You must be signed in to change notification settings - Fork 14.1k
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
Version 4.0.1 - endless loading - manual refresh is needed to show dashboard #28833
Comments
@Slaheddine Merhaba! I'm here to help you with any bugs, questions, or contributions you have for the repository. Let me know how I can assist you! To resolve the issue of dashboards not displaying correctly and remaining in a loading state indefinitely after migrating to app version 4.0.1 and Helm Chart 0.12.11, you should ensure that the Here are the key points to check and ensure:
Here is the relevant part of the code that handles these aspects: useEffect(() => {
// eslint-disable-next-line consistent-return
async function getDataMaskApplied() {
const permalinkKey = getUrlParam(URL_PARAMS.permalinkKey);
const nativeFilterKeyValue = getUrlParam(URL_PARAMS.nativeFiltersKey);
const isOldRison = getUrlParam(URL_PARAMS.nativeFilters);
let dataMask = nativeFilterKeyValue || {};
// activeTabs is initialized with undefined so that it doesn't override
// the currently stored value when hydrating
let activeTabs: string[] | undefined;
if (permalinkKey) {
const permalinkValue = await getPermalinkValue(permalinkKey);
if (permalinkValue) {
({ dataMask, activeTabs } = permalinkValue.state);
}
} else if (nativeFilterKeyValue) {
dataMask = await getFilterValue(id, nativeFilterKeyValue);
}
if (isOldRison) {
dataMask = isOldRison;
}
if (readyToRender) {
if (!isDashboardHydrated.current) {
isDashboardHydrated.current = true;
}
dispatch(
hydrateDashboard({
history,
dashboard,
charts,
activeTabs,
dataMask,
}),
);
}
return null;
}
if (id) getDataMaskApplied();
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [readyToRender]); Ensure that the const readyToRender = Boolean(dashboard && charts); Additionally, verify that the export default function isDashboardLoading(charts) {
return Object.values(charts).some(
chart => chart.chartUpdateStartTime > (chart.chartUpdateEndTime || 0),
);
} If the issue persists, you may need to debug further to ensure that all necessary data is being fetched and processed correctly, and that there are no issues with the |
We do not have this code in our project, we are only using your docker images and your chart helm |
Any news please ? |
To resolve the issue of Superset dashboards staying in a loading state indefinitely after migrating to app version 4.0.1 and Helm Chart 0.12.11, you should ensure that the Here is the relevant part of the [ON_REFRESH_SUCCESS]() {
return {
...state,
isRefreshing: false,
};
},
[ON_FILTERS_REFRESH_SUCCESS]() {
return {
...state,
isFiltersRefreshing: false,
};
}, Ensure that these actions are correctly dispatched in your application when the data fetching or refreshing process completes. If these actions are not dispatched, the Additionally, verify that the useEffect(() => {
dispatch(setDatasetsStatus(status));
}, [dispatch, status]);
useEffect(() => {
async function getDataMaskApplied() {
const permalinkKey = getUrlParam(URL_PARAMS.permalinkKey);
const nativeFilterKeyValue = getUrlParam(URL_PARAMS.nativeFiltersKey);
const isOldRison = getUrlParam(URL_PARAMS.nativeFilters);
let dataMask = nativeFilterKeyValue || {};
let activeTabs: string[] | undefined;
if (permalinkKey) {
const permalinkValue = await getPermalinkValue(permalinkKey);
if (permalinkValue) {
({ dataMask, activeTabs } = permalinkValue.state);
}
} else if (nativeFilterKeyValue) {
dataMask = await getFilterValue(id, nativeFilterKeyValue);
}
if (isOldRison) {
dataMask = isOldRison;
}
if (readyToRender) {
if (!isDashboardHydrated.current) {
isDashboardHydrated.current = true;
}
dispatch(
hydrateDashboard({
history,
dashboard,
charts,
activeTabs,
dataMask,
}),
);
}
}
if (id) getDataMaskApplied();
}, [readyToRender]); Ensure that the |
Nope, no updates, and seemingly nobody else experiencing this. Are you getting any errors or showing any additional logs at all? |
Changing the GLOBAL_ASYNC_QUERIES_TRANSPORT from "ws" to "polling" and downgrading to version 2.1.1 resolved the issu .. Also, when doing the database downgrade, it gets blocked at version 90139bf715e4 because the downgrade script is trying to remove a table "metrics" which doesn't exist. We were obliged to manually create a table "metrics" so that the database downgrade script works until this revision ID: 9c2a5681ddfd. |
Oooh, interesting. I'm not sure who's using the websocket mode in day-to-day ops presently. Not sure if @craig-rueda @villebro or @michael-s-molina have tried it out lately. |
We are also facing the same issue, using superset image version 3.1.1. |
I'm facing somewhat the same problem after upgrading from 3.1.2 to 3.1.3. In my case, the dashboard will load the first time, but some charts do not load when filters are applied. This will happen only in Firefox. |
@pasqualtroncone are you getting any errors in the JS console, or in the server logs? |
We are also seeing this after upgrading from 3.1.1 to 4.0.1 |
@rusackas, nothing on the JS console or server logs, but it seems that my case is related to Firefox. It takes way too much time compared to Chrome to give back some results. At first, I thought it was an endless loop, but then the browser advised closing the tab, so the problem was clear. I solved my issue by not using Firefox. I think the cause of this comes from Pivot Table component. Tested on 3.1.3 and 4.0.2 |
Hm, interesting! @betodealmeida have you run into this? You're the only avid Firefox user I know :D |
I am using websockets and I see this issue only when SLACK_ENABLE_AVATARS is enabled.. |
@mistercrunch thoughts on this as the creator of: #27849 |
No direct/quick intuition on how Have we identified this is specific to GLOBAL_ASYNC_QUERIES_TRANSPORT + FIREFOX? I'd qualify |
It was consistent for both chrome and firefox for me. I was unaware you do not use GLOBAL_ASYNC_QUERIES_TRANSPORT for Preset. I therefore assume this means GLOBAL_ASYNC_QUERIES_TRANSPORT is not tested as part of Preset/Superset CI? |
Can confirm this issue exists in both chrome and firefox when GLOBAL_ASYNC_QUERIES_TRANSPORT is set to either When |
I do not know the details about the test coverage of |
Hello all. I am facing the same issue for charts loading forever with version 4.0.1 and 4.0.2, on Superset installed with helm 0.12.11. I already created another issue for the same in this link REDIS_DB=1 Is this a limitation? |
Can confirm that disabling GLOBAL_ASYNC_QUERIES resolved the issue with infinite loading after applying filters on 4.0.2. |
Bug description
After migrating to the app version 4.0.1 and Helm Chart 0.12.11, our dashboards are not showing any more and stay in loading state without showing the result. We are obliged to manually refresh the page to have the results.
How to reproduce the bug
using docker images :
and Helm Chart : 0.12.11
Screenshots/recordings
Superset version
4.0.1
Python version
3.9
Node version
Not applicable
Browser
Not applicable
Additional context
the only logs we have :
│ superset [2024-06-03 11:31:49,932: WARNING/MainProcess] /usr/local/lib/python3.9/site-packages/celery/worker/consumer/consumer.py:507: CP ││ endingDeprecationWarning: The broker_connection_retry configuration setting will no longer determine │
│ superset whether broker connection retries are made during startup in Celery 6.0 and above. ││ superset If you wish to retain the existing behavior for retrying connections on startup, │
│ superset you should set bro
Checklist
The text was updated successfully, but these errors were encountered: