[
https://issues.jboss.org/browse/ISPN-5962?page=com.atlassian.jira.plugin....
]
Sanne Grinovero commented on ISPN-5962:
---------------------------------------
That looks nice. But what does "acts much like a spin" mean exactly, will it
still burn CPU time unnecessarily? We want this to lock pessimistically ASAP and free up
the current thread.. actually encouraging context switching in this case.
Implementation of RpcManagerImpl.invokeRemotely causes high CPU
usage
---------------------------------------------------------------------
Key: ISPN-5962
URL:
https://issues.jboss.org/browse/ISPN-5962
Project: Infinispan
Issue Type: Enhancement
Components: Core
Affects Versions: 8.1.0.Beta1
Reporter: Sanne Grinovero
The method
{{org.infinispan.remoting.rpc.RpcManagerImpl.invokeRemotely(Collection<Address>,
ReplicableCommand, RpcOptions)}} is implemented by blocking on a {{CompletableFuture}},
but this then stalls on {{java.util.concurrent.CompletableFuture.waitingGet(boolean)}} by
spending a significant amount of CPU time by spinning.
When implementing RPC calls and having to wait for remote operations, spinning is
probably not a good idea. Could we try implementing this in some way to hint towards a
more pessimistic lock?
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)