Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
Impala 2.0
-
None
Description
Currently processing updates from the Statestore roughly looks like this in the scheduler:
- if !is_delta: clear current information
- Process all new entries
- Remove all old entries
- Invalidate next_nonlocal_backend_entry_
However the invalidation of the next_nonlocal_backend_entry_ pointer happens unconditionally, whether there where changes to the current backend_map_ or not - including when an empty message was sent by the Statestore. This breaks most of the round-robin functionality in GetBackend(). As a fix, we should only reset next_nonlocal_backend_entry_ if there were changes to the backend map.