bug #2939
closedehcache diskStore conflict?
100%
Description
when running tests on the integration server where already a cdmserver instance is running write permission problems are reported regarding the ehcache diskStore, is this a conflict of multiple vm instances using the same disk store location?
2016-12-19 15:38:09,969 WARN [net.sf.ehcache.DiskStorePathManager] - diskStorePath '/home/andreas/.cdm-server-ehcache' is already used by an existing CacheManager either in the same VM or in a different process. The diskStore path for this CacheManager will be set to /home/andreas/.cdm-server-ehcache/ehcache_auto_created8966675037271472395diskstore. To avoid this warning consider using the CacheManager factory methods to create a singleton CacheManager or specifying a separate ehcache configuration (ehcache.xml) for each CacheManager instance.
solution: use timestamp prefix for diskStore?
in /cdmlib-remote/src/main/resources/eu/etaxonomy/cdm/remote/ehcache.xml
<diskStore path="java.io.tmpdir/cdm-server-ehcache" />
should become something like
<diskStore path="java.io.tmpdir/cdm-server-ehcache/20120010298321730/" />
could this be achieved by using the ehcache.disk.store.dir
property? setting it during app-context startup to a unique subfolder of /tmp/
NOTE: there is a class eu.etaxonomy.cdm.api.cache.CdmCacher
providing a static method getDefaultCacheManager()
further reading:
there is a new related ticket on the ehcache file store location: #3580 possibly a duplicate
Related issues