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.lang.reflect.Method;
import java.util.Arrays; import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet; import java.util.HashSet;
import java.util.Set; import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import org.apache.jmeter.config.Arguments; import org.apache.jmeter.config.Arguments;
import org.apache.jmeter.config.ConfigTestElement; 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. * Set used to register instances which implement tearDownTest.
* This is used so that the JavaSamplerClient can be notified when the test ends. * 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. * Property key representing the classname of the JavaSamplerClient to user.

View File

@ -146,6 +146,7 @@ Summary
<h3>Other Samplers</h3> <h3>Other Samplers</h3>
<ul> <ul>
<li><bug>58013</bug>Enable all protocols that are enabled on the default SSLContext for usage with the SMTP Sampler.</li> <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> </ul>
<h3>Controllers</h3> <h3>Controllers</h3>