Bug 50600 - ConcurrentModificationException removing WAR via FarmWarDeployer
ConcurrentModificationException removing WAR via FarmWarDeployer
Status: RESOLVED FIXED
Product: Tomcat 6
Classification: Unclassified
Component: Cluster
6.0.29
All All
: P2 normal (vote)
: default
Assigned To: Tomcat Developers Mailing List
:
Depends on:
Blocks:
  Show dependency tree
 
Reported: 2011-01-17 06:20 UTC by Mark Thomas
Modified: 2011-01-18 11:55 UTC (History)
0 users



Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mark Thomas 2011-01-17 06:20:11 UTC
The following exception was reported via $work

WARNING: Exception processing cluster org.apache.catalina.ha.tcp.SimpleTcpCluster@68e4e358 background process
java.util.ConcurrentModificationException
at java.util.HashMap$HashIterator.nextEntry(HashMap.java:810)
at java.util.HashMap$EntryIterator.next(HashMap.java:851)
at java.util.HashMap$EntryIterator.next(HashMap.java:849)
at org.apache.catalina.ha.deploy.WarWatcher.check(WarWatcher.java:87)
at org.apache.catalina.ha.deploy.FarmWarDeployer.backgroundProcess(FarmWarDeployer.java:609)
at org.apache.catalina.ha.tcp.SimpleTcpCluster.backgroundProcess(SimpleTcpCluster.java:596)
at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1302)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1601)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1610)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1590)
at java.lang.Thread.run(Thread.java:636)

The root cause is removing the entry directly from the Map rather than from the iterator. I have a patch that I'll apply shortly.
Comment 1 Mark Thomas 2011-01-17 06:28:46 UTC
Fixed in 7.0.x and will be included in 7.0.7 onwards - r1059881

Proposed for 6.0.x
Comment 2 Mark Thomas 2011-01-18 11:55:38 UTC
Fixed in 6.0.x and will be included in 6.0.31 onwards