[ 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)