We are using JBossCache as means of distributing/replicating session state across a cluster of application servers.
We use the "CacheMode">INVALIDATION_SYNC . To my understanding, using this cache mode, the actual cache state exists on only one server and all other servers maintain a placeholder for an individual entry. If a server attempts to get a cache entry which it only has a placeholder for, it forces a replication to occur. The cache entry replicated to the server requesting the cache item. The original server holding cache item is reset to be a placeholder and life goes on.
What happens when the application server crashes, who is holding the actual entry state information. It appears the other servers, holding placeholders complain and throw exceptions.
Is it possible to force JBossCache to automatically remove stale entries; those whose state is stored on a faulted server