You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Alexander Lapin (Jira)" <ji...@apache.org> on 2023/11/29 07:38:00 UTC

[jira] [Resolved] (IGNITE-15083) Implement leaseholder selection and failover

     [ https://issues.apache.org/jira/browse/IGNITE-15083?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Alexander Lapin resolved IGNITE-15083.
--------------------------------------
    Resolution: Duplicate

> Implement leaseholder selection and failover
> --------------------------------------------
>
>                 Key: IGNITE-15083
>                 URL: https://issues.apache.org/jira/browse/IGNITE-15083
>             Project: Ignite
>          Issue Type: Task
>            Reporter: Alexey Scherbakov
>            Priority: Major
>              Labels: iep-61, ignite-3
>
> The tx design [1] assumes the presence of leaseholder (stronger form of a leader) for each partition raft group.
> * Leaseholder is used for reads without majority heartbeat
> * Leaseholder is used for lock requests processing.
> * Only one leaseholder should exists at a time.
> * Leaseholders map is stored in metastore (can be discovered by asking group members in the first approach)
> * Tx coordinators are subscribed for leaseholder status updates.
> The lease acquisiotion implementation details are open for now [2]. 
> Jraft includes expiration based leases (similar to yugabyte's), and this should be enough for the first approach.
> [1] https://github.com/apache/ignite-3/tree/main/modules/transactions
> [2] Cocroach and tikv use raft log based approach.



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