Expand my Community achievements bar.

SOLVED

Replication Warning for "large multi value" property

Avatar

Level 2

Hi everyone,

I have case where I need to store a lot of values (around 7000) under a certain node in an OAK repository (AEM 6.0). The previous implementation had each value (user ID) stored as a node without a hierarchy, which made page activations quite slow.

I changed it now so the values are stored in a mutli-valued string property, which makes the page activation much faster, but on the publish instance I get following warning in the error.log:

26.08.2015 17:43:01.466 *WARN* [127.0.0.1 [1440603781461] POST /bin/receive HTTP/1.1] org.apache.jackrabbit.oak.jcr.session.NodeImpl Large multi valued property detected (6527 values).

It seems to work fine, but should I be concerned?

 

I found the spot which is causing the warning: http://grepcode.com/file/repo1.maven.org/maven2/org.apache.jackrabbit/oak-jcr/1.0.7/org/apache/jackr...

Apparently the constant "MV_PROPERTY_WARN_THRESHOLD" is set to 1000. Is this an artifact from the previous JCR repository, where more than 1000 nodes per level are not recommended?

1 Accepted Solution

Avatar

Correct answer by
Level 1

we encountered the same issue, we changed our implementation to use binary type instead of handling it as multivalued property. In order set to the binary property and retrieve the binary property, I followed this lead https://techrevel.blog/2020/09/19/editing-jcrdata-binary-in-aem/ . Hope this info helps those who are facing the same issue. Thanks!

View solution in original post

3 Replies

Avatar

Employee Advisor

Hi,

if you have a node with that much properties, it rather sounds like a bad design decision. I have never seen properties with more than 50 properties, and reaching this amount should lead to the question, if this node should be splitted into multiple ones.

No, it doesn't harm, but you should investigate into that a bit.

kind regards,
Jörg

Avatar

Level 10

An OAK implementation handles this amount of nodes and much more. That 1000 seems to be a value that was set - i would not be too concerned about the message, 

Avatar

Correct answer by
Level 1

we encountered the same issue, we changed our implementation to use binary type instead of handling it as multivalued property. In order set to the binary property and retrieve the binary property, I followed this lead https://techrevel.blog/2020/09/19/editing-jcrdata-binary-in-aem/ . Hope this info helps those who are facing the same issue. Thanks!