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

Reply via email to