You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by " Kirill Sizov (Jira)" <ji...@apache.org> on 2024/11/18 08:34:00 UTC
[jira] [Assigned] (IGNITE-23560) resetPartitions improvements: add ability to retrieve DistributionZoneManager#logicalTopology based on revision.
[ https://issues.apache.org/jira/browse/IGNITE-23560?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Kirill Sizov reassigned IGNITE-23560:
--------------------------------------
Assignee: Kirill Sizov
> resetPartitions improvements: add ability to retrieve DistributionZoneManager#logicalTopology based on revision.
> ----------------------------------------------------------------------------------------------------------------
>
> Key: IGNITE-23560
> URL: https://issues.apache.org/jira/browse/IGNITE-23560
> Project: Ignite
> Issue Type: Improvement
> Reporter: Mirza Aliev
> Assignee: Kirill Sizov
> Priority: Major
> Labels: ignite-3
>
> h3. Motivation
> According to [IEP-131|https://cwiki.apache.org/confluence/display/IGNITE/IEP-131%3A+Partition+Majority+Unavailability+Handling] {{DisasterRecoveryManager#resetPartitions}} will be the core method for recovering partition majority availability. At the moment this method uses {{DistributionZoneManager#logicalTopology}} in {{ManualGroupUpdateRequest#handle}} to retrieve alive nodes. The problem is that {{DisasterRecoveryManager#resetPartitions}} is linearised by revision of the meta storage, but {{DistributionZoneManager#logicalTopology}} does not take int account the topology based on revision. This could lead to the situation that the further logic of alive nodes check that is based on this revision could try to work with the more up-to-date state from the {{DistributionZoneManager#logicalTopology}}.
> We need to add the way to work with {{DistributionZoneManager#logicalTopology}} based on the revision.
> h3. Implementation notes.
> The way how will implement revision based {{DistributionZoneManager#logicalTopology}} must take into account metastorage compaction mechanism, so we cannot just take logical topology from the meta storage based on a revision, because this data could be compacted.
> h3. Definition of done
> * {{DistributionZoneManager#logicalTopology}} must be expanded with the revision, so {{DisasterRecoveryManager#resetPartitions}} could work correctly
--
This message was sent by Atlassian Jira
(v8.20.10#820010)