Hi,

Wanted to mention a scenario when cache misconfiguration can lead to a 
hard-to-detect memory leak. More details are available in this Jira [1], but 
the short story is that when you are using JCache/EhCache, make sure that *all* 
the cache groups used in queries are *explicitly* configured with desired size 
limits in ehcache.xml [2], including an entry for a no-cache group scenario 
that corresponds to "cayenne.default.cache" cache name. 

Andrus

[1] https://issues.apache.org/jira/browse/CAY-2642

[2] <config
        xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
        xmlns='http://www.ehcache.org/v3'
        xsi:schemaLocation="
        http://www.ehcache.org/v3 
http://www.ehcache.org/schema/ehcache-core-3.0.xsd";>

    <!-- Used by Cayenne for queries without explicit cache groups. -->
    <cache alias="cayenne.default.cache">
        <expiry>
            <ttl unit="minutes">1</ttl>
        </expiry>
        <heap>100</heap>
    </cache>

    <cache alias="my-cache-group">
        <expiry>
            <ttl unit="minutes">1</ttl>
        </expiry>
        <heap>10</heap>
    </cache>
</config>

Reply via email to