You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by sh...@apache.org on 2015/10/23 16:03:49 UTC

svn commit: r1710218 - in /lucene/dev/trunk/solr: CHANGES.txt core/src/java/org/apache/solr/servlet/cache/HttpCacheHeaderUtil.java

Author: shalin
Date: Fri Oct 23 14:03:49 2015
New Revision: 1710218

URL: http://svn.apache.org/viewvc?rev=1710218&view=rev
Log:
SOLR-8189: eTag calculation during HTTP Cache Validation uses unsynchronized WeakHashMap causing threads to be stuck in runnable state

Modified:
    lucene/dev/trunk/solr/CHANGES.txt
    lucene/dev/trunk/solr/core/src/java/org/apache/solr/servlet/cache/HttpCacheHeaderUtil.java

Modified: lucene/dev/trunk/solr/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/CHANGES.txt?rev=1710218&r1=1710217&r2=1710218&view=diff
==============================================================================
--- lucene/dev/trunk/solr/CHANGES.txt (original)
+++ lucene/dev/trunk/solr/CHANGES.txt Fri Oct 23 14:03:49 2015
@@ -288,6 +288,9 @@ Bug Fixes
 
 * SOLR-7843: DataImportHandler's delta imports leak memory because the delta keys are kept in memory
   and not cleared after the process is finished. (Pablo Lozano via shalin)
+
+* SOLR-8189: eTag calculation during HTTP Cache Validation uses unsynchronized WeakHashMap causing
+  threads to be stuck in runnable state. (shalin)
   
 Optimizations
 ----------------------

Modified: lucene/dev/trunk/solr/core/src/java/org/apache/solr/servlet/cache/HttpCacheHeaderUtil.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/core/src/java/org/apache/solr/servlet/cache/HttpCacheHeaderUtil.java?rev=1710218&r1=1710217&r2=1710218&view=diff
==============================================================================
--- lucene/dev/trunk/solr/core/src/java/org/apache/solr/servlet/cache/HttpCacheHeaderUtil.java (original)
+++ lucene/dev/trunk/solr/core/src/java/org/apache/solr/servlet/cache/HttpCacheHeaderUtil.java Fri Oct 23 14:03:49 2015
@@ -56,8 +56,7 @@ public final class HttpCacheHeaderUtil {
    *
    * @see #calcEtag
    */
-  private static Map<SolrCore, EtagCacheVal> etagCoreCache
-    = new WeakHashMap<>();
+  private static Map<SolrCore, EtagCacheVal> etagCoreCache = Collections.synchronizedMap(new WeakHashMap<>());
 
   /** @see #etagCoreCache */
   private static class EtagCacheVal {