[ https://issues.apache.org/jira/browse/OAK-3878?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16210708#comment-16210708 ]
Vikas Saurabh commented on OAK-3878: ------------------------------------ I feel Julian's concern is valid in the sense that declarative javadoc should come into play only when there's no other way to safe-guard. I think refresh-cache-if-already-cached could be a good enough mitigating strategy (as [~reschke]'s patch in OAK-6839 does). That said, I was also wondering if DocumentStore could have an API which iterates all documents and takes a tranformation method so that BlobReferenceIterator could just ask document store to scan all documents and map those with a method like {{<ReferenceBlob> map(NodeDocument doc);}}. Btw, I understand this is going in the direction of "we need to re-look at DocumentStore API". I'm ok with refresh-cache strategy - just putting the thought here for the record. > Avoid caching of NodeDocument while iterating in BlobReferenceIterator > ---------------------------------------------------------------------- > > Key: OAK-3878 > URL: https://issues.apache.org/jira/browse/OAK-3878 > Project: Jackrabbit Oak > Issue Type: Improvement > Components: documentmk > Reporter: Chetan Mehrotra > Assignee: Chetan Mehrotra > Priority: Minor > Fix For: 1.8 > > > {{BlobReferenceIterator}} in DocumentMK makes use of {{DocumentStore}} API to > query the NodeDocument. This would cause all those NodeDocuments to be added > to cache in DocumentStore. Due to this when blob gc is running cache usage > would not be that effective due to all the associated churn. > As these NodeDocument are only required for BlobGC logic and its not expected > that this document would read again soon it would be better to skip caching > of these documents within DocumentStore > Similar requirement exist in VersionGC logic but there we use direct store > based API which does not add such documents to the cache -- This message was sent by Atlassian JIRA (v6.4.14#64029)