Denis Chudov created IGNITE-21348:
-------------------------------------

             Summary: Trigger lease negotiation retry in case when the lease 
candidate is no more in assignments
                 Key: IGNITE-21348
                 URL: https://issues.apache.org/jira/browse/IGNITE-21348
             Project: Ignite
          Issue Type: Bug
            Reporter: Denis Chudov


On receiving the "lease granted" message, the candidate replica tries to catch 
up the actual storage state, in order to do that it makes read index request. 
But in case when this candidate is no more a member of assignments (and 
replication group) this request fails and is retried until the lease 
negotiation interval exceeds. This makes no sense because such retries will not 
be successful, and the current candidate is not a good candidate anymore - 
because, although the leaseholder may be not a part of replication group, 
preferably it should be, and should be its leader.

The assignment changes when some of current candidates and leaseholders are no 
more included in new assignment set, should be detected on the placement driver 
active actor, and the current lease should be revoked (if negotiation is in 
progress) or not prolonged. The new negotitation will be triggered 
automatically by the lease updater.

*Implementation notes*

This assignment changes detection should be done on placement driver side, 
because the events of assignment changes can be processed on different nodes in 
different time, and there is already assignments tracker as a part of placement 
driver.

 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to