Details

    • Similar Issues:
      Show 5 results 

      Description

      Upgrade Ehcache version to 2.6.5

        Issue Links

          Activity

          Hide
          Edward Han added a comment -

          A quirk picked up by the upgrade:

          18:52:06,473 ERROR [com.liferay.portlet.layoutconfiguration.util.RuntimePageImpl
          -1][AdvancedPermissionChecker:905] java.lang.ClassCastException: net.sf.ehcache.
          store.chm.SelectableConcurrentHashMap$DummyPinnedKey cannot be cast to com.lifer
          ay.portal.security.permission.PermissionCacheUtil$BagKey
          java.lang.ClassCastException: net.sf.ehcache.store.chm.SelectableConcurrentHashM
          ap$DummyPinnedKey cannot be cast to com.liferay.portal.security.permission.Permi
          ssionCacheUtil$BagKey
          at com.liferay.portal.security.permission.PermissionCacheUtil$BagKey.equ
          als(PermissionCacheUtil.java:225)
          at net.sf.ehcache.Element.equals(Element.java:318)
          at net.sf.ehcache.store.chm.SelectableConcurrentHashMap$Segment.get(Sele
          ctableConcurrentHashMap.java:876)
          at net.sf.ehcache.store.chm.SelectableConcurrentHashMap.get(SelectableCo
          ncurrentHashMap.java:360)
          at net.sf.ehcache.store.MemoryStore.get(MemoryStore.java:300)
          at net.sf.ehcache.store.MemoryOnlyStore.get(MemoryOnlyStore.java:107)
          at net.sf.ehcache.Cache.searchInStoreWithoutStats(Cache.java:2072)
          at net.sf.ehcache.Cache.get(Cache.java:1590)
          at net.sf.ehcache.Cache.get(Cache.java:1557)
          at com.liferay.portal.cache.ehcache.EhcachePortalCache.get(EhcachePortal
          Cache.java:61)

          Examining further, but it appears that with the introduction of pinning we can no longer be sure that all the keys in a cache will have been placed there by us. In other words, we may have to do instanceof checks when we implement keys with custom equals checks.

          Show
          Edward Han added a comment - A quirk picked up by the upgrade: 18:52:06,473 ERROR [com.liferay.portlet.layoutconfiguration.util.RuntimePageImpl -1] [AdvancedPermissionChecker:905] java.lang.ClassCastException: net.sf.ehcache. store.chm.SelectableConcurrentHashMap$DummyPinnedKey cannot be cast to com.lifer ay.portal.security.permission.PermissionCacheUtil$BagKey java.lang.ClassCastException: net.sf.ehcache.store.chm.SelectableConcurrentHashM ap$DummyPinnedKey cannot be cast to com.liferay.portal.security.permission.Permi ssionCacheUtil$BagKey at com.liferay.portal.security.permission.PermissionCacheUtil$BagKey.equ als(PermissionCacheUtil.java:225) at net.sf.ehcache.Element.equals(Element.java:318) at net.sf.ehcache.store.chm.SelectableConcurrentHashMap$Segment.get(Sele ctableConcurrentHashMap.java:876) at net.sf.ehcache.store.chm.SelectableConcurrentHashMap.get(SelectableCo ncurrentHashMap.java:360) at net.sf.ehcache.store.MemoryStore.get(MemoryStore.java:300) at net.sf.ehcache.store.MemoryOnlyStore.get(MemoryOnlyStore.java:107) at net.sf.ehcache.Cache.searchInStoreWithoutStats(Cache.java:2072) at net.sf.ehcache.Cache.get(Cache.java:1590) at net.sf.ehcache.Cache.get(Cache.java:1557) at com.liferay.portal.cache.ehcache.EhcachePortalCache.get(EhcachePortal Cache.java:61) Examining further, but it appears that with the introduction of pinning we can no longer be sure that all the keys in a cache will have been placed there by us. In other words, we may have to do instanceof checks when we implement keys with custom equals checks.
          Hide
          Brian Chan added a comment -

          Rolled back because the latest Ehcahe has too many regressions.

          Show
          Brian Chan added a comment - Rolled back because the latest Ehcahe has too many regressions.
          Hide
          Will Tran added a comment -

          If you ensure all multi-vm caches are created up-front by defining them in liferay-multi-vm-clustered.xml, the latest EHCache should work. I ran into this problem when another WebApplicationClassloader containing my custom portlets would try to create a cache in the MultiVMPool because it didn't already exist. This would ususally happen during startup.

          Show
          Will Tran added a comment - If you ensure all multi-vm caches are created up-front by defining them in liferay-multi-vm-clustered.xml, the latest EHCache should work. I ran into this problem when another WebApplicationClassloader containing my custom portlets would try to create a cache in the MultiVMPool because it didn't already exist. This would ususally happen during startup.
          Hide
          Michael Han added a comment -

          Regressions are due to performance regressions. Terracotta in process of fixing. May reapply if latest version satisfy our perf requirements.

          Show
          Michael Han added a comment - Regressions are due to performance regressions. Terracotta in process of fixing. May reapply if latest version satisfy our perf requirements.

            People

            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development

                  Structure Helper Panel