[
https://issues.apache.org/jira/browse/IGNITE-15083?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17906360#comment-17906360
]
Ignite TC Bot commented on IGNITE-15083:
----------------------------------------
{panel:title=Branch: [pull/11750/head] Base: [master] : No blockers
found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}{panel}
{panel:title=Branch: [pull/11750/head] Base: [master] : No new tests
found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#F7D6C1}{panel}
[TeamCity *--> Run :: All*
Results|https://ci2.ignite.apache.org/viewLog.html?buildId=8218801&buildTypeId=IgniteTests24Java8_RunAll]
> 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
> Time Spent: 10m
> Remaining Estimate: 0h
>
> 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)