[jboss-jira] [JBoss JIRA] (JGRP-2249) CENTRAL_LOCK2: reconciliation protocol on coord change

Bela Ban (JIRA) issues at jboss.org
Thu Jul 12 07:47:00 EDT 2018


    [ https://issues.jboss.org/browse/JGRP-2249?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13604246#comment-13604246 ] 

Bela Ban commented on JGRP-2249:
--------------------------------

The design document is ./doc/design/CENTRAL_LOCK2.txt.
Almost done with the implementation; the request-queue handler is the only thing left to do.

> CENTRAL_LOCK2: reconciliation protocol on coord change
> ------------------------------------------------------
>
>                 Key: JGRP-2249
>                 URL: https://issues.jboss.org/browse/JGRP-2249
>             Project: JGroups
>          Issue Type: Feature Request
>            Reporter: Bela Ban
>            Assignee: Bela Ban
>             Fix For: 4.0.13
>
>
> Implement a reconciliation protocol when the coord changes: instead of backing up all lock information to another member, the new coord asks all members for their current lock information (acquired locks, pending acquire and release requests) and constructs the lock table accordingly.
> This is described in https://issues.jboss.org/browse/JGRP-2234 (later comments).
> Comment from 2234:
> Clients need to have the following information:
> * Locks they acquired
> * Pending lock requests; locks which they want to acquire but for which they haven't yet received a LOCK_GRANTED response
> * Pending lock release requests; lock that have been released, but for which no RELEASE_LOCK_OK response has been received
> * Ditto for conditions, but we'll tackle them in a second stage
> The reconciliation protocol queues all new requests on the coord and asks all members for their lock information. Once the coord has received this information from all members, it applies this and then drains the queue of pending requests.
> It is important that the requests are ordered per member, ie. a release(L) cannot come before a lock(L).
> Since {{CENTRAL_LOCK}} allows for multiple members to hold the same lock in a split brain scenario, we need to think about how to handle merging where the coord detects that multiple members hold the same lock...



--
This message was sent by Atlassian JIRA
(v7.5.0#75005)


More information about the jboss-jira mailing list