Wolf-Dieter Fink created ISPN-9468:
--------------------------------------
Summary: Notify listeners without holding the shared topology lock
Key: ISPN-9468
URL:
https://issues.jboss.org/browse/ISPN-9468
Project: Infinispan
Issue Type: Bug
Components: Core
Affects Versions: 9.4.0.CR1
Reporter: Wolf-Dieter Fink
Post-write listeners are invoked from {{ClusteringDependentLogic.commitSingleEntry()}},
while holding the shared topology lock. We should be able to release the topology lock
before invoking listeners, so that slow listeners (e.g. clustered/client listeners)
don't delay the installation of a new topology.
Going further, we could try to use optimistic locking (e.g. with a {{StampedLock}})
instead of the {{ReentrantReadWriteLock}}, reverting the data container write if the
topology changes and we are no longer an owner. This could help in scenarios where the
data container update itself is slow, e.g. when using passivation with a JDBC/remote
store.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)