[
https://issues.apache.org/jira/browse/IGNITE-19120?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Denis Chudov updated IGNITE-19120:
----------------------------------
Description:
*Motivation*
This ticket is about TopologyAwareRaftGroupService which can subscribe on
leader change, and RaftGroupService methods such as
refreshAndGetLeaderWithTerm(). Necessary metadata is last applied index in
leader's storage.
This will allow to remove readIndex requests on acceptance of a lease on
leaseholder candidate. As we know that no write commands in replication group
can happen in absence of leaseholder, this means that leaseholder should just
catch up leader's last applied index received with leader metadata to make sure
that its local storage is up-to-date.
*Definition of done*
readIndex call is removed from Replica#waitForActualState.
RaftGroupServiceImpl#refreshAndGetLeaderWithTerm also gets leader metadata
along with leader.
LeaderWithTerm class is enriched with metadata and (possibly) renamed.
was:
*Motivation*
This ticket is about TopologyAwareRaftGroupService which can subscribe on
leader change, and RaftGroupService methods such as
refreshAndGetLeaderWithTerm(). Necessary metadata is last applied index in
leader's storage.
This will allow to remove readIndex requests on acceptance of a lease on
leaseholder candidate. As we know that no write commands in replication group
can happen in absence of leaseholder, this means that leaseholder should just
catch up leader's last applied index received with leader metadata to make sure
that its local storage is up-to-date.
*Definition of done*
readIndex call is removed from Replica#waitForActualState.
> Raft client should get leader metadata along while getting leader itself
> ------------------------------------------------------------------------
>
> Key: IGNITE-19120
> URL: https://issues.apache.org/jira/browse/IGNITE-19120
> Project: Ignite
> Issue Type: Improvement
> Reporter: Denis Chudov
> Priority: Major
> Labels: ignite-3
>
> *Motivation*
> This ticket is about TopologyAwareRaftGroupService which can subscribe on
> leader change, and RaftGroupService methods such as
> refreshAndGetLeaderWithTerm(). Necessary metadata is last applied index in
> leader's storage.
> This will allow to remove readIndex requests on acceptance of a lease on
> leaseholder candidate. As we know that no write commands in replication group
> can happen in absence of leaseholder, this means that leaseholder should just
> catch up leader's last applied index received with leader metadata to make
> sure that its local storage is up-to-date.
> *Definition of done*
> readIndex call is removed from Replica#waitForActualState.
> RaftGroupServiceImpl#refreshAndGetLeaderWithTerm also gets leader metadata
> along with leader.
> LeaderWithTerm class is enriched with metadata and (possibly) renamed.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)