Uploaded image for project: 'Infinispan'
  1. Infinispan
  2. ISPN-7889

BaseDistributionInterceptor.remoteGet may cause concurrency issues

    Details

      Description

      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.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  dan.berindei Dan Berindei
                  Reporter:
                  rvansa Radim Vansa
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  3 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: