Hi guys
I was wondering if there is a recommended value for minRecordLength in org.apache.jackrabbit.oak.plugins.blob.datastore.FileDataStore.config. We've currently set its value to 4kb (which if I'm not mistaken was a recommended value back with 6.0). When studying [0] however I noticed that Adobe defines its default value to be 16kb (while [1] states the default value to be 100 bytes).. Has this value recommendation changed with AEM 6.3? Also is it possible to just change this value during a restart of AEM or does it require some sort of content migration (oak2run?)? We are currently in the process of upgrading our AEM 6.2 to 6.3 and from what I understand we must do a migration anyways so maybe this would be a good time to change the value if required.
Am I right in assuming that an increase of this value will lead to a bigger segmentstore while the blobstore would get smaller. Is it faster to deliver from segmentstore than from blobstore or is there no difference?
Cheers
jd
[0] Configuring node stores and data stores in AEM 6
[1] Jackrabbit Oak – Repository OSGi Configuration
Solved! Go to Solution.
Views
Replies
Total Likes
Some more information:
It is recommend to leave it at default unless there is a reason client wants to change it.
The 16Kb default is only for the S3DataStore. But 16 Kb is also the limit for the SegmentStore below which it inlined the blobs. So, 4Kb is fine (Default for FDS as well from AEM 6,4) to be set but if using SegmentStore no value below 16Kb will be stored in the DataStore.
source:- [OAK-6911] Provide a way to tune inline size while storing binaries - ASF JIRA
Views
Replies
Total Likes
I could see the default value as 16KB since 6.1 [1]. Let me still check this with internal experts.
[1] Configuring node stores and data stores in AEM 6 - docs.adobe.com
Views
Replies
Total Likes
Hi kautuksahni
I don't know for sure if it was a recommended value or just something that we picked up from online references back when we upgraded to 6.0 with CRX3. I thought I read it back then but it's been a while so I could be wrong. Anyways I'm more interested in whether there are some recommendations and explanation of the impact this value might have in regards to memory consumption and performance metrics. If there are any and some of the internal exerts could share some information on that I think this would be great.
Assuming that a different value might be recommended I'd like to know if it is possible to switch the value with an already existing installation or if we would have to start from scratch and copy content over to the new installation. I checked [0] to see if there is any information there but I couldn't find any information in this regard.
When searching for minRecordLength in combination with AEM one can find a few references where other customers also seem to use 4KB in their repo config. I think this information would be useful not just for us but for other customers as well.
Any help is appreciated.
Cheers
jd
Views
Replies
Total Likes
Some more information:
It is recommend to leave it at default unless there is a reason client wants to change it.
The 16Kb default is only for the S3DataStore. But 16 Kb is also the limit for the SegmentStore below which it inlined the blobs. So, 4Kb is fine (Default for FDS as well from AEM 6,4) to be set but if using SegmentStore no value below 16Kb will be stored in the DataStore.
source:- [OAK-6911] Provide a way to tune inline size while storing binaries - ASF JIRA
Views
Replies
Total Likes
Hey John,
Back in 5.x days, this was set to 4KB so either 4KB or 16KB would work well only change I can think of would be the maintenance window. If you put more items inline i.e. segmentstore, it might take more time to cleanup things using online revisionGC
If the system is fully tuned and good read/write to FIle DS, I don't see any issues with items going to the datastore.
Views
Replies
Total Likes
Hi guys
Thx for the update on this topic. We will stick with 4KB then.
Cheers
jd
Views
Replies
Total Likes