| ▲ | bijowo1676 an hour ago | ||||||||||||||||||||||||||||||||||
per my reading of the article, the protection is only needed for a few seconds, while payment is being processed by the payment system. so the row is inserted when Payment is initiated, and row is deleted when Payment succeeds
but that system could be easily improved to reserve item when user Adds item to a cart, to prevent scenario when user adds item to a cart, goes through checkout, and after initiating payment gets "soldout error": | |||||||||||||||||||||||||||||||||||
| ▲ | soontimes an hour ago | parent [-] | ||||||||||||||||||||||||||||||||||
Ok, but before inserting you must ensure that inventory is not depleted, which means you need to know the count and you need to lock the row. So you still have contention on that item. Them having a 1k buffer allows not to take a lock on a single row every time, and only do it when buffer is empty | |||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||