[
https://issues.apache.org/jira/browse/OAK-8950?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Thomas Mueller resolved OAK-8950.
---------------------------------
Resolution: Fixed
> DataStore: FileCache should use one cache segment
> -------------------------------------------------
>
> Key: OAK-8950
> URL: https://issues.apache.org/jira/browse/OAK-8950
> Project: Jackrabbit Oak
> Issue Type: Improvement
> Components: blob
> Reporter: Thomas Mueller
> Assignee: Thomas Mueller
> Priority: Major
>
> The FileCache in the caching data store (Azure, S3) uses the default segment
> count of 16. The effect of that is:
> * if the maximum cache size is e.g. 16 GB
> * and there are e.g. 15 files 1 GB each (total 15 GB),
> * it can happen that some files are evicted,
> * because internally the cache is using 16 segments of 1 GB each,
> * and by chance 2 files could be in the same segment,
> * so that one of those files is evicted
> The workaround is to use a really large cache size (e.g. 100 GB if you only
> want 15 GB of cache size), but the drawback is that, if most files are very
> small, that the cache size could become actually 100 GB.
> The best solution is probably to use only 1 segment. There is tiny a
> concurrency issue: right now, deleting files is synchronized on the segment.
> But I think that's not a big problem (to be tested).
--
This message was sent by Atlassian Jira
(v8.3.4#803005)