Skip to main content
July 5, 2024
Solved

Process variable size limit is 101?

  • July 5, 2024
  • 23 replies
  • 1 view

Hi guys,

Is there a new limit to how many rows can be stored in a process variable that is marked as multiple? I made a query that returned 146 elements and the length of the ac!variable is 146 but in the pv!variable there are only 101 elements. Everything after the 101st element seems to have gotten trimmed out.

Best answer by mikes0011

Are you talking about the actual data array size stored in the PV, or the size of information Appian will display in the UI before truncation?  AFAIK these are two different things.  And just because the information displayed in the GUI is truncated does not mean the data itself has been truncated - to determine that you'd need to call length() on the variable (in process) and look what the output is, and/or feed the PV's value into an interface and display it in a paragraph field / grid / etc (something where you're able to fully judge the size of the data contained therein), or one of another methods.  Viewing the process instance "variables" value and/or the same in Process History is not necessarily a method guaranteed to show you the full contents of a data-heavy variable.

23 replies

karumurua531442
July 5, 2024

Hi [mention:2108d3db7a4c4d7497dc783826684488:e9ed411860ed4f2ba0265705b8793d05]  what type of data are you trying to store in PV or AC variables?  what is your requirement, Having so much data in Pv can cause performance and memory management issues

stefanhelzle0001
July 5, 2024

I try to avoid doing such things. But I have to admit that I never tested that.

July 5, 2024

Okay I was able to bypass this. Instead of storing the indexed data (146 rows) of the datasubset in the variable I stored the data subset and that was saved with no problem since the PV thinks it is only 1 row of data but it actually consists of the 146 rows inside it. LOL, strange how this particular thing works

davidj137213
July 5, 2024

I think that's nor related with the number of elements, but with the size of the elements returned.

Anyway as [mention:3510a5189ce1477eaf2e09f5858c87e9:e9ed411860ed4f2ba0265705b8793d05]  and [mention:a11f77a729fb4db2af76b09948583328:e9ed411860ed4f2ba0265705b8793d05] said..... I would try to avoid that .. because it can easily lead to performance issues....

July 5, 2024

No buddy, it isn’t related to the size of data. That’s what I wondered too. But I tried an array of CDT with 2 fields and an array of CDT with 20 fields. Both of them got trimmed up to the 101st element. And also, if you see my reply above your message, it’s quite evident that size isn’t the issue since I was able to bypass the issue by doing the above. 
And also, this node that queried the data executed in less than a second so performance and memory usage isn’t an issue [emoticon:c4563cd7d5574777a71c318021cbbcc8]

davidj137213
July 5, 2024

Sorry!!! I didn't read your last answer.... IN that case,maybe you have some limit about the array size?... did you check configuration files ?

When I mentioned that this can lead to performance problems... I mean that it is not a good approach to store too much information in variables... because that consumes a lot of memory... not because of the time it may take to query the data.

July 6, 2024

Can you check process variable size(i.e. number of items in the array) using the count() function? To make sure that elements are getting trimmed. Because I am not able to reproduce it.

July 7, 2024

How many elements can you see in your array variable? Mine was 101, I’m sure

July 8, 2024
I tested for 140 records and was able to see all 140 records in the process details.
July 7, 2024

I have one scenario in my previous project which I would like to share
we were fetching a large amount of data inside the process variable which was of text data type and the number of characters it holds was more than 400000 (4 lacs) characters
when we were fetching similar data in an array it was giving result upto 4 rows only
so the point is that it depends of threshhold limit of the variable in different data type on how much data it can withstand.
Although I agree that it should be avoided as it leads to performance issues while monitoring the instances

July 7, 2024

So you are saying you had an array of 400000 char texts and it was trimming it out after the 4th row?

btw good work on your comedy show

July 7, 2024

yes [emoticon:d6dd260102fd406884fc96b8bc59760b]