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

Alexey Scherbakov updated IGNITE-15083:
---------------------------------------
    Epic Link: IGNITE-15081

> 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.1#820001)

Reply via email to