How the concurrency is is handled while the same object is being updated in more than one of the cluster? The documentation talks about MVCC which provides locking of the objects while it is being modified, but whether MVCC is applicable to across the cluster or within a single node?
The 2 phase commit features says that any modifications to an object in a node is committed only after it is replicated to all the nodes on the cluster? The question is how the MVCC and 2 phase commit are combined in Jboss cache to make sure that any point of time only one copy of the object is allowed to be modified in the cluster and any read/write operations on that object are put into wait state in other nodes of the cluster.
Should we use shared class loading or multiple class loading for an architecture where the same object in different nodes of the cluster can have different expiry? Should we reload the state of a cache in the node where it is restarted? This reloading should happen from the persistent store or the replication?