Bug #42055 | ConcurrentModificationException in LoadBalancingConnectionProxy | ||
---|---|---|---|
Submitted: | 12 Jan 2009 16:39 | Modified: | 14 Jan 2009 16:26 |
Reporter: | Rafael Chies | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | Connector / J | Severity: | S3 (Non-critical) |
Version: | 5.1.7 | OS: | Linux |
Assigned to: | Todd Farmer | CPU Architecture: | Any |
[12 Jan 2009 16:39]
Rafael Chies
[13 Jan 2009 23:47]
Todd Farmer
Verified as described; problem is: blacklistClone.remove(host); while inside the Iterator loop on the keys from that Map. Should instead use the Iterator.remove(); method: i.remove();
[14 Jan 2009 0:08]
Todd Farmer
Fixed in http://lists.mysql.com/commits/63188 .
[14 Jan 2009 16:26]
Tony Bedford
An entry was added to the 5.1.8 changelog: A ConcurrentModificationException was generated in LoadBalancingConnectionProxy: java.util.ConcurrentModificationException at java.util.HashMap$HashIterator.nextEntry(Unknown Source) at java.util.HashMap$KeyIterator.next(Unknown Source) at com.mysql.jdbc.LoadBalancingConnectionProxy.getGlobalBlacklist(LoadBalancingConnectionProxy.java:520) at com.mysql.jdbc.RandomBalanceStrategy.pickConnection(RandomBalanceStrategy.java:55) at com.mysql.jdbc.LoadBalancingConnectionProxy.pickNewConnection(LoadBalancingConnectionProxy.java:414) at com.mysql.jdbc.LoadBalancingConnectionProxy.invoke(LoadBalancingConnectionProxy.java:390)