Details
-
Bug
-
Status: Closed
-
Critical
-
Resolution: Fixed
-
None
-
Reviewed
Description
Race condition in LocalizerRunner causes container localization timeout.
Currently LocalizerRunner will kill the ContainerLocalizer when pending list for LocalizerResourceRequestEvent is empty.
} else if (pending.isEmpty()) { action = LocalizerAction.DIE; }
If a LocalizerResourceRequestEvent is added after LocalizerRunner kill the ContainerLocalizer due to empty pending list, this LocalizerResourceRequestEvent will never be handled.
Without ContainerLocalizer, LocalizerRunner#update will never be called.
The container will stay at LOCALIZING state, until the container is killed by AM due to TASK_TIMEOUT.