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

Locking interceptor should check the topology before acquiring locks


    • Icon: Bug Bug
    • Resolution: Obsolete
    • Icon: Major Major
    • None
    • 8.2.11.Final, 9.3.6.Final, 9.4.9.Final, 10.0.0.Beta2
    • Core
    • None
    • DataGrid Sprint #30

      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.

            Unassigned Unassigned
            dberinde@redhat.com Dan Berindei (Inactive)
            0 Vote for this issue
            2 Start watching this issue