[
https://issues.apache.org/jira/browse/JCR-3879?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Shashank Gupta updated JCR-3879:
--------------------------------
Resolution: Fixed
Status: Resolved (was: Patch Available)
fixed. Reversed the if condition block to reduce the dependency of synchronized
access to asycuploadCache
Revision:[1678123|http://svn.apache.org/viewvc?view=revision&revision=1678123]
> Remove contention in AsyncUploadCache to improve performance
> ------------------------------------------------------------
>
> Key: JCR-3879
> URL: https://issues.apache.org/jira/browse/JCR-3879
> Project: Jackrabbit Content Repository
> Issue Type: Improvement
> Components: jackrabbit-data
> Affects Versions: 2.10
> Reporter: Shashank Gupta
> Assignee: Shashank Gupta
> Fix For: 2.10.1
>
> Attachments: JCR-3879.patch, threaddump-1430772987871.tdump
>
>
> 39 threads getting blocked on a lock
> {code}
> "qtp838397579-20736" - Thread t@20736
> java.lang.Thread.State: BLOCKED
> at
> org.apache.jackrabbit.core.data.AsyncUploadCache.hasEntry(AsyncUploadCache.java:165)
> - waiting to lock <4f224235> (a
> org.apache.jackrabbit.core.data.AsyncUploadCache) owned by
> "s3-write-worker-14" t@624
> at
> org.apache.jackrabbit.core.data.CachingDataStore.getRecord(CachingDataStore.java:422)
> at
> org.apache.jackrabbit.oak.plugins.blob.datastore.DataStoreBlobStore.getDataRecord(DataStoreBlobStore.java:474)
> at
> org.apache.jackrabbit.oak.plugins.blob.datastore.DataStoreBlobStore.getStream(DataStoreBlobStore.java:463)
> at
> org.apache.jackrabbit.oak.plugins.blob.datastore.DataStoreBlobStore.getInputStream(DataStoreBlobStore.java:297)
> at
> org.apache.jackrabbit.oak.plugins.blob.BlobStoreBlob.getNewStream(BlobStoreBlob.java:47)
> {code}
> The lock is taken by this thread
> {code}
> "s3-write-worker-14" - Thread t@624
> java.lang.Thread.State: RUNNABLE
> at java.io.FileOutputStream.open(Native Method)
> at java.io.FileOutputStream.<init>(FileOutputStream.java:221)
> at java.io.FileOutputStream.<init>(FileOutputStream.java:171)
> at
> org.apache.jackrabbit.core.data.AsyncUploadCache.serializeAsyncUploadMap(AsyncUploadCache.java:293)
> - locked <4f224235> (a org.apache.jackrabbit.core.data.AsyncUploadCache)
> at
> org.apache.jackrabbit.core.data.AsyncUploadCache.remove(AsyncUploadCache.java:131)
> - locked <4f224235> (a org.apache.jackrabbit.core.data.AsyncUploadCache)
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)