I have added a feature to 4.2 whereby if the first attempt to acquire a connection fails, no more attempts will be made, that particular connection destroyed and a new one created right away. This is to address complaints in regards to how we handle validation wherein a large pool with lots of connections will take substantial time to fail through the entire pool before a new connection created.
While timeouts and background validation may help, this option seems to be a decent feature request. This behavior can be turned on/off and is off by default.