this is a really interesting question asked in my video on how Grab handles millions of orders where I dissected their architecture, design decisions, and trade-offs.
the question is interesting not because of its technicalities, but because it shows how we engineers make everything super-complicated. To be honest, most engineers think this way and I am writing this just to emphasize building realistic systems.
Remember, whenever you are designing the system, understand the constraints well, and adopt the simplest architecture and implementation that meets the criteria. Do not unnecessarily make the constraints stricter than they need to be.
In this question, the person did not consider the product flow (UX) and thought about strong consistency. It is good to think about these engineering details, but ask yourself, do you really need this? if we add this complexity, will it dramatically change the UX?
if the answer is no, skip it. keep your implementation as simple as possible, within your non-optional constraints. if it works for you, it works for you. interested in knowing the details,
watch the video - youtu.be/KeV4erIm47o