Expand my Community achievements bar.

Dive into Adobe Summit 2024! Explore curated list of AEM sessions & labs, register, connect with experts, ask questions, engage, and share insights. Don't miss the excitement.
SOLVED

What is the Maximum Size to add value in String[] array (Multi value) for any property in Adobe CQ

Avatar

Level 3

Hi,

I wanted to know is there any limit on the size to put into any String[] Array as a property into Adobe CRX for any given node?

I have a requirement for adding large number of data as String[] array as Multivalue for one property in crx.

I am getting exception and suspect that this is because CQ is not supporting so many data in a single property?

Can you please suggest?

Thanks.

1 Accepted Solution

Avatar

Correct answer by
Level 5

It is not a good idea to store big dataset under same property. As Sham mentioned (And if you google exception) it seems to be concurrent modification exception, If not from your code then may be something other code internally trying to change state of node while update operation is in progress. Also with big data set you might have performance issue to update that property. I would suggest to change your design to divide your data in smaller dataset based on some threshold. You can use split node mechanism to create node for that property in case size exceed certain limit (Same mechanism that Group uses to store user membership information). http://mail-archives.apache.org/mod_mbox/jackrabbit-dev/201008.mbox/%3C3607378.303481281615858862.Ja...

Yogesh 

View solution in original post

6 Replies

Avatar

Level 10

Generally Limit should be at oracle jdk hotspot.  [Integer.MAX_VALUE - 6]

Are you getting oom & what is the exact error you are getting?

Avatar

Level 10

Looks like concurrence issue. Is there any other thread trying to modify same property.  

Avatar

Level 3

No, there is no other thread. When this error occur generally?

Can there be any such case that during inserting the array values as property in CQ, there is stale view of few such nodes, which is causing this issue?

Can you please tell me how to fix this?

Thanks.

Avatar

Correct answer by
Level 5

It is not a good idea to store big dataset under same property. As Sham mentioned (And if you google exception) it seems to be concurrent modification exception, If not from your code then may be something other code internally trying to change state of node while update operation is in progress. Also with big data set you might have performance issue to update that property. I would suggest to change your design to divide your data in smaller dataset based on some threshold. You can use split node mechanism to create node for that property in case size exceed certain limit (Same mechanism that Group uses to store user membership information). http://mail-archives.apache.org/mod_mbox/jackrabbit-dev/201008.mbox/%3C3607378.303481281615858862.Ja...

Yogesh 

Avatar

Level 3

Thanks Yogesh. Yes I also assume it initially for concurrency exception and had posted similar question for this earlier, but did not get any response..

What if I try the approach of inserting one value for a given node and saving the session, instead of inserting all the values in array for a node and then saving the session? I tried this as well and it resulted into same exception.

Avatar

Level 10

How much data are you trying to place into the String array?