Skip to content

Commit 7addbba

Browse files
committed
Revert "LUTECE-2067 : ehcache upgrade 2.4.8 -> 2.10.3"
This reverts commit 62951c4. The deadlocks have returned on a website using the cache a lot through plugin-myportal's widgets. Here are some thread dumps, abriviated for clarity. The full thread dumps are available on jira LUTECE-2067 ~150 threads like this : "http-nio-8080-exec-199" #257 daemon prio=5 os_prio=0 tid=0x00007f661415d800 nid=0x6f7e in Object.wait() [0x00007f65d3de1000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:502) at net.sf.ehcache.util.concurrent.ConcurrentHashMap$Node.tryAwaitLock(ConcurrentHashMap.java:687) - locked <0x00000005c591cd40> (a net.sf.ehcache.util.concurrent.ConcurrentHashMap$Node) at net.sf.ehcache.util.concurrent.ConcurrentHashMap.internalReplace(ConcurrentHashMap.java:1311) at net.sf.ehcache.util.concurrent.ConcurrentHashMap.remove(ConcurrentHashMap.java:2643) at net.sf.ehcache.store.cachingtier.CountBasedBackEnd.evictIfRequired(CountBasedBackEnd.java:149) at net.sf.ehcache.store.cachingtier.CountBasedBackEnd.putIfAbsent(CountBasedBackEnd.java:87) at net.sf.ehcache.store.cachingtier.OnHeapCachingTier.get(OnHeapCachingTier.java:172) at net.sf.ehcache.store.CacheStore.get(CacheStore.java:192) at net.sf.ehcache.Cache.get(Cache.java:1751) at net.sf.ehcache.Cache.get(Cache.java:1724) at fr.paris.lutece.portal.service.cache.AbstractCacheableService.getFromCache(AbstractCacheableService.java:121) at fr.paris.lutece.plugins.myportal.service.WidgetContentService.getWidgetContent(WidgetContentService.java:114) Locked ownable synchronizers: - <0x00000005d08c23f0> (a java.util.concurrent.ThreadPoolExecutor$Worker) ~15 threads like this: "http-nio-8080-exec-146" #204 daemon prio=5 os_prio=0 tid=0x00007f662022c800 nid=0x6f44 in Object.wait() [0x00007f65d7316000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:502) at net.sf.ehcache.util.concurrent.ConcurrentHashMap$Node.tryAwaitLock(ConcurrentHashMap.java:687) - locked <0x00000005c554a6c0> (a net.sf.ehcache.util.concurrent.ConcurrentHashMap$Node) at net.sf.ehcache.util.concurrent.ConcurrentHashMap.internalReplace(ConcurrentHashMap.java:1311) at net.sf.ehcache.util.concurrent.ConcurrentHashMap.removeAndNotify(ConcurrentHashMap.java:2647) at net.sf.ehcache.store.cachingtier.CountBasedBackEnd.remove(CountBasedBackEnd.java:115) at net.sf.ehcache.store.cachingtier.OnHeapCachingTier.remove(OnHeapCachingTier.java:206) at net.sf.ehcache.store.CacheStore.remove(CacheStore.java:238) at net.sf.ehcache.Cache.removeInternal(Cache.java:2425) at net.sf.ehcache.Cache.remove(Cache.java:2330) at net.sf.ehcache.Cache.remove(Cache.java:2248) at net.sf.ehcache.Cache.remove(Cache.java:2226) at fr.paris.lutece.portal.service.cache.AbstractCacheableService.notifyElementExpired(AbstractCacheableService.java:277) at net.sf.ehcache.event.RegisteredEventListeners.internalNotifyElementExpiry(RegisteredEventListeners.java:268) at net.sf.ehcache.event.RegisteredEventListeners.notifyElementExpiry(RegisteredEventListeners.java:242) at net.sf.ehcache.store.disk.Segment.evict(Segment.java:903) at net.sf.ehcache.store.disk.Segment.evict(Segment.java:831) at net.sf.ehcache.store.disk.Segment.flush(Segment.java:1035) at net.sf.ehcache.store.disk.DiskStore.flush(DiskStore.java:248) at net.sf.ehcache.store.CacheStore$1.evicted(CacheStore.java:99) at net.sf.ehcache.store.CacheStore$1.evicted(CacheStore.java:96) at net.sf.ehcache.store.cachingtier.OnHeapCachingTier$1.evicted(OnHeapCachingTier.java:86) at net.sf.ehcache.store.cachingtier.CountBasedBackEnd$1.removed(CountBasedBackEnd.java:103) at net.sf.ehcache.util.concurrent.ConcurrentHashMap.internalReplace(ConcurrentHashMap.java:1346) at net.sf.ehcache.util.concurrent.ConcurrentHashMap.remove(ConcurrentHashMap.java:2643) at net.sf.ehcache.store.cachingtier.CountBasedBackEnd.evictIfRequired(CountBasedBackEnd.java:149) at net.sf.ehcache.store.cachingtier.CountBasedBackEnd.putIfAbsent(CountBasedBackEnd.java:87) at net.sf.ehcache.store.cachingtier.OnHeapCachingTier.get(OnHeapCachingTier.java:172) at net.sf.ehcache.store.CacheStore.get(CacheStore.java:192) at net.sf.ehcache.Cache.get(Cache.java:1751) at net.sf.ehcache.Cache.get(Cache.java:1724) at fr.paris.lutece.portal.service.cache.AbstractCacheableService.getFromCache(AbstractCacheableService.java:121) at fr.paris.lutece.plugins.myportal.service.WidgetContentService.getWidgetContent(WidgetContentService.java:114) Locked ownable synchronizers: - <0x00000005d08e6798> (a java.util.concurrent.ThreadPoolExecutor$Worker) 3 threads like this: "http-nio-8080-exec-176" #234 daemon prio=5 os_prio=0 tid=0x00007f66207b5800 nid=0x6f67 in Object.wait() [0x00007f65d58fc000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:502) at net.sf.ehcache.util.concurrent.ConcurrentHashMap$Node.tryAwaitLock(ConcurrentHashMap.java:687) - locked <0x00000005c42d1568> (a net.sf.ehcache.util.concurrent.ConcurrentHashMap$Node) at net.sf.ehcache.util.concurrent.ConcurrentHashMap.internalReplace(ConcurrentHashMap.java:1311) at net.sf.ehcache.util.concurrent.ConcurrentHashMap.removeAndNotify(ConcurrentHashMap.java:2647) at net.sf.ehcache.store.cachingtier.CountBasedBackEnd.remove(CountBasedBackEnd.java:115) at net.sf.ehcache.store.cachingtier.OnHeapCachingTier.remove(OnHeapCachingTier.java:206) at net.sf.ehcache.store.CacheStore.remove(CacheStore.java:238) at net.sf.ehcache.Cache.removeInternal(Cache.java:2425) at net.sf.ehcache.Cache.tryRemoveImmediately(Cache.java:2186) at net.sf.ehcache.Cache.get(Cache.java:1756) at net.sf.ehcache.Cache.get(Cache.java:1724) at fr.paris.lutece.portal.service.cache.AbstractCacheableService.getFromCache(AbstractCacheableService.java:121) at fr.paris.lutece.plugins.myportal.service.WidgetContentService.getWidgetContent(WidgetContentService.java:114) Locked ownable synchronizers: - <0x00000005c13b76f0> (a java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync) - <0x00000005c24c63a8> (a java.util.concurrent.ThreadPoolExecutor$Worker)
1 parent 71747b7 commit 7addbba

File tree

1 file changed

+2
-9
lines changed

1 file changed

+2
-9
lines changed

pom.xml

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -102,20 +102,13 @@
102102
</dependency>
103103
<dependency>
104104
<groupId>net.sf.ehcache</groupId>
105-
<artifactId>ehcache</artifactId>
106-
<version>2.10.3</version>
105+
<artifactId>ehcache-core</artifactId>
106+
<version>2.4.8</version>
107107
</dependency>
108108
<dependency>
109109
<groupId>net.sf.ehcache</groupId>
110110
<artifactId>ehcache-web</artifactId>
111111
<version>2.0.4</version>
112-
<exclusions>
113-
<exclusion>
114-
<!-- renamed to net.sf.ehcache:ehcache -->
115-
<groupId>net.sf.ehcache</groupId>
116-
<artifactId>ehcache-core</artifactId>
117-
</exclusion>
118-
</exclusions>
119112
</dependency>
120113
<dependency>
121114
<groupId>org.slf4j</groupId>

0 commit comments

Comments
 (0)