[
https://issues.apache.org/jira/browse/IMPALA-15553?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Yida Wu resolved IMPALA-15553.
------------------------------
Fix Version/s: Impala 5.0.0
Resolution: Fixed
> Statestore subscriber startup can overwrite the active statestored
> ------------------------------------------------------------------
>
> Key: IMPALA-15553
> URL: https://issues.apache.org/jira/browse/IMPALA-15553
> Project: IMPALA
> Issue Type: Bug
> Components: Backend
> Affects Versions: Impala 4.0.0
> Reporter: Yida Wu
> Assignee: Yida Wu
> Priority: Major
> Fix For: Impala 5.0.0
>
>
> A race condition in StatestoreSubscriber::Start() can overwrite correct
> statestore HA roles with stale data if a failover occurs during startup.
> Start() sequentially registers with both statestoreds and sets
> active_statestore_ / standby_statestore_ based on the responses. If a
> failover happens between these two registrations, the new active statestored
> sends an UpdateStatestoredRole RPC that correctly updates the pointers.
> However, when Start() finishes, it can overwrites the pointers with the
> now-outdated registration flags.
> https://github.com/apache/impala/blob/ca40f73cbf374971d552bb6c1d6f925aef3adae7/be/src/statestore/statestore-subscriber.cc#L344-L361
> In an HA setup, if the active catalogd fails, the restarted standby catalogd
> will never accept the statestore updates required to become active, leaving
> the cluster stuck.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)