JMeter hang when testing javasampler because HashMap.put() is called from multiple threads without sync.

Bugzilla Id: 58209


git-svn-id: https://svn.apache.org/repos/asf/jmeter/trunk@1694819 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Sebastian Bazley 2015-08-08 16:50:54 +00:00
parent 934d18c87d
commit 39567d1da9
2 changed files with 5 additions and 1 deletions

View File

@ -20,8 +20,10 @@ package org.apache.jmeter.protocol.java.sampler;
import java.lang.reflect.Method;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import org.apache.jmeter.config.Arguments;
import org.apache.jmeter.config.ConfigTestElement;
@ -55,7 +57,8 @@ public class JavaSampler extends AbstractSampler implements TestStateListener {
* Set used to register instances which implement tearDownTest.
* This is used so that the JavaSamplerClient can be notified when the test ends.
*/
private static final Set<JavaSampler> TEAR_DOWN_SET = new HashSet<JavaSampler>();
private static final Set<JavaSampler> TEAR_DOWN_SET =
Collections.newSetFromMap(new ConcurrentHashMap<JavaSampler,Boolean>());
/**
* Property key representing the classname of the JavaSamplerClient to user.

View File

@ -146,6 +146,7 @@ Summary
<h3>Other Samplers</h3>
<ul>
<li><bug>58013</bug>Enable all protocols that are enabled on the default SSLContext for usage with the SMTP Sampler.</li>
<li><bug>58209</bug>JMeter hang when testing javasampler because HashMap.put() is called from multiple threads without sync.</li>
</ul>
<h3>Controllers</h3>