Jeroen Hoffman pushed to branch bugfix/HSTTWO-3805 at cms-community / hippo-site-toolkit
Commits: c94845c5 by Ard Schrijvers at 2016-11-21T14:46:59+01:00 HSTTWO-3864 Set caching-psp1 development version - - - - - 043abd67 by Ard Schrijvers at 2016-11-24T14:30:00+01:00 HSTTWO-3863 support for second level and stale page caching Note that by default the HST does not provide second level or stale page caching instances : these can be provided separately, for example by some enterprise addon Furthermore not much information in this commit message since all details are provided by comments next to the code I've tested the correct working of the second level and stale page cache. Integration tests will be added later on - - - - - 3487544c by Ard Schrijvers at 2016-11-24T15:19:09+01:00 HSTTWO-3875 keep track of uncacheable keys for example when some url results in that an HstComponent sets a cookie, which takes place *after* the page caching valve, the response is uncacheable. In that case, not a second level lookup has to be done for such keys. Hence, we keep track of the last 1000 (lru map) uncacheable keys for performance reasons - - - - - 3f74aee8 by Ard Schrijvers at 2016-11-24T17:06:17+01:00 HSTTWO-3863 Account for the fact the getTimeToLive() on EhCache Element means eternal - - - - - 22b65f4e by Ard Schrijvers at 2016-11-30T12:22:10+01:00 HSTTWO-3863 Support for setting the second level and stale page cache with Optional This way, we can use Spring method invoking factory with Optional : Otherwise, we can't invoke the setters with null value - - - - - b645a3d1 by Ard Schrijvers at 2016-12-01T15:35:53+01:00 HSTTWO-3877 clone the ehcache element when putting it in second level cache This way, a second level cache impl can modify the element to cache, for example changing its TTL - - - - - 4229c0b8 by Ard Schrijvers at 2016-12-01T15:37:59+01:00 HSTTWO-3877 extra comment with explanation wrt TTL of the second level cache hit - - - - - 7b9017d2 by Ard Schrijvers at 2016-12-06T17:18:31+01:00 HSTTWO-3882 When restoring primary cache entry from second level cache, use new creation time When using the creation time of the second level cache entry, it can happen that the primary cache entry is directly expired: Assume the second level cache entry got a creation time 2 minutes ago, and the newTTL of the primary cache entry is 60 seconds (aka the second level cache entries live for 3 minutes). Then the primary cache entry is directly expired. Instead, the primary cache entry should be stored with the original key instance *and* with a TTL of 60 seconds and a creation time of NOW - - - - - 14a3a75f by Ard Schrijvers at 2016-12-14T20:31:04+01:00 HSTTWO-3879 Support for combined, first, second and stale cache stats over jmx Note that also for the binaries cache and webfiles cache we now expose cache stats. For now, the binaries cache and webfiles cache will never have a second level cache or stale cache but this could be wired via Spring if we want to support that. Next to the stats for first, second and stale cache, we also expose stats for the misses and hits of the three combined. This is interesting to see because that is in the end the effective cache hits/misses 'experienced' for the requests. - - - - - a4ab1954 by Ard Schrijvers at 2016-12-20T13:22:10+01:00 HSTTWO-3881 if webfiles are available, include the anti-cache-value in the cachekey Otherwise the problem can occur that a cached page from second level cache is fetched, which has a webfile URL with an outdated anti-cache-value : In that case, for the cached page, the webfiles cannot be loaded any more - - - - - 98ab2396 by Ard Schrijvers at 2017-01-23T13:38:27+01:00 HSTTWO-3881 improve logging in case of a repo exception - - - - - 4092522b by Ard Schrijvers at 2017-01-30T16:34:57+01:00 HSTTWO-3909 deprecate HstCacheEhCacheImpl and replace it with CompositeHstCacheImpl CompositeHstCacheImpl much better reflects its current behavior - - - - - fdb54735 by Ard Schrijvers at 2017-01-30T16:46:33+01:00 HSTTWO-3908 replace the HstCacheIT test with more generic CompositeHstCacheSpringWiringIT The CompositeHstCacheSpringWiringIT makes sure that caches that must be present in spring configuration with a certain bean id will be there and won't be possible to change in name (because then this test will start to fail) - - - - - 967de0c2 by Ard Schrijvers at 2017-01-30T16:48:50+01:00 HSTTWO-3909 trivial: rename CompositeHstCacheImpl to CompositeHstCache - - - - - 4402da79 by Ard Schrijvers at 2017-01-31T10:14:27+01:00 HSTTWO-3908 Assert that pageCache, binariesCache and webFilesCache are blocking caches The pageCache, binariesCache and webFilesCache have stampeding herd protection by using blocking caches. This unit test is to guarantee they are really blocking - - - - - a905309d by Ard Schrijvers at 2017-01-31T10:34:41+01:00 HSTTWO-3908 More assertions on blocking cache For example that a #get for present key is not blocking, but for missing key is blocking. Added check that isKeyInCache is not blocking - - - - - 574a9765 by Ard Schrijvers at 2017-01-31T12:36:21+01:00 HSTTWO-3879 also expose timetolive and timetoidle values for first level cache - - - - - 71f44228 by Ard Schrijvers at 2017-02-01T18:01:31+01:00 HSTTWO-3908 Add integration tests for second level cache and stale page cache Did not yet add unit tests that combine stale and second level together - - - - - be37c188 by Ard Schrijvers at 2017-02-02T17:29:30+01:00 HSTTWO-3908 Add integration tests for second level cache and stale page cache combined - - - - - b57f0241 by Woonsan Ko at 2017-02-03T17:40:04-05:00 HSTTWO-3913: remove '/jcr:content' if existing for cache key. - - - - - ba5b7dd1 by Woonsan Ko at 2017-02-03T23:05:08-05:00 HSTTWO-3913: handle property events on child node. e.g, /jcr:content/jcr:data - - - - - 247f5530 by Ard Schrijvers at 2017-02-06T12:45:30+01:00 HSTTWO-3908 Correct the expectations - - - - - 31218d7a by Ard Schrijvers at 2017-02-06T13:05:47+01:00 HSTTWO-3914 Make sure to set the TTL correctly of the cloned Element Next to that, some trivial added logging - - - - - 28440356 by Ard Schrijvers at 2017-02-06T16:27:51+01:00 HSTTWO-3407 Support for disabling the pageCache event listener By setting the hst config property pageCache.clearOnContentChange = false on content changes the page cache won't be flushed any more - - - - - 53c6ad23 by Ard Schrijvers at 2017-02-06T16:28:55+01:00 HSTTWO-3804 Support to not clear the page cache on a hst config change When setting the hst config property pageCache.clearOnHstConfigChange = false a change in hst config won't clear the page cache any more - - - - - c13d55e7 by Woonsan Ko at 2017-02-06T11:44:21-05:00 HSTTWO-3912: Allow to set a custom HTTP Forwarded-For header names by configuring a context init param (http-forwarded-for-header). - - - - - ee8fbefa by Ard Schrijvers at 2017-02-06T20:40:42+01:00 HSTTWO-3912 organize imports according Hippo coding standards - - - - - ec1b8f0f by Woonsan Ko at 2017-02-06T14:44:14-05:00 HSTTWO-3912: allow only single custom forwarded-for header instead of comma separated one. - - - - - e83aba79 by Woonsan Ko at 2017-02-06T14:44:51-05:00 Merge branch 'feature/HSTTWO-3912-2' of https://code.onehippo.org/cms-community/hippo-site-toolkit into feature/HSTTWO-3912-2 - - - - - 50bb8a30 by Woonsan Ko at 2017-02-06T14:47:48-05:00 HSTTWO-3912: correcting method name as singulr. - - - - - 55fd6969 by Woonsan Ko at 2017-02-06T14:57:50-05:00 HSTTWO-3912: refining if control statements as same as in CMS RequestUtils for maintenance. - - - - - c5662305 by Ard Schrijvers at 2017-02-06T21:30:29+01:00 HSTTWO-3912 Avoid List creation Note that the difference is that if a value is empty (after trim() ) it is now used but this is in line with how it always used to be - - - - - 3df7d856 by Woonsan Ko at 2017-02-06T21:41:24+01:00 Merge branch 'feature/HSTTWO-3912-2' into 'master' HSTTWO-3912: Allow to set a custom HTTP Forwarded-For header names by configurin… See merge request !15 - - - - - 6bf34355 by Ard Schrijvers at 2017-02-07T17:10:53+01:00 HSTTWO-3864 Reintegrate feature/caching-psp1 - - - - - 1259b7b7 by Ard Schrijvers at 2017-02-07T17:40:01+01:00 HSTTWO-1003 fix copyright typo - - - - - 0a42d458 by Ard Schrijvers at 2017-02-08T13:16:06+01:00 HSTTWO-3916 Make sure CacheStat is never null If CacheStat object does not get wired by Spring, make sure it is not null - - - - - 0ad12bf7 by Arent-Jan Banck at 2017-02-16T15:19:20+01:00 HSTTWO-3921 prepare for next development iteration (v12.0) - - - - - 516d5367 by Arent-Jan Banck at 2017-02-21T12:31:18+01:00 HSTTWO-3921 Bump dependency versions to match 12.0 updates - - - - - 47ac8d6e by Arent-Jan Banck at 2017-02-22T11:46:07+01:00 HSTTWO-3921 Update parent version to 29-SNAPSHOT - - - - - f7c8c558 by Jeroen Hoffman at 2017-02-23T14:17:26+01:00 HSTTWO-3805 Merge branch 'master' into bugfix/HSTTWO-3805 - - - - - 30 changed files: - api/pom.xml - api/src/main/java/org/hippoecm/hst/core/container/PageCacheKey.java - api/src/main/java/org/hippoecm/hst/core/container/RequestInfoCacheKeyFragmentCreator.java - client-modules/cms-rest/pom.xml - client-modules/google-analytics/hst/pom.xml - client-modules/google-analytics/pom.xml - client-modules/google-analytics/repository/pom.xml - client-modules/page-composer/pom.xml - client-modules/pom.xml - client/pom.xml - client/src/test/java/org/hippoecm/hst/servlet/util/BinariesCacheTest.java - cms-restapi/pom.xml - commons/pom.xml - + commons/src/main/java/org/hippoecm/hst/core/jcr/OptionalEventListenerItemImpl.java - commons/src/main/java/org/hippoecm/hst/util/HstRequestUtils.java - commons/src/test/java/org/hippoecm/hst/util/TestHstRequestUtils.java - components/core/pom.xml - + components/core/src/main/java/org/hippoecm/hst/cache/CompositeHstCache.java - components/core/src/main/java/org/hippoecm/hst/cache/PageCacheEventListener.java - components/core/src/main/java/org/hippoecm/hst/cache/ehcache/CacheElementEhCacheImpl.java - components/core/src/main/java/org/hippoecm/hst/cache/ehcache/HstCacheEhCacheImpl.java - + components/core/src/main/java/org/hippoecm/hst/cache/jmx/CacheStats.java - + components/core/src/main/java/org/hippoecm/hst/cache/jmx/CacheStatsMXBean.java - components/core/src/main/java/org/hippoecm/hst/cache/webfiles/WebFilesEventListener.java - components/core/src/main/java/org/hippoecm/hst/configuration/environment/OptionalEnvironmentEventListenerItemImpl.java - components/core/src/main/java/org/hippoecm/hst/configuration/model/HstManagerImpl.java - components/core/src/main/java/org/hippoecm/hst/core/container/DefaultRequestInfoCacheKeyFragmentCreator.java - components/core/src/main/java/org/hippoecm/hst/core/container/HstSitePipeline.java - components/core/src/main/java/org/hippoecm/hst/core/container/PageCachingValve.java - components/core/src/main/java/org/hippoecm/hst/core/container/WebFileValve.java The diff was not included because it is too large. View it on GitLab: https://code.onehippo.org/cms-community/hippo-site-toolkit/compare/9db1ca0d388d2115614b9b6ed7d70549bb55d2f9...f7c8c5582020bf49f2df428ca72bc547aa57da57
_______________________________________________ Hippocms-svn mailing list Hippocms-svn@lists.onehippo.org https://lists.onehippo.org/mailman/listinfo/hippocms-svn