The post has been translated automatically. Original language: Russian
Nikita, a senior frontend engineer at Ozon Tech, is developing an advertiser's account with his team. One day, the team tried to update the Node version.js, after which the CI/CD tests started randomly crashing. As it turned out later, it was due to lack of memory. Since 15 front-end developers are working on the project, this problem greatly slowed down the rollout process, and developers had to manually restart the tests until they started to pass, which also worsened the developer experience.
The guys quickly solved the problem by rolling back the version, but I wanted to get to the bottom of what caused this to happen. In this article, we will see how a minor version update can generate a bug that will last for two years and involve the Jest and Node teams.js and V8. Read more
Никита, старший фронтенд-инженер в Ozon Tech, вместе со своей командой разрабатывает кабинет рекламодателя. Однажды команда попыталась обновить версию Node.js, после чего начали рандомно падать тесты в CI/CD. Как выяснилось позже — из-за нехватки памяти. Так как над проектом трудятся 15 фронтенд-разработчиков, эта проблема сильно замедляла процесс выкатки, и разработчикам приходилось вручную перезапускать тесты, пока они не начинали проходить, что также ухудшало developer experience.
Ребята быстро решили проблему откаткой версии, но хотелось докопаться до того, из-за чего это произошло. В этой статье мы увидим, как минорное обновление версии сможет породить баг, который затянется на два года и вовлечёт в себя команды Jest, Node.js и V8. Читать полностью