The validationInterval attribute is 30 seconds by default. In case of DB reboots, trigger some problems. For example, the following events will be considered. 1. The connection is validated. 2. DB reboots. 3. getConnection() within 30 seconds. 4. The connection isn't validated by testOnBorrow. 5. Get the invalid connection. And worse, the default value of fairQueue is true. As a result, invalid connection is continued to use. Therefore, I think the default value should be more short or "0(disable)".
That's for sure. I plan to reduce the default value of validationInterval. Probably about 3000 millseconds(that is 10% value existing). I am going to commit this tomorrow if there is no objections.
The fix will be in : - 9.0.x for 9.0.0.M10 onwards - 8.5.x for 8.5.5 onwards - 8.0.x for 8.0.37 onwards - 7.0.x for 7.0.71 onwards