Author: pmouawad Date: Thu Nov 3 15:37:32 2011 New Revision: 1197188 URL: http://svn.apache.org/viewvc?rev=1197188&view=rev Log: Bug 52129 - Reported Body Size is wrong when using HTTP Client 4 and Keep Alive connection Modified: jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPHC4Impl.java jmeter/trunk/xdocs/changes.xml Modified: jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPHC4Impl.java URL: http://svn.apache.org/viewvc/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPHC4Impl.java?rev=1197188&r1=1197187&r2=1197188&view=diff ============================================================================== --- jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPHC4Impl.java (original) +++ jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPHC4Impl.java Thu Nov 3 15:37:32 2011 @@ -41,6 +41,7 @@ import org.apache.http.HttpEntity; import org.apache.http.HttpException; import org.apache.http.HttpHost; import org.apache.http.HttpRequest; +import org.apache.http.HttpRequestInterceptor; import org.apache.http.HttpResponse; import org.apache.http.HttpResponseInterceptor; import org.apache.http.NameValuePair; @@ -126,6 +127,16 @@ public class HTTPHC4Impl extends HTTPHCA context.setAttribute(CONTEXT_METRICS, metrics); } }; + private static final HttpRequestInterceptor METRICS_RESETTER = new HttpRequestInterceptor() { + + @Override + public void process(HttpRequest request, HttpContext context) + throws HttpException, IOException { + HttpConnection conn = (HttpConnection) context.getAttribute(ExecutionContext.HTTP_CONNECTION); + HttpConnectionMetrics metrics = conn.getMetrics(); + metrics.reset(); + } + }; private static final ThreadLocal> HTTPCLIENTS = new ThreadLocal>(){ @@ -500,6 +511,7 @@ public class HTTPHC4Impl extends HTTPHCA }; ((AbstractHttpClient) httpClient).addResponseInterceptor(new ResponseContentEncoding()); ((AbstractHttpClient) httpClient).addResponseInterceptor(METRICS_SAVER); // HACK + ((AbstractHttpClient) httpClient).addRequestInterceptor(METRICS_RESETTER); // Override the defualt schemes as necessary SchemeRegistry schemeRegistry = httpClient.getConnectionManager().getSchemeRegistry(); Modified: jmeter/trunk/xdocs/changes.xml URL: http://svn.apache.org/viewvc/jmeter/trunk/xdocs/changes.xml?rev=1197188&r1=1197187&r2=1197188&view=diff ============================================================================== --- jmeter/trunk/xdocs/changes.xml (original) +++ jmeter/trunk/xdocs/changes.xml Thu Nov 3 15:37:32 2011 @@ -98,6 +98,7 @@ these occurs, Sampler is marked as faile
  • Bug 52064 - OutOfMemory Risk in CacheManager
  • Bug 51919 - Random ConcurrentModificationException or NoSuchElementException in CookieManager#removeMatchingCookies when using Concurrent Download
  • Bug 52126 - HttpClient4 does not clear cookies between iterations
  • +
  • Bug 52129 - Reported Body Size is wrong when using HTTP Client 4 and Keep Alive connection
  • Other Samplers