jmeter-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From pmoua...@apache.org
Subject svn commit: r1854637 - /jmeter/trunk/src/core/org/apache/jmeter/samplers/SampleResult.java
Date Sat, 02 Mar 2019 10:57:29 GMT
Author: pmouawad
Date: Sat Mar  2 10:57:29 2019
New Revision: 1854637

URL: http://svn.apache.org/viewvc?rev=1854637&view=rev
Log:
Replace synchronization by ConcurrentHashMap

Modified:
    jmeter/trunk/src/core/org/apache/jmeter/samplers/SampleResult.java

Modified: jmeter/trunk/src/core/org/apache/jmeter/samplers/SampleResult.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/samplers/SampleResult.java?rev=1854637&r1=1854636&r2=1854637&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/samplers/SampleResult.java (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/samplers/SampleResult.java Sat Mar  2 10:57:29
2019
@@ -25,9 +25,9 @@ import java.net.URL;
 import java.nio.charset.Charset;
 import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
-import java.util.HashSet;
 import java.util.List;
-import java.util.Set;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.TimeUnit;
 
 import org.apache.jmeter.assertions.AssertionResult;
@@ -47,7 +47,7 @@ import org.slf4j.LoggerFactory;
  *
  */
 public class SampleResult implements Serializable, Cloneable, Searchable {
-
+    private static final Byte BYTE = Byte.valueOf((byte)0);
     private static final long serialVersionUID = 241L;
 
     // Needs to be accessible from Test code
@@ -213,9 +213,9 @@ public class SampleResult implements Ser
     /**
      * Files that this sample has been saved in.
      * In Non GUI mode and when best config is used, size never exceeds 1,
-     * but as a compromise set it to 3
+     * but as a compromise set it to 2
      */
-    private final Set<String> files = new HashSet<>(3);
+    private final Map<String, Byte> files = new ConcurrentHashMap<>(2);
 
     // TODO do contentType and/or dataEncoding belong in HTTPSampleResult instead?
     private String dataEncoding;// (is this really the character set?) e.g.
@@ -499,8 +499,9 @@ public class SampleResult implements Ser
      * @param filename the name of the file
      * @return <code>true</code> if the result was previously marked
      */
-    public synchronized boolean markFile(String filename) {
-        return !files.add(filename);
+    public boolean markFile(String filename) {
+        Byte result = files.putIfAbsent(filename, BYTE);
+        return result != null;
     }
 
     public String getResponseCode() {



Mime
View raw message