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

If a node crashes leave the lock is not released in CONSISTENT reliablility

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • None
    • 11.0.3.Final, 12.0.0.Final
    • Clustered Locks
    • None
    • Hide
      • Start a 3 node cluster
      • try a lock on each node
      • stop one node

       

      The behavior is expected to be the same with AVAILABLE and CONSISTENT reliability but it is different.

      With CONSISTENT the event is only fired for some locks
      With AVAILABLE the event is fired for all locks and the lock for the missing node is forced to release

       

      reproducer code is here -> https://github.com/wfink/infinispan.playground.lock

      ensure pom will use the correct version and the mainClass is 'org.infinispan.wfink.playground.lock.ClusteredLockEmbeddedConfig'

      start 3 instance with exec:java and use the defined locks l1,l2,l3 each with a different node and stop one of them
      repeat the test after changed resources/infinispan.xml  reliablility attribute
       
       

      Show
      Start a 3 node cluster try a lock on each node stop one node   The behavior is expected to be the same with AVAILABLE and CONSISTENT reliability but it is different. With CONSISTENT the event is only fired for some locks With AVAILABLE the event is fired for all locks and the lock for the missing node is forced to release   reproducer code is here -> https://github.com/wfink/infinispan.playground.lock ensure pom will use the correct version and the mainClass is 'org.infinispan.wfink.playground.lock.ClusteredLockEmbeddedConfig' start 3 instance with exec:java and use the defined locks l1,l2,l3 each with a different node and stop one of them repeat the test after changed resources/infinispan.xml  reliablility attribute    
    • Undefined

      If a node leave the lock held by this instance is unlocked with reliablilty AVAILABLE and all other members can use the lock.

      But with reliability CONSITENT the lock is still set and, as there is no longer an owner, the only way is to force the unlock from application code, but there is no knowledge that the lock does not have an alive owner

      This is not the expected behaviour.

              Unassigned Unassigned
              rhn-support-wfink Wolf Fink
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: