Uploaded image for project: 'Ignite'
  1. Ignite
  2. IGNITE-21348

Trigger the lease negotiation retry in case when the lease candidate is no more contained in assignments

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • None
    • None

    Description

      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.

       

      Attachments

        Issue Links

          Activity

            People

              Denis Chudov Denis Chudov
              Denis Chudov Denis Chudov
              Vladislav Pyatkov Vladislav Pyatkov
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 1.5h
                  1.5h