[
https://issues.apache.org/jira/browse/COCOON-1977?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jörg Heinicke updated COCOON-1977:
----------------------------------
Fix Version/s: (was: 2.1.10)
2.1.11-dev (Current SVN)
Affects Version/s: (was: 2.1.11-dev (Current SVN))
(was: 2.2-dev (Current SVN))
> Unsynchronized access to HashMap in ResourceReader
> --------------------------------------------------
>
> Key: COCOON-1977
> URL: https://issues.apache.org/jira/browse/COCOON-1977
> Project: Cocoon
> Issue Type: Bug
> Components: * Cocoon Core
> Affects Versions: 2.1.9, 2.1.10
> Reporter: Ellis Pritchard
> Assigned To: Jörg Heinicke
> Priority: Critical
> Fix For: 2.1.11-dev (Current SVN), 2.2-dev (Current SVN)
>
>
> I've just had a production server lock up, and when I forced a stack trace I
> saw lots of these:
> "TP-Processor30" daemon prio=5 tid=0x00ce2a50 nid=0x52 runnable
> [bccfd000..bccffc30]
> at java.util.HashMap.get(HashMap.java:325)
> at
> org.apache.cocoon.reading.ResourceReader.getLastModified(ResourceReader.java:238)
> at
> org.apache.cocoon.components.pipeline.AbstractProcessingPipeline.process(AbstractProcessingPipeline.java:468)
> at
> org.apache.cocoon.components.treeprocessor.sitemap.ReadNode.invoke(ReadNode.java:84)
> etc.
> What I've noticed is that the 'documents' HashMap in ResourceReader (a static
> member) is accessed in an unsynchronized fashion; neither is documents
> synchronized, or are the puts and gets to it. This is a potential (and
> actual!!) hazard, and can lead to crashes or hangs.
> Suggest that line 94 of ResourceReader.java is changed from:
> private static final Map documents = new HashMap();
> to
> private static final Map documents = Collections.synchronizedMap(new
> HashMap());
> Work-around:
> enable quick-modified-test in configuration which by-passes use of the
> document URI cache:
> <map:reader logger="sitemap.reader.resource" name="resource" pool-max="32"
> src="org.apache.cocoon.reading.ResourceReader">
> <quick-modified-test>true</quick-modified-test>
> </map:reader>
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira