We are currently using a transient Infinispan cache for each workspace cache, but this leads to difficulties (see
MODE-2121 among others). We basically want a LRU-like cache of our LazyCachedNode objects so that we minimize the deserialization from the persisted documents. We should consider replacing Infinispan in these caches with something far lighter weight. At the moment, the cache is accessed as a ConcurrentMap.
Options to consider include:
- IdentityHashMap with concurrent wrapper (yuck)
- MapDB's BTreeMap