This is an automated email from the ASF dual-hosted git repository.

fschumacher pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/jmeter.git

commit 65a8a17ec463d62ac88bf8bc0875be249d04298b
Author: Felix Schumacher <[email protected]>
AuthorDate: Sat Aug 24 22:31:26 2019 +0200

    Remove Threadlocal perThreadRandom on thread exit
---
 .../org/apache/jmeter/config/RandomVariableConfig.java    | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git 
a/src/components/src/main/java/org/apache/jmeter/config/RandomVariableConfig.java
 
b/src/components/src/main/java/org/apache/jmeter/config/RandomVariableConfig.java
index 922d8ad..c01d9a1 100644
--- 
a/src/components/src/main/java/org/apache/jmeter/config/RandomVariableConfig.java
+++ 
b/src/components/src/main/java/org/apache/jmeter/config/RandomVariableConfig.java
@@ -27,17 +27,18 @@ import org.apache.jmeter.engine.event.LoopIterationListener;
 import org.apache.jmeter.engine.util.NoConfigMerge;
 import org.apache.jmeter.engine.util.NoThreadClone;
 import org.apache.jmeter.testbeans.TestBean;
+import org.apache.jmeter.testelement.ThreadListener;
 import org.apache.jmeter.threads.JMeterContextService;
 import org.apache.jmeter.threads.JMeterVariables;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 public class RandomVariableConfig extends ConfigTestElement
-    implements TestBean, LoopIterationListener, NoThreadClone, NoConfigMerge
+    implements TestBean, LoopIterationListener, NoThreadClone, NoConfigMerge, 
ThreadListener
 {
     private static final Logger log = 
LoggerFactory.getLogger(RandomVariableConfig.class);
 
-    private static final long serialVersionUID = 234L;
+    private static final long serialVersionUID = 235L;
 
     /*
      *  N.B. this class is shared between threads (NoThreadClone) so all 
access to variables
@@ -246,4 +247,14 @@ public class RandomVariableConfig extends ConfigTestElement
         this.outputFormat = outputFormat;
     }
 
+    @Override
+    public void threadStarted() {
+        // nothing to do on thread start
+    }
+
+    @Override
+    public void threadFinished() {
+        perThreadRandom.remove();
+    }
+
 }

Reply via email to