[
https://issues.jboss.org/browse/ISPN-9714?page=com.atlassian.jira.plugin....
]
Dan Berindei commented on ISPN-9714:
------------------------------------
Forgot to answer here: a listener that needs to do some blocking stuff should use its own
thread pool to avoid blocking Infinispan threads. However, long running listeners will
have a dramatic impact on performance, regardless of whether they're blocking or not.
I'm optimistic about users who need prodding to change their code, because blocking
listeners will stand out in thread dumps.
Update CacheNotifier to return CompletionStage
----------------------------------------------
Key: ISPN-9714
URL:
https://issues.jboss.org/browse/ISPN-9714
Project: Infinispan
Issue Type: Sub-task
Components: Core, Listeners
Reporter: William Burns
Assignee: William Burns
Priority: Major
Fix For: 10.0.0.Beta3
We need to update CacheNotifier to return CompletionStage for all its appropriate
methods. We also need to update all the internals to use these appropriately.
Not all notification usages may provide support non blocking, but our listener internals
should support non blocking listeners for all.
The simplest way internally is to treat all current listeners as "alien" and
invoke them in the notification thread pool. If it is sync we would wait for this task to
complete. We would also now allow a listener to return a CompletionStage. If this is
returned we will use this operate in a non blocking way.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)