[infinispan-issues] [JBoss JIRA] (ISPN-8741) ClusteredLockSplitBrainTest fails randomly
Katia Aresti (JIRA)
issues at jboss.org
Mon Feb 5 05:59:00 EST 2018
[ https://issues.jboss.org/browse/ISPN-8741?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Katia Aresti updated ISPN-8741:
-------------------------------
Description:
When it works
====
node A acquires the lock
Split brain of [A] [B, C, D]
Meanwhile, node B tries to acquire the lock, which is not free, so the request goes to the pending queue of B.
With the view change listener, B calls unlock for A.
The listener of B is notified that the lock is released.
Retries for B
It works, and A can't do anything else because it's not in the majority partition.
When it fails
====
node A acquires the lock
Split brain of [A] [B, C, D]
Meanwhile, node B tries to acquire the lock, which is not free, so the request goes to the pending queue of B.
With the view change listener, B calls unlock for A.
The listener of B is notified that the lock is released.
Retries for B
It fails, because it says that actually the lock is still with locked by A in node D, but it is available in Node B and C.
Another unlock is retried for Node D, and this works, and still tries to unlock B and C, which fail because now thy are locked by B.
This gets on the limbo and the request is expired by the scheduler.
> ClusteredLockSplitBrainTest fails randomly
> ------------------------------------------
>
> Key: ISPN-8741
> URL: https://issues.jboss.org/browse/ISPN-8741
> Project: Infinispan
> Issue Type: Bug
> Components: Clustered Locks
> Affects Versions: 9.2.0.CR1
> Reporter: Katia Aresti
> Assignee: Katia Aresti
>
> When it works
> ====
> node A acquires the lock
> Split brain of [A] [B, C, D]
> Meanwhile, node B tries to acquire the lock, which is not free, so the request goes to the pending queue of B.
> With the view change listener, B calls unlock for A.
> The listener of B is notified that the lock is released.
> Retries for B
> It works, and A can't do anything else because it's not in the majority partition.
> When it fails
> ====
> node A acquires the lock
> Split brain of [A] [B, C, D]
> Meanwhile, node B tries to acquire the lock, which is not free, so the request goes to the pending queue of B.
> With the view change listener, B calls unlock for A.
> The listener of B is notified that the lock is released.
> Retries for B
> It fails, because it says that actually the lock is still with locked by A in node D, but it is available in Node B and C.
> Another unlock is retried for Node D, and this works, and still tries to unlock B and C, which fail because now thy are locked by B.
> This gets on the limbo and the request is expired by the scheduler.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
More information about the infinispan-issues
mailing list