]
Paul Ferraro updated WFLY-12929:
--------------------------------
Summary: HttpSessionListener.sessionDestroyed event can deadlock if it attempts write
operations on a session (was: Session remove event can deadlock if it attempts write
operations on a session)
HttpSessionListener.sessionDestroyed event can deadlock if it
attempts write operations on a session
----------------------------------------------------------------------------------------------------
Key: WFLY-12929
URL:
https://issues.redhat.com/browse/WFLY-12929
Project: WildFly
Issue Type: Bug
Components: Clustering
Affects Versions: 18.0.1.Final
Reporter: Paul Ferraro
Assignee: Paul Ferraro
Priority: Critical
Labels: downstream_dependency
Infinispan listeners are intentionally non-transactional - and thus should never attempt
to perform cache writes.
In order to trigger the requisite session listeners, session destroy events need to
lookup the cache entries relevant to a given session via SessionFactory.findValue(..).
However, if there are entries missing (e.g. a creation meta data entry w/out a access meta
data entry), this method will attempt to purge the orphaned entries. This should never be
done within the context of a session destroy event.