ParamQuery grid support forum

General Category => ParamQuery Pro Evaluation Support => Topic started by: wd_perf on March 17, 2016, 10:21:39 pm

Title: "Maximum call stak size exceeded" error with filtering.
Post by: wd_perf on March 17, 2016, 10:21:39 pm
Hi,  I'm using local filtering. I found that the error happens when the part of the PQGrid has more than 10000 records or rows.  It happens when I search with $ (dollar) symbol only (for example:  42$1234).  It throws the exception in browser console and the PQGrid will become unresponsive.  Can you please let me know to fix this issue.
Title: Re: "Maximum call stak size exceeded" error with filtering.
Post by: paramvir on March 17, 2016, 10:35:17 pm
Which version are you using?

Is it possible for you to share a test case with reproducible issue.
Title: Re: "Maximum call stak size exceeded" error with filtering.
Post by: wd_perf on March 18, 2016, 02:51:03 am
I am using version 3.3.0. 

#Sample script for rendering grid

var data = json with 100000 objects in data

var renderGrid = function (container, title, headers, data, exportHandler) {
        var str = JSON.stringify(data).replace(/\bNaN\b/g, "");
        str = str.replace(/\bNAN\b/g, "");
        data = JSON.parse(str);
        var grid = {
            title: title,
            topVisible: false,
            flexHeight: false,
            showTop: true,
            showBottom: true,
            showHeader: true,
            roundedCorners: true,
            hoverMode: 'row',
            numberCell: {width: 70, resizable: true},
            virtualX: true,
            virtualY: true,
            virtualXHeader: false,
            width: 'auto',
            flex: { one: true },
            selectionModel: {type: 'row', mode: 'single', fireSelectChange: true},
            filterModel: {on: true, mode: "AND", header: true},
            collapsible: {on: false},
            toolbar: {
                cls: 'pq-toolbar-crud',
                style: 'text-align: right;',
                items: [
                    {
                        type: 'button',
                        style: 'font-size: 10px; padding: 5px;',
                        label: 'Export to CSV',
                        icon: 'ui-icon-plus',
                        listeners: [{click: exportHandler}]
                    }
                ]
            }
        };

        grid.colModel = headers;
        grid.dataModel = {
            data: data,
            location: "local",
            sorting: "local"
        };

        var pqGridObj = $(container).pqGrid(grid);
        var tempGrid = pqGridObj.pqGrid("getInstance").grid;
        for (var i in headers) {
            if (headers.dataType == "string") {
                headers.align = "left";
            }
            var filter = headers.filter;
            if (filter.type == "select" && filter.attr == "multiple" && filter.condition == "range") {
                filter.cache = null;
                filter.options = tempGrid.getData({dataIndx: [headers.dataIndx]});
            }

        }
        return pqGridObj;
    };
   
    renderGrid("#divId", "title", data.headers, data.data);
Title: Re: "Maximum call stak size exceeded" error with filtering.
Post by: wd_perf on March 18, 2016, 03:12:40 am
when I tested in my local with 90000 PQGrid seems to be working fine.  can you try with data more than 100000, 200000, 300000 ..... 1million to reproduce.  I got the exception in browser console when I was testing 215000 rows.
Title: Re: "Maximum call stak size exceeded" error with filtering.
Post by: paramvir on March 18, 2016, 08:41:33 am
Your test case is incomplete.

I've created a similar jsfiddle http://jsfiddle.net/ffwx6xfs/ with 50,000 records, I couldn't reproduce the error mentioned by you.

Please let me know the steps to reproduce the error in the above jsfiddle.
Title: Re: "Maximum call stak size exceeded" error with filtering.
Post by: wd_perf on March 19, 2016, 04:02:44 am
Please find the jsfiddle.  http://jsfiddle.net/nhnjvoj9/2/
Open the bowser console then In the filter box search with 1207$ to see the error.
Title: Re: "Maximum call stak size exceeded" error with filtering.
Post by: paramvir on March 27, 2016, 04:44:38 pm
Thanks for reporting this issue, I was able to reproduce it with 3,00,000 records. It has been fixed in the upcoming version.
Title: Re: "Maximum call stak size exceeded" error with filtering.
Post by: wd_perf on July 15, 2016, 03:22:48 am
Hi,  Can you please let me know when can I can get the updated version for this fix?
Title: Re: "Maximum call stak size exceeded" error with filtering.
Post by: paramvir on July 15, 2016, 09:42:25 am
Quote
Hi,  Can you please let me know when can I can get the updated version for this fix?

It's already fixed in v3.3.1 released on May 30, 2016
Title: Re: "Maximum call stak size exceeded" error with filtering.
Post by: wd_perf on July 19, 2016, 11:39:16 pm
can you please send me the latest patch through the provided email?
Title: Re: "Maximum call stak size exceeded" error with filtering.
Post by: paramvir on July 19, 2016, 11:58:16 pm
If you are an evaluation user, latest version can be downloaded from the download page. http://paramquery.com/pro/download/evaluate

If you are licensed user please share your Transaction Id and date of purchase so that your account can be upgraded.
Title: Re: "Maximum call stak size exceeded" error with filtering.
Post by: paramvir on July 20, 2016, 10:05:28 am
Thanks for the confirmation.

Your account has been upgraded to Pro Ultimate. All downloads are available from your account under the menu "Pro Downloads".
Title: Re: "Maximum call stak size exceeded" error with filtering.
Post by: wd_perf on July 21, 2016, 06:03:05 am
Thanks for your reply.  I did downloaded the latest version of PQgrid 3.3.1.  It seems the issue got resolved.  I don't see the "Max call stak exceeded" error,  but I do see lot of performance issues.  Its not filtering smooth for the large data set after I applied the new version.  For each and every alphabet or number I enter in filter box its taking time to retrieve the results and the page is not responsive until then I can't able to enter the next alphabet or number.  The time between two alphabets or numbers to filter in the textbox is 1 to 2 minutes.  Definitely this will be a performance issue in the customer view perspective.  Please use the previous jsfiddle which I send to test or create one and send it over here, because I don't want to put the latest version of pqgrid.min.js in jsfiddle to test and send it to you.  Thanks in advance for your quick response on this.
Title: Re: "Maximum call stak size exceeded" error with filtering.
Post by: wd_perf on July 21, 2016, 06:51:47 am
If I copy the whole word(ex: baseball) and paste it in to the filter text box its works fine and get back the results in 10 seconds.
Title: Re: "Maximum call stak size exceeded" error with filtering.
Post by: paramvir on July 21, 2016, 11:30:56 pm
You are right, there is performance issue while filtering of huge number of records.

Please use the attached patch 3.3.1.2.min.js (include it after pqgrid.min.js file ) as a fix to this issue.

Also consider to use 'change' listener instead of 'keyup' listener for filtering if possible.

Please let me know whether it improves the performance in your case.
Title: Re: "Maximum call stak size exceeded" error with filtering.
Post by: wd_perf on July 22, 2016, 10:30:35 pm
Thanks a lot param for helping on this.  It does improves the performance.  Works like a charm.
Title: Re: "Maximum call stak size exceeded" error with filtering.
Post by: wd_perf on July 22, 2016, 10:41:38 pm
Thanks A lot for your help on this.  It does improves the performance.  Works like a charm