You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Thomas Mueller (Jira)" <ji...@apache.org> on 2022/06/03 07:45:00 UTC
[jira] [Commented] (OAK-9780) Poc for DocumentNodeStore cache warming
[ https://issues.apache.org/jira/browse/OAK-9780?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17545764#comment-17545764 ]
Thomas Mueller commented on OAK-9780:
-------------------------------------
Findings so far:
* I changed prefetch a bit to only download entries that are _not_ yet in the cache.
* Prefetch of few elements seems unnecessary
* My finding so far is that with prefetch, after clearing the cache, a query is much faster than without prefetch, but then subsequent runs (with cache) are slower than without prefetch. I don't have a good explanation for this, and will investigate.
* I think we should soon consider adding the code to trunk, but _disable_ this new feature _by default_, so that we can more easily benchmark.
{noformat}
@Override
public <T extends Document> void prefetch(Collection<T> collection,
Iterable<String> keysToPrefetch) {
ArrayList<String> keys = new ArrayList<>();
for (String k : keysToPrefetch) {
if (nodesCache.getIfPresent(k) == null) {
keys.add(k);
}
}
if (keys.size() < minPrefetch) {
return;
}
{noformat}
> Poc for DocumentNodeStore cache warming
> ---------------------------------------
>
> Key: OAK-9780
> URL: https://issues.apache.org/jira/browse/OAK-9780
> Project: Jackrabbit Oak
> Issue Type: Task
> Components: documentmk
> Reporter: Stefan Egli
> Assignee: Stefan Egli
> Priority: Major
>
> Proof of concept of cache warming for DocumentNodeStore. Goal is for indexing to warm up the cache for a select few eg paths to allow for faster iterating/reading of the same eg paths later on
--
This message was sent by Atlassian Jira
(v8.20.7#820007)