Works fine in QV Desktop, but crashes the server…. ?
Had an interesting issue I have never seen in >10 years as a Qlik Admin. A junior developer built a “weird” chart – a straight table with ~12 dimensions, and 4 conditional expressions that were not aggregations, nor were they additive (they should have been dimensions). The chart definitely should have been a tablebox, but the developer chose a straight table for whatever reason. It worked just fine in QV Desktop (for testing) but once it was promoted into QV Server it blew up. Basically, once someone activated that chart memory started racing on the server. It was a very very small app, but we started using 20GB every 30 seconds, and eventually went to 3x our physical memory (we were paging hard) and then the service crashed and restarted. Obviously, lots of other issues presented during this window like “No Connection” errors for end users, PGO read error, etc.
So – found the issue and fixed the issue (recreating the straight table chart didn't fix it, so I converted it into a tablebox to resolve). My question for this group is around how Qlik Desktop was perfectly fine with this chart while Qlik Server blew up. Why? My mind is thinking something like the aggregation algorithms might differ between QVS and QV Desktop, and perhaps desktop ignored this and server had a major issue with it? Thoughts?
that is a very good question and it would need some analysis form the Qlik support, to raise a potential product defect with R&D. Could you please open a ticket with the support and attach a copy of the application.
Are the desktop client and the server both on the same release? Mixing of them worked often smoothly but sometimes there are conflicts.
Is the dataset exactly the same? The dataset may be reduced in any way through a section access or by differences on the load-process - different access rights to sources, user/machine-depending conditions / load-order, different interpretation of data especially formatting of dates/times and defining the decimal-delimiter or similar stuff - may lead to more/less records and/or missing/wrong associations and/or wrong/missing field/variables respectively the appropriate field-values / variable-values. And any of them may cause in the end some kind of cartesian calculation within the chart (which may the desktop client break after n iterations / RAM consumption / timeouts and the server may didn't end until all resources are consumed).
Differences may also occur through different user-settings especially if any easter egg was touched.
Before looking on the above I would try the access also with the IE plugin and open on server with the desktop client (does it happens with all clients?) and without a reload from the qmc and also reloading the application with different users on the outside from the server and also on the machine on which the server runs.
Further I would look if any dimension/expression-groups and/or variables were used in the chart and check them. Reducing the available dataset through some selections and/or deactivating n dimensions/expressions in the chart should delay the server-crash and giving you enough time to investigate the matter. From own experience I know that invalid calculated dimensions are problematic.