[
https://issues.apache.org/jira/browse/IGNITE-19896?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Vadim Pakhnushev updated IGNITE-19896:
--------------------------------------
Description:
When sending a message to the random node either in the refreshLeader or in the
sendWithRetry after the error, the peer to which the message was sent gets
assigned to the {{leader}} field before the message response is handled. If
during this period another thread would call {{{}leader(){}}}, it could get
random peer instead of a leader.
Also the {{leader()}} call returns incorrect result even at the time of the
{{RaftGroupEventsListener.onLeaderElected}} callback.
was:
When sending a message to the random node either in the refreshLeader or in the
sendWithRetry after the error, the peer to which the message was sent gets
assigned to the {{leader}} field before the message response is handled. If
during this period another thread would call {{{}leader(){}}}, it could get
random peer instead of a leader.
> Incorrect leader in the RaftGroupServiceImpl
> --------------------------------------------
>
> Key: IGNITE-19896
> URL: https://issues.apache.org/jira/browse/IGNITE-19896
> Project: Ignite
> Issue Type: Bug
> Reporter: Vadim Pakhnushev
> Priority: Major
> Labels: ignite-3
>
> When sending a message to the random node either in the refreshLeader or in
> the
> sendWithRetry after the error, the peer to which the message was sent gets
> assigned to the {{leader}} field before the message response is handled. If
> during this period another thread would call {{{}leader(){}}}, it could get
> random peer instead of a leader.
> Also the {{leader()}} call returns incorrect result even at the time of the
> {{RaftGroupEventsListener.onLeaderElected}} callback.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)