Asynchronous Programming: A Cautionary Tale

Today I want to share a cautionary war story about how I and my team once got so excited about using asynchronous programming and then so shocked by the results.

A few years ago, we were working on Myntra’s order management system (OMS) at the time which was the source of truth for all order related information and actions in the company. It was a Java REST API based system that used MySQL as a store and used the classic single-thread-per-request model.