Две настройки Kubernetes вызвали скрытые OOM-сбои в Spark
Иногда для падения пайплайна не нужен ни баг в коде, ни экзотический edge case. Достаточно двух «невинных» настроек: в одном случае Spark на Kubernetes начал складывать временные данные не на диск, а в оперативную память, в другом все executor оказались прижаты к одному узлу. Результат предсказуемый: OOMKilled с кодом 137, ложный след в сторону тюнинга heap и потерянные часы команды, которая чинит не ту проблему. Об этом сообщает InfoQ в разборе инженера Pranav Bhasker, описавшего инцидент после миграции batch-пайплайнов на Azure Kubernetes Service...