Author: sebb
Date: Fri Oct 29 23:49:01 2010
New Revision: 1028948
URL: http://svn.apache.org/viewvc?rev=1028948&view=rev
Log:
Bug 50178 - HeaderManager added as child of Thread Group can create
concatenated HeaderManager names and OutOfMemoryException
Modified:
jakarta/jmeter/trunk/src/core/org/apache/jmeter/testelement/AbstractTestElement.java
jakarta/jmeter/trunk/src/core/org/apache/jmeter/testelement/TestElement.java
jakarta/jmeter/trunk/src/core/org/apache/jmeter/threads/TestCompiler.java
jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSamplerBase.java
jakarta/jmeter/trunk/xdocs/changes.xml
Modified:
jakarta/jmeter/trunk/src/core/org/apache/jmeter/testelement/AbstractTestElement.java
URL:
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/testelement/AbstractTestElement.java?rev=1028948&r1=1028947&r2=1028948&view=diff
==============================================================================
---
jakarta/jmeter/trunk/src/core/org/apache/jmeter/testelement/AbstractTestElement.java
(original)
+++
jakarta/jmeter/trunk/src/core/org/apache/jmeter/testelement/AbstractTestElement.java
Fri Oct 29 23:49:01 2010
@@ -88,6 +88,15 @@ public abstract class AbstractTestElemen
/**
* {...@inheritdoc}
+ * <p>
+ * Default implementation - does nothing
+ */
+ public void clearTestElementChildren(){
+ // NOOP
+ }
+
+ /**
+ * {...@inheritdoc}
*/
public void removeProperty(String key) {
propMap.remove(key);
Modified:
jakarta/jmeter/trunk/src/core/org/apache/jmeter/testelement/TestElement.java
URL:
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/testelement/TestElement.java?rev=1028948&r1=1028947&r2=1028948&view=diff
==============================================================================
---
jakarta/jmeter/trunk/src/core/org/apache/jmeter/testelement/TestElement.java
(original)
+++
jakarta/jmeter/trunk/src/core/org/apache/jmeter/testelement/TestElement.java
Fri Oct 29 23:49:01 2010
@@ -37,6 +37,12 @@ public interface TestElement extends Clo
// N.B. Comments originally only applied to Test Plans, hence the name -
which can now not be easily changed
public void addTestElement(TestElement child);
+
+ /**
+ * This method should clear any test element properties that are merged
+ * by {...@link #addTestElement(TestElement)}.
+ */
+ public void clearTestElementChildren();
public void setProperty(String key, String value);
Modified:
jakarta/jmeter/trunk/src/core/org/apache/jmeter/threads/TestCompiler.java
URL:
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/threads/TestCompiler.java?rev=1028948&r1=1028947&r2=1028948&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/core/org/apache/jmeter/threads/TestCompiler.java
(original)
+++ jakarta/jmeter/trunk/src/core/org/apache/jmeter/threads/TestCompiler.java
Fri Oct 29 23:49:01 2010
@@ -240,7 +240,8 @@ public class TestCompiler implements Has
private static class ObjectPair
{
- private TestElement child, parent;
+ private final TestElement child;
+ private final TestElement parent;
public ObjectPair(TestElement one, TestElement two) {
this.child = one;
@@ -270,6 +271,7 @@ public class TestCompiler implements Has
}
private void configureWithConfigElements(Sampler sam,
List<ConfigTestElement> configs) {
+ sam.clearTestElementChildren();
Iterator<ConfigTestElement> iter = configs.iterator();
while (iter.hasNext()) {
ConfigTestElement config = iter.next();
Modified:
jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSamplerBase.java
URL:
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSamplerBase.java?rev=1028948&r1=1028947&r2=1028948&view=diff
==============================================================================
---
jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSamplerBase.java
(original)
+++
jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSamplerBase.java
Fri Oct 29 23:49:01 2010
@@ -528,6 +528,16 @@ public abstract class HTTPSamplerBase ex
}
}
+ /**
+ * {...@inheritdoc}
+ * <p>
+ * Clears the Header Manager property so subsequent loops don't keep
merging more elements
+ */
+ @Override
+ public void clearTestElementChildren(){
+ removeProperty(HEADER_MANAGER);
+ }
+
public void setPort(int value) {
setProperty(new IntegerProperty(PORT, value));
}
Modified: jakarta/jmeter/trunk/xdocs/changes.xml
URL:
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/xdocs/changes.xml?rev=1028948&r1=1028947&r2=1028948&view=diff
==============================================================================
--- jakarta/jmeter/trunk/xdocs/changes.xml (original)
+++ jakarta/jmeter/trunk/xdocs/changes.xml Fri Oct 29 23:49:01 2010
@@ -68,6 +68,7 @@ To override the default local language f
<h3>HTTP Samplers and Proxy</h3>
<ul>
+<li>Bug 50178 - HeaderManager added as child of Thread Group can create
concatenated HeaderManager names and OutOfMemoryException</li>
</ul>
<h3>Other Samplers</h3>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]