[
https://issues.jboss.org/browse/ISPN-7889?page=com.atlassian.jira.plugin....
]
Radim Vansa commented on ISPN-7889:
-----------------------------------
Shoot, we should really address this (in general). When fixing ISPN-8213 I've found
another case where we need synchronization (I need to fetch some values and remoteGet
would be convenient) but that would cause concurrency issues.
BaseDistributionInterceptor.remoteGet may cause concurrency issues
------------------------------------------------------------------
Key: ISPN-7889
URL:
https://issues.jboss.org/browse/ISPN-7889
Project: Infinispan
Issue Type: Bug
Components: Core
Affects Versions: 9.1.0.Alpha1
Reporter: Radim Vansa
Assignee: Dan Berindei
{{BaseDistributionInterceptor.remoteGet}} or any call that accesses the context in an
async future handler that is called multiple times in parallel may lead to concurrent
modifications of the context.
These calls are usually handled using {{CompletableFuture.allOf()}} or using a CF with
counter, but if one of the calls results in exceptional completion of the composed future,
the processing continues (e.g. with a retry). The other parallel operation handlers are
not stopped, though.
{{BaseDistributionInterceptor.remoteGet}} shouldn't be called in parallel because it
does not even synchronize regular successful invocations.
A problem like this caused failures in {{GetAllCommandStressTest}}, and the issue was
addressed for {{GetAllCommand}} in ISPN-7884.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)