-
Task
-
Resolution: Done
-
Major
-
3.8.x-prod-ip6.2, 4.4.0.Final
-
None
-
None
Because the WorkspaceCache acts as a secondary in memory-cache and is unconnected to the main Infinispan cache, it can happen that when running in a cluster, after Infinispan has finished committing a transaction and performing the state transfer, workspace caches from other nodes in the cluster contain stale data. This is because workspace caches on other cluster nodes are only cleared after JGroups has dispatched the remote ChangeSet.
To minimize the risk of seeing this stale data when a child node tries unsuccessfully to locate the parent it belongs to, ModeShape should retry the operation after clearing the key of the parent from the WorkspaceCache. This would ensure that the process on which the operation is performed always sees the latest persisted information about the parent.