If the capacity is close to full (say 1 slot left) for a product registration and more then one client tries to register for that product and take the last slot at the same time a race condition happens and all loose out.
Description of what happens
What ends up happening is that 2 or more clients have added the same product with only 1 slot left to their cart, but have not proceeded to the registration checkout page. So at this point the registration has not been created. As soon as one client completes the registration checkout form and tries to proceed to the next checkout page the registration for that client is created, but the conflicting lineitem on all the clients' orders are removed including the client who won the race to register first. They all receive the warning "There are only 0 available slots for Analytical Thinking. Please adjust your cart quantity."
For the others this functionality is probably appropriate, but for the client who got there first it is not. Not only that, but the registration is not deleted along with the lineitem. So the client still has a registration attached to their order which they do not know about and could proceed to purchase other products and potentially other registrations and end up registered for something they did not actually pay for. This last outcome has been reported and described here ( https://www.drupal.org/node/2128773#comment-10334445 β ).
Closed: outdated
2.0
Checkout
Not all content is available!
It's likely this issue predates Contrib.social: some issue and comment data are missing.