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

Locking interceptor should check the topology before acquiring locks

    Details

    • Type: Bug
    • Status: New (View Workflow)
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 8.2.11.Final, 9.3.6.Final, 9.4.9.Final, 10.0.0.Beta2
    • Fix Version/s: 10.0.0.Beta4
    • Component/s: Core
    • Labels:
      None

      Description

      The distribution interceptors check the command topology is the same as the current topology before sending a command to remote nodes, but the locking interceptors do not have any check.

      On a remote node, this means the inbound invocation handler acquires some locks in topology T, then the locking interceptor acquires other locks in topology T+1, and finally the distribution interceptor throws OutdatedTopologyException and releases the locks. In older versions there is also a potential for blocking a remote executor thread while waiting for the lock, but luckily that is not a problem in 9.4+. It would be more efficient if the locking interceptor was throwing OutdatedTopologyException instead.

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                dan.berindei Dan Berindei
                Reporter:
                dan.berindei Dan Berindei
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated: