Infor recently instituted a 1 GB memory limit warning message on Cloudsuite MT that comes as a error in the workunit logs.It has then been hastily updated to 100 GB but it is impacting flows that are used as extract flows out of Landmark.
Ways to reduce the memory load other than reducing the number of assign nodes and writing to messagebuilder and then ftping to file at every 100 records or so.
The memory consumed in Landmark calls is huge. any way to reduce that?
Carl,
Did Russ say anything about using the StringBuilder function in IPA? This was recommened to one of my clients instead of building an output file with a JavaScript Expression.
DW
Landmark transaction nodes have a setting called "Use dataviews". Changing this from default to "NO" will dramatically reduce your memory. However, there are some caveats that caused some queries to fail if we were filtering on a related business class field. Here is what Infor told us about the requirements to turning off Dataviews:
"This is a MultipleRecordQuery with no keys provided and filtering on relations only, data views off will not work since no keys are provided. For the other IPA's with queries set to DataView off will work unless they meet the requirement as stated above then you have to turn on the dataview."
Maybe someone else can chime in on what Dataviews actually does, but from my understanding is that it pulls in a lot of related data that you may not have specified in your query.
Other memory savings trick we use for concatenating strings. May be better ways but I've found ~10x memory reduction.
When looping through data, append your strings to an array then do array.join(''. Push those lines to another array and do array.join('/r/n'. You could probably combine that with chunking up writes to file if needed.