[ 
https://issues.apache.org/jira/browse/OAK-1666?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13957570#comment-13957570
 ] 

Chetan Mehrotra commented on OAK-1666:
--------------------------------------

bq. I find it very strange that this should ever be a problem for real world 
usage of the data store.

This issue was not observed with JR2. One possible reason on why it is coming 
now is that with Oak lucene index are also stored as content and hence any 
lucene query involves loading the binary index content from BlobStore -> 
FileDataStore. Hence the FDS is being used more frequently and concurrently if 
multiple lucene queries get fired

For doing proper fix I have created JCR-3764. Once that is fixed we can specify 
that option in Oak and disable its use.

However for load for tomorrow I am going for #2 (use a no op map) as a short 
term workaround. (yes its bad but its for short term only :()

> FileDataStore inUse map causes contention in concurrent env
> -----------------------------------------------------------
>
>                 Key: OAK-1666
>                 URL: https://issues.apache.org/jira/browse/OAK-1666
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: core
>            Reporter: Chetan Mehrotra
>            Assignee: Chetan Mehrotra
>            Priority: Minor
>             Fix For: 0.20
>
>
> JR2 FileDataStore#inUseMap [1] is currently a synchronized map and that at 
> times causes contention concurrent env. This map is used for supporting the 
> Blob GC logic for JR2. 
> With Oak this map content is not used. As a fix we can either
> # Set inUseMap to a Guava Cache Map which has weak keys and value
> # Set inUseMap to a no op map where all put calls are ignored
> # Modify FDS to disable use of inUseMap or make {{usesIdentifier}} protected
> #3 would be a proper fix and #2 can be used as temp workaround untill FDS 
> gets fixed
> [1] 
> https://github.com/apache/jackrabbit/blob/trunk/jackrabbit-data/src/main/java/org/apache/jackrabbit/core/data/FileDataStore.java#L118



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to