[OutSystems Data Grid] Limit on how many rows can be processed with GetChangedLines?
data-grid-reactive
Reactive icon
Forge component by Platform Maintenance
Application Type
Reactive

Hello Support,

There is a need to process huge amount of edited rows at a time.
We are trying to process almost 30000 edited rows with GetChangedLines client action.


In our environment with Chrome browser, the GetChangedLines can process up to 21731 rows.
From 21732 rows, GetChangedLines is throwing the following console error and process is abrupted.
Failed to deserialize JSON to ReturnMessageRec: Maximum call stack size exceeded

Somewhere there is a recursive function which calling on itself indefinitely.
Is it related to computer memory or is there any limit on max rows which can be processed with GetChangedLines client action?
I will attach the sample module.

Please let us know.

Thank you and regards,
Alam

JSONDeserializeFailed.oml

Hello Alam,


This seems to be a bug with JS not being able to handle such a large JSON. We'll analyze this internally and see if we can make some improvements on our client action.


But for now, why do you need to process 30000 rows at once? Can you tell me the use case, please?

Hello @Gabriel Lundgren
Sorry for my late reply.

The number is not exactly 30,000 rows we are trying to add.
I tried to create a sample to reproduce that issue and after 21731 rows, I am getting that error.

In the real project, the error occurred with 10,000 rows. 
So, we think the number of columns, data size, rows size etc. is making the JSON large and as a result the console error is occurring.

The use case is: User will add large amount of rows from excel or csv files and then those rows will be processed with GetChangedLines. If we know that there is a limit on how many rows can be processed at one time. Then as a counter measure we can set the limit to avoid the unexpected behavior.

Please let us know if there is a limit or something.

Thank you and regards,
Alam

Hi @Alam 

This seems to be a limit on the JSONSerialize/Deserialize client-side methods on the platform side, so is something that can't be controlled on the DataGrid side.

Best Regards,
GM

Community GuidelinesBe kind and respectful, give credit to the original source of content, and search for duplicates before posting.