intersystems-community / DeepSeeWeb

Renderer for DeepSee Dashboards in Browser with MDX2JSON as a Serverside and JS web-client
MIT License
18 stars 13 forks source link

DeepSeeWeb takes an extremely long time to load MDX2JSON POST Query after applying filters #423

Closed nickpetrocelli closed 3 months ago

nickpetrocelli commented 3 months ago

We are currently having an issue in DSW where a dashboard will take upwards of 30 seconds to load after applying a filter to the data. We have confirmed that the issue is solely in DSW and not in IRISBI; the same dashboard loads very quickly in the User Portal after filtering and there are no issues running the underlying queries in the Analyzer.

The behavior is that when applying a filter, DSW sends a POST request to /mdx2json/DataSource?Namespace=\<namespace name> with the payload {DataSource: \<Pivot table path>}. The request itself succeeds and the reply from the server comes in less than 500 ms; however, it then takes over 30 seconds for DSW to actually load and display the data, during which time the UI is completely frozen and appears to have crashed.

Are there any known fixes for this? I see there are other issues investigating mdx2json, is this a known bug?

Thanks, Nick P.

sduncan01 commented 3 months ago

@nickpetrocelli showed me this behavior yesterday and one thing I think is worth pointing out is that the widget being filtered is a stacked column chart that seemed (based on the number of entries in the legend) to have a pretty large number of data series (at least a few dozen; Nick might be able to give a more accurate count). I wonder if DeepSeeWeb is taking a long time to draw the chart after filtering due to the number of series involved.

evshvarov commented 3 months ago

@nickpetrocelli, we localized the issue with the graph chart. If you switch to table view and filter and then switch to graph, it works immediately. The issue happens only if the filter is applied when the graph chart is active. We'll work further to fix the problem

evshvarov commented 3 months ago

@nickpetrocelli , turned out that the issue can be reproduced if just refresh the widget (right click, choose refresh) without changing the filter

nickpetrocelli commented 3 months ago

Confirmed on our internal system that the fix deployed in version 3.2.25 fixed the issue. Closing.

sduncan01 commented 3 months ago

For future reference, looks like https://github.com/intersystems-community/DeepSeeWeb/commit/61293a1b14d3bc231b66dc964eccd95f23b212a4 fixed this. Thanks @agnybida!