You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by "Amit Jain (JIRA)" <ji...@apache.org> on 2014/09/02 06:20:21 UTC
[jira] [Updated] (JCR-3803) Local cache contention lead to
performance degradation
[ https://issues.apache.org/jira/browse/JCR-3803?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Amit Jain updated JCR-3803:
---------------------------
Fix Version/s: (was: 2.8.1)
2.9.1
> Local cache contention lead to performance degradation
> ------------------------------------------------------
>
> Key: JCR-3803
> URL: https://issues.apache.org/jira/browse/JCR-3803
> Project: Jackrabbit Content Repository
> Issue Type: Improvement
> Components: jackrabbit-data
> Affects Versions: 2.8
> Reporter: Shashank Gupta
> Assignee: Amit Jain
> Fix For: 2.9.1
>
> Attachments: JCR-3803.patch, Local_Cache_Contentition_Thread_dump.txt
>
>
> stack trace of few threads. (full dump attached) one thread holding monitor <0x000000040298beb0> while other *BLOCKED* on it.
> {noformat}
> "115.248.212.49 [1407765540589] GET /libs/dam/gui/content/commons/sidepanels/search/items/searchpanel/result/content/items/searchpages.html HTTP/1.1" prio=10 tid=0x00007f27e0001000 nid=0x2503 runnable [0x00007f2458468000]
> java.lang.Thread.State: RUNNABLE
> at java.net.SocketInputStream.socketRead0(Native Method)
> at java.net.SocketInputStream.read(SocketInputStream.java:152)
> at java.net.SocketInputStream.read(SocketInputStream.java:122)
> at sun.security.ssl.InputRecord.readFully(InputRecord.java:442)
> at sun.security.ssl.InputRecord.readV3Record(InputRecord.java:554)
> at sun.security.ssl.InputRecord.read(InputRecord.java:509)
> at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:927)
> - locked <0x0000000705de7ea8> (a java.lang.Object)
> at sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:884)
> at sun.security.ssl.AppInputStream.read(AppInputStream.java:102)
> - locked <0x0000000705df1008> (a sun.security.ssl.AppInputStream)
> at org.apache.http.impl.io.AbstractSessionInputBuffer.read(AbstractSessionInputBuffer.java:204)
> at org.apache.http.impl.io.ContentLengthInputStream.read(ContentLengthInputStream.java:182)
> at org.apache.http.conn.EofSensorInputStream.read(EofSensorInputStream.java:138)
> at java.io.FilterInputStream.read(FilterInputStream.java:133)
> at java.io.FilterInputStream.read(FilterInputStream.java:133)
> at java.io.FilterInputStream.read(FilterInputStream.java:133)
> at java.io.FilterInputStream.read(FilterInputStream.java:107)
> at org.apache.commons.io.IOUtils.copyLarge(IOUtils.java:1792)
> at org.apache.commons.io.IOUtils.copyLarge(IOUtils.java:1769)
> at org.apache.jackrabbit.core.data.LocalCache.store(LocalCache.java:145)
> - locked <0x000000040298beb0> (a org.apache.jackrabbit.core.data.LocalCache)
> at org.apache.jackrabbit.core.data.CachingDataStore.getLength(CachingDataStore.java:562)
> at org.apache.jackrabbit.core.data.CachingDataRecord.getLength(CachingDataRecord.java:54)
> at org.apache.jackrabbit.core.value.BLOBInDataStore.getSize(BLOBInDataStore.java:96)
> {noformat}
> {noformat}
> "115.248.212.49 [1407766318844] GET /assets.html/content/dam/archive-2001-2014/Content%20From%20HDD HTTP/1.1" prio=10 tid=0x00007f27e800a800 nid=0x28bc waiting for monitor entry [0x00007f2458661000]
> java.lang.Thread.State: BLOCKED (on object monitor)
> at org.apache.jackrabbit.core.data.LocalCache.getFileIfStored(LocalCache.java:244)
> - waiting to lock <0x000000040298beb0> (a org.apache.jackrabbit.core.data.LocalCache)
> at org.apache.jackrabbit.core.data.CachingDataStore.getRecord(CachingDataStore.java:394)
> - locked <0x0000000402f6ade0> (a org.apache.jackrabbit.aws.ext.ds.S3DataStore)
> at org.apache.jackrabbit.core.value.BLOBInDataStore.getDataRecord(BLOBInDataStore.java:151)
> at org.apache.jackrabbit.core.value.BLOBInDataStore.getSize(BLOBInDataStore.java:96)
> at org.apache.jackrabbit.core.value.InternalValue.getLength(InternalValue.java:654)
> at org.apache.jackrabbit.core.PropertyImpl.getLength(PropertyImpl.java:237)
> at org.apache.jackrabbit.core.PropertyImpl.getLength(PropertyImpl.java:835)
> at org.apache.sling.jcr.resource.internal.helper.jcr.JcrNodeResource.setMetaData(JcrNodeResource.java:307)
> {noformat}
> {noformat}
> "115.248.212.49 [1407766115000] GET /libs/dam/gui/content/commons/sidepanels/search/items/searchpanel/result.html HTTP/1.1" prio=10 tid=0x00007f27e4028000 nid=0x2712 waiting for monitor entry [0x00007f2457490000]
> java.lang.Thread.State: BLOCKED (on object monitor)
> at org.apache.jackrabbit.core.data.LocalCache.store(LocalCache.java:138)
> - waiting to lock <0x000000040298beb0> (a org.apache.jackrabbit.core.data.LocalCache)
> at org.apache.jackrabbit.core.data.CachingDataStore.getLength(CachingDataStore.java:562)
> at org.apache.jackrabbit.core.data.CachingDataRecord.getLength(CachingDataRecord.java:54)
> at org.apache.jackrabbit.core.value.BLOBInDataStore.getSize(BLOBInDataStore.java:96)
> at org.apache.jackrabbit.core.value.InternalValue.getLength(InternalValue.java:654)
> at org.apache.jackrabbit.core.PropertyImpl.getLength(PropertyImpl.java:237)
> at org.apache.jackrabbit.core.PropertyImpl.getLength(PropertyImpl.java:835)
> at org.apache.sling.jcr.resource.internal.helper.jcr.JcrNodeResource.setMetaData(JcrNodeResource.java:307)
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)