7 ms·
Because the post is just rambling without a clear intent or direction. Why do you need "oversell protection" if you have "transactions". Isn't the whole point o
by 12387128 1mo ago
Because the post is just rambling without a clear intent or direction. Why do you need "oversell protection" if you have "transactions". Isn't the whole point of a "transaction" that it handles concurrency and disk failures?
- resonious 1mo agoI work with Shopify often and the whole oversell protection thing is like a huge joke. Oversell happens because Shopify doesn't decrement inventory until payment is confirmed. And they apparently would rather die than change that invariant.
- ethbr1 1mo agoIt's funny the organizational rules that get written into a company's DNA. I could see a historical moment where Shopify, sans that invariant, massively fucked up inventory counts from uncompleted transactions... then had to unwind all that when a bunch failed to clear payment. Ergo, now there's an invariant.
- dessimus 1mo agoWould a retail business want the inventory to decrement just because users put items into carts that get abandoned? Seems like that would really mess things up more in the long run.
- derangedHorse 1mo agoAn unconfirmed payment might also refer to a credit card charge that is 99% guaranteed to go through but hasn’t completed yet
- resonious 1mo agoYes. You decrement for a few minutes then release if there's no purchase in time. Airlines figured out how to do this a very long time ago.
- dessimus 1mo agoExcept airlines, literally oversell flights all the time, and the context of my response was to preventing oversale.
- Breza 1mo agoI know this would add complexity, but I wonder if they could train a model to predict the odds of a given cart being abandoned. I'm a data scientist. I bet there are at least a few situations where you could be confident that someone was going to complete a sale.