Hi Jann, +1 See: http://svn.apache.org/viewvc?view=rev&revision=524487
Best Regards, Antonio Gallardo. Jann Forrer escribió:
Hi We encounter problems with a LRUMap under heavy load in lenya-1.2. That might be due to unsynchronized access to the map. According to http://jakarta.apache.org/commons/collections/api-3.1/org/apache/commons/collections/map/LRUMap.html a LRUMap should be synchronized if it will be accessed by multiple threads: "A synchronized version can be obtained with: Collections.synchronizedMap( theMapToSynchronize ) If it will be accessed by multiple threads, you _must_ synchronize access to this Map. Even concurrent get(Object) operations produce indeterminate behaviour." Therefor I propose the following change in the URIParameterizerImpl.java: Index: org/apache/lenya/cms/cocoon/uriparameterizer/URIParameterizerImpl.java =================================================================== --- org/apache/lenya/cms/cocoon/uriparameterizer/URIParameterizerImpl.java (revision 515604) +++ org/apache/lenya/cms/cocoon/uriparameterizer/URIParameterizerImpl.java (working copy) @@ -22,6 +22,7 @@ import java.util.HashMap; import java.util.Map; +import java.util.Collections; import org.apache.avalon.framework.logger.AbstractLogEnabled; import org.apache.avalon.framework.logger.Logger; @@ -178,8 +179,9 @@ protected static final int CACHE_CAPACITY = 1000; - private static Map cache = new LRUMap(CACHE_CAPACITY); - + private static Map cache = Collections.synchronizedMap (new LRUMap (CACHE_CAPACITY)); + private ServiceManager manager; /** WDYT Jann --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
