[
https://issues.jboss.org/browse/ISPN-7889?page=com.atlassian.jira.plugin....
]
Tristan Tarrant updated ISPN-7889:
----------------------------------
Sprint: Sprint 10.0.0.Alpha1, Sprint 10.0.0.Alpha2, Sprint 10.0.0.Alpha0, Sprint
10.0.0.Beta1, DataGrid Sprint #31, DataGrid Sprint #32, DataGrid Sprint #33, DataGrid
Sprint #34, DataGrid Sprint #35, DataGrid Sprint #36, DataGrid Sprint #37 (was: Sprint
10.0.0.Alpha1, Sprint 10.0.0.Alpha2, Sprint 10.0.0.Alpha0, Sprint 10.0.0.Beta1, DataGrid
Sprint #31, DataGrid Sprint #32, DataGrid Sprint #33, DataGrid Sprint #34, DataGrid Sprint
#35, DataGrid Sprint #36)
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
Priority: Major
Fix For: 10.0.0.Alpha3, 9.4.6.Final
{{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.13.8#713008)