You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by sc...@apache.org on 2014/04/25 20:37:21 UTC

svn commit: r1590097 - /uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/impl/JCasHashMap.java

Author: schor
Date: Fri Apr 25 18:37:21 2014
New Revision: 1590097

URL: http://svn.apache.org/r1590097
Log:
[UIMA-3774] edge case - update aggregate_size to handle case where a duplicate put happened

Modified:
    uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/impl/JCasHashMap.java

Modified: uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/impl/JCasHashMap.java
URL: http://svn.apache.org/viewvc/uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/impl/JCasHashMap.java?rev=1590097&r1=1590096&r2=1590097&view=diff
==============================================================================
--- uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/impl/JCasHashMap.java (original)
+++ uima/uimaj/trunk/uimaj-core/src/main/java/org/apache/uima/jcas/impl/JCasHashMap.java Fri Apr 25 18:37:21 2014
@@ -226,6 +226,7 @@ public class JCasHashMap {
           if (m.getAddress() == key) {
             // found the previously reserved slot
             table[probeAddr] = value;
+            aggregate_size.incrementAndGet();
             notifyAll();
             if (TUNE) {
               histogram[Math.min(histogram.length - 1, nbrProbes)]++;
@@ -253,7 +254,8 @@ public class JCasHashMap {
         histogram[Math.min(histogram.length - 1, nbrProbes)]++;
         maxProbe = Math.max(maxProbe, nbrProbes);
       }
-      table[probeAddr] = value;   
+      table[probeAddr] = value;
+      aggregate_size.incrementAndGet();
     }
     
 //    private synchronized FeatureStructureImpl putIfAbsent(
@@ -421,7 +423,6 @@ public class JCasHashMap {
     
     SubMap m = subMaps[subMapIndex];
     m.put(key, value, hash >>> concurrencyLevelBits);
-    aggregate_size.incrementAndGet();
   }
   
   public int size() {