You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jmeter.apache.org by pm...@apache.org on 2020/06/06 19:58:11 UTC
[jmeter] branch master updated: Bug 64499 - Exiting JMeter when
"jmeterengine.stopfail.system.exit=true" takes too much time if threads are
not stopped
This is an automated email from the ASF dual-hosted git repository.
pmouawad pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/jmeter.git
The following commit(s) were added to refs/heads/master by this push:
new 0318c50 Bug 64499 - Exiting JMeter when "jmeterengine.stopfail.system.exit=true" takes too much time if threads are not stopped
0318c50 is described below
commit 0318c50a8a55d5be533a9150885e2facf04358a7
Author: pmouawad <p....@ubik-ingenierie.com>
AuthorDate: Sat Jun 6 21:57:52 2020 +0200
Bug 64499 - Exiting JMeter when "jmeterengine.stopfail.system.exit=true"
takes too much time if threads are not stopped
---
.../java/org/apache/jmeter/engine/StandardJMeterEngine.java | 7 ++++---
.../src/main/java/org/apache/jmeter/threads/ThreadGroup.java | 12 +++++++++---
xdocs/changes.xml | 1 +
3 files changed, 14 insertions(+), 6 deletions(-)
diff --git a/src/core/src/main/java/org/apache/jmeter/engine/StandardJMeterEngine.java b/src/core/src/main/java/org/apache/jmeter/engine/StandardJMeterEngine.java
index 8883f73..62ed775 100644
--- a/src/core/src/main/java/org/apache/jmeter/engine/StandardJMeterEngine.java
+++ b/src/core/src/main/java/org/apache/jmeter/engine/StandardJMeterEngine.java
@@ -289,12 +289,13 @@ public class StandardJMeterEngine implements JMeterEngine, Runnable {
* @return boolean true if all threads of all Thread Groups stopped
*/
private boolean verifyThreadsStopped() {
- boolean stoppedAll = true;
// ConcurrentHashMap does not need synch. here
for (AbstractThreadGroup threadGroup : groups) {
- stoppedAll = stoppedAll && threadGroup.verifyThreadsStopped();
+ if(!threadGroup.verifyThreadsStopped()) {
+ return false;
+ }
}
- return stoppedAll;
+ return true;
}
/**
diff --git a/src/core/src/main/java/org/apache/jmeter/threads/ThreadGroup.java b/src/core/src/main/java/org/apache/jmeter/threads/ThreadGroup.java
index 5c5f56e..8a376c7 100644
--- a/src/core/src/main/java/org/apache/jmeter/threads/ThreadGroup.java
+++ b/src/core/src/main/java/org/apache/jmeter/threads/ThreadGroup.java
@@ -452,10 +452,16 @@ public class ThreadGroup extends AbstractThreadGroup {
if (delayedStartup) {
stoppedAll = verifyThreadStopped(threadStarter);
}
- for (Thread t : allThreads.values()) {
- stoppedAll = stoppedAll && verifyThreadStopped(t);
+ if(stoppedAll) {
+ for (Thread t : allThreads.values()) {
+ if(!verifyThreadStopped(t)) {
+ return false;
+ }
+ }
+ return true;
+ } else {
+ return false;
}
- return stoppedAll;
}
/**
diff --git a/xdocs/changes.xml b/xdocs/changes.xml
index 6154970..1ea0a7d 100644
--- a/xdocs/changes.xml
+++ b/xdocs/changes.xml
@@ -162,6 +162,7 @@ Summary
<h3>General</h3>
<ul>
<li><bug>64448</bug>User Defined Variable Duplication in Right Click Context Menu</li>
+ <li><bug>64499</bug>Exiting JMeter when <code>jmeterengine.stopfail.system.exit=true</code> takes too much time if threads are not stopped</li>
</ul>
<!-- =================== Thanks =================== -->