File tree Expand file tree Collapse file tree 1 file changed +14
-10
lines changed
src/core/src/main/java/org/apache/jmeter/testelement Expand file tree Collapse file tree 1 file changed +14
-10
lines changed Original file line number Diff line number Diff line change 2020import java .io .Serializable ;
2121import java .util .ArrayList ;
2222import java .util .Collections ;
23- import java .util .Iterator ;
2423import java .util .LinkedHashMap ;
2524import java .util .LinkedHashSet ;
2625import java .util .List ;
@@ -654,18 +653,23 @@ public void recoverRunningVersion() {
654653 // See https://github.com/apache/jmeter/issues/5875
655654 return ;
656655 }
657- Iterator <Map .Entry <String , JMeterProperty >> iter = propMap .entrySet ().iterator ();
658- while (iter .hasNext ()) {
659- Map .Entry <String , JMeterProperty > entry = iter .next ();
660- JMeterProperty prop = entry .getValue ();
661- if (isTemporary (prop )) {
662- iter .remove ();
663- clearTemporary (prop );
664- } else {
656+ writeLock ();
657+ try {
658+ Set <JMeterProperty > tempProperties = temporaryProperties ;
659+ // Remove temporary properties first
660+ if (tempProperties != null ) {
661+ for (JMeterProperty prop : tempProperties ) {
662+ removeProperty (prop .getName ());
663+ }
664+ tempProperties .clear ();
665+ }
666+ // Recover non-temporary properties
667+ for (JMeterProperty prop : propMap .values ()) {
665668 prop .recoverRunningVersion (this );
666669 }
670+ } finally {
671+ writeUnlock ();
667672 }
668- emptyTemporary ();
669673 }
670674
671675 /**
You can’t perform that action at this time.
0 commit comments