jakarta-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Philippe Mouawad <philippe.moua...@gmail.com>
Subject Re: svn commit: r1164186 - in /jakarta/jmeter/trunk: bin/jmeter.properties src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPHC4Impl.java xdocs/changes.xml xdocs/usermanual/component_reference.xml
Date Fri, 23 Sep 2011 12:41:43 GMT
Mistake in link:
https://issues.apache.org/bugzilla/show_bug.cgi?id=51882

On Fri, Sep 23, 2011 at 2:40 PM, Philippe Mouawad <
philippe.mouawad@gmail.com> wrote:

> Done:
> https://issues.apache.org/bugzilla/attachment.cgi?bugid=51882
> Regards
> Philippe
>
>
> On Fri, Sep 23, 2011 at 2:34 PM, sebb <sebbaz@gmail.com> wrote:
>
>> On 23 September 2011 13:29, Philippe Mouawad <philippe.mouawad@gmail.com>
>> wrote:
>> > Again,
>> > I just implemented Retry on HTTPHC3.1 setting it to 0 and I get low
>> 0.12%
>> > error like with HTTP 4.1.
>> > Do you want me to submit a patch to HTTPHC3.1 ?
>>
>> Would be useful, thanks.
>>
>> > Regards
>> > Philippe
>> >
>> >
>> > On Fri, Sep 23, 2011 at 2:23 PM, Philippe Mouawad <
>> > philippe.mouawad@gmail.com> wrote:
>> >
>> >> Hello,
>> >> Don't you think you should keep default to 0 and add same configuration
>> to
>> >> HTTPHC3 ?
>> >> Maybe it's a real server issue that is hidden by retry set to 3.
>> >> Can't we check in Jakarta apache logs to see if these errors are
>> mentionned
>> >> ?
>> >>
>> >> Regards
>> >> Philippe
>> >>
>> >>
>> >> On Fri, Sep 23, 2011 at 11:12 AM, Milamber <milamber@apache.org>
>> wrote:
>> >>
>> >>> Hello,
>> >>>
>> >>> (on JMeter 2.5.1RC1)
>> >>> Don't retry automatically with HC4 sampler seems introduce a bug on
>> load
>> >>> tests using HC4.
>> >>>
>> >>> When you run a load test, some errors "The target server failed to
>> >>> respond" can appear on response data.
>> >>>
>> >>> With wireshark, this error arrives at the end of TCP conversations:
>> the
>> >>> GET request is sent, but no server response (the connection has been
>> >>> closed, I suppose).
>> >>>
>> >>> If I changes the property httpclient4.retrycount to 3, the load tests
>> >>> works fine, with no errors.
>> >>>
>> >>> This bug is tested on Linux with JVM5/7 and WinXP with JVM7
>> >>>
>> >>> Test case is the Simple Test Case on this bugs:
>> >>> https://issues.apache.org/bugzilla/show_bug.cgi?id=51863
>> >>>
>> >>> (Note: no errors with HC3.1)
>> >>> (Questions: retrycount exists on HC3.1? if yes what default value?)
>> >>>
>> >>> ====Response data====
>> >>> org.apache.http.NoHttpResponseException: The target server failed to
>> >>> respond
>> >>>    at
>> >>>
>> >>>
>> org.apache.http.impl.conn.DefaultResponseParser.parseHead(DefaultResponseParser.java:101)
>> >>>    at
>> >>>
>> >>>
>> org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:252)
>> >>>    at
>> >>>
>> >>>
>> org.apache.http.impl.AbstractHttpClientConnection.receiveResponseHeader(AbstractHttpClientConnection.java:281)
>> >>>    at
>> >>>
>> >>>
>> org.apache.http.impl.conn.DefaultClientConnection.receiveResponseHeader(DefaultClientConnection.java:247)
>> >>>    at
>> >>>
>> >>>
>> org.apache.http.impl.conn.AbstractClientConnAdapter.receiveResponseHeader(AbstractClientConnAdapter.java:219)
>> >>>    at
>> >>>
>> >>>
>> org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:298)
>> >>>    at
>> >>>
>> >>>
>> org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:125)
>> >>>    at
>> >>>
>> >>>
>> org.apache.http.impl.client.DefaultRequestDirector.tryExecute(DefaultRequestDirector.java:645)
>> >>>    at
>> >>>
>> >>>
>> org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:464)
>> >>>    at
>> >>>
>> >>>
>> org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:820)
>> >>>    at
>> >>>
>> >>>
>> org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:754)
>> >>>    at
>> >>>
>> >>>
>> org.apache.jmeter.protocol.http.sampler.HTTPHC4Impl.sample(HTTPHC4Impl.java:265)
>> >>>    at
>> >>>
>> >>>
>> org.apache.jmeter.protocol.http.sampler.HTTPSamplerProxy.sample(HTTPSamplerProxy.java:62)
>> >>>    at
>> >>>
>> >>>
>> org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:1010)
>> >>>    at
>> >>>
>> >>>
>> org.apache.jmeter.protocol.http.sampler.HTTPSamplerBase.sample(HTTPSamplerBase.java:996)
>> >>>    at
>> >>>
>> >>>
>> org.apache.jmeter.threads.JMeterThread.process_sampler(JMeterThread.java:383)
>> >>>    at
>> org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:276)
>> >>>    at java.lang.Thread.run(Thread.java:595)
>> >>> =====================
>> >>>
>> >>> Milamber
>> >>>
>> >>> Le 01/09/2011 17:52, sebb@apache.org a ecrit :
>> >>> > Author: sebb
>> >>> > Date: Thu Sep  1 17:52:41 2011
>> >>> > New Revision: 1164186
>> >>> >
>> >>> > URL: http://svn.apache.org/viewvc?rev=1164186&view=rev
>> >>> > Log:
>> >>> > Don't automatically retry with HttpCLient4 sampler
>> >>> >
>> >>> > Modified:
>> >>> >     jakarta/jmeter/trunk/bin/jmeter.properties
>> >>> >
>> >>>
>> jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPHC4Impl.java
>> >>> >     jakarta/jmeter/trunk/xdocs/changes.xml
>> >>> >     jakarta/jmeter/trunk/xdocs/usermanual/component_reference.xml
>> >>> >
>> >>> > Modified: jakarta/jmeter/trunk/bin/jmeter.properties
>> >>> > URL:
>> >>>
>> http://svn.apache.org/viewvc/jakarta/jmeter/trunk/bin/jmeter.properties?rev=1164186&r1=1164185&r2=1164186&view=diff
>> >>> >
>> >>>
>> ==============================================================================
>> >>> > --- jakarta/jmeter/trunk/bin/jmeter.properties (original)
>> >>> > +++ jakarta/jmeter/trunk/bin/jmeter.properties Thu Sep  1 17:52:41
>> 2011
>> >>> > @@ -251,7 +251,7 @@ log_level.jorphan=INFO
>> >>> >  # 0 now means don't retry connection (in 2.3 and before it meant
no
>> >>> tries at all!)
>> >>> >
>> >>> >
>> >>>
>>  #---------------------------------------------------------------------------
>> >>> > -# HTTPClient configuration
>> >>> > +# Commons HTTPClient configuration
>> >>> >
>> >>>
>>  #---------------------------------------------------------------------------
>> >>> >
>> >>> >  # define a properties file for overriding Commons HttpClient
>> parameters
>> >>> > @@ -302,7 +302,7 @@ log_level.jorphan=INFO
>> >>> >  #log_file.httpclient=httpclient.log
>> >>> >
>> >>> >
>> >>> > -#         Apache HttpClient logging examples
>> >>> > +#         Apache Commons HttpClient logging examples
>> >>> >  #
>> >>> >  # Enable header wire + context logging - Best for Debugging
>> >>> >  #log_level.org.apache.http=DEBUG
>> >>> > @@ -320,6 +320,13 @@ log_level.jorphan=INFO
>> >>> >  #log_level.org.apache.http.client=DEBUG
>> >>> >
>> >>> >
>> >>>
>>  #---------------------------------------------------------------------------
>> >>> > +# Apache HttpComponents HTTPClient configuration (HTTPClient4)
>> >>> >
>> >>>
>> +#---------------------------------------------------------------------------
>> >>> > +
>> >>> > +# Number of retries to attempt (default 0)
>> >>> > +#httpclient4.retrycount=0
>> >>> > +
>> >>> >
>> >>>
>> +#---------------------------------------------------------------------------
>> >>> >  # Results file configuration
>> >>> >
>> >>>
>>  #---------------------------------------------------------------------------
>> >>> >
>> >>> >
>> >>> > Modified:
>> >>>
>> jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPHC4Impl.java
>> >>> > URL:
>> >>>
>> http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPHC4Impl.java?rev=1164186&r1=1164185&r2=1164186&view=diff
>> >>> >
>> >>>
>> ==============================================================================
>> >>> > ---
>> >>>
>> jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPHC4Impl.java
>> >>> (original)
>> >>> > +++
>> >>>
>> jakarta/jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPHC4Impl.java
>> >>> Thu Sep  1 17:52:41 2011
>> >>> > @@ -50,6 +50,7 @@ import org.apache.http.auth.NTCredential
>> >>> >  import org.apache.http.auth.UsernamePasswordCredentials;
>> >>> >  import org.apache.http.client.CredentialsProvider;
>> >>> >  import org.apache.http.client.HttpClient;
>> >>> > +import org.apache.http.client.HttpRequestRetryHandler;
>> >>> >  import org.apache.http.client.entity.UrlEncodedFormEntity;
>> >>> >  import org.apache.http.client.methods.HttpDelete;
>> >>> >  import org.apache.http.client.methods.HttpGet;
>> >>> > @@ -74,6 +75,7 @@ import org.apache.http.entity.mime.conte
>> >>> >  import org.apache.http.entity.mime.content.StringBody;
>> >>> >  import org.apache.http.impl.client.AbstractHttpClient;
>> >>> >  import org.apache.http.impl.client.DefaultHttpClient;
>> >>> > +import org.apache.http.impl.client.DefaultHttpRequestRetryHandler;
>> >>> >  import org.apache.http.message.BasicNameValuePair;
>> >>> >  import org.apache.http.params.BasicHttpParams;
>> >>> >  import org.apache.http.params.CoreConnectionPNames;
>> >>> > @@ -109,6 +111,9 @@ public class HTTPHC4Impl extends HTTPHCA
>> >>> >
>> >>> >      private static final Logger log =
>> >>> LoggingManager.getLoggerForClass();
>> >>> >
>> >>> > +    /** retry count to be used; defaults to 0 = disable retries
*/
>> >>> > +    private static final int RETRY_COUNT =
>> >>> JMeterUtils.getPropDefault("httpclient4.retrycount", 0);
>> >>> > +
>> >>> >      private static final String CONTEXT_METRICS = "jmeter_metrics";
>> //
>> >>> TODO hack, to be removed later
>> >>> >
>> >>> >      private static final HttpResponseInterceptor METRICS_SAVER
=
>> new
>> >>> HttpResponseInterceptor(){
>> >>> > @@ -447,7 +452,12 @@ public class HTTPHC4Impl extends HTTPHCA
>> >>> >
>> >>> >              HttpParams clientParams = new DefaultedHttpParams(new
>> >>> BasicHttpParams(), DEFAULT_HTTP_PARAMS);
>> >>> >
>> >>> > -            httpClient = new DefaultHttpClient(clientParams);
>> >>> > +            httpClient = new DefaultHttpClient(clientParams){
>> >>> > +                @Override
>> >>> > +                protected HttpRequestRetryHandler
>> >>> createHttpRequestRetryHandler() {
>> >>> > +                    return new
>> >>> DefaultHttpRequestRetryHandler(RETRY_COUNT, false); // set retry count
>> >>> > +                }
>> >>> > +            };
>> >>> >              ((AbstractHttpClient)
>> >>> httpClient).addResponseInterceptor(new ResponseContentEncoding());
>> >>> >              ((AbstractHttpClient)
>> >>> httpClient).addResponseInterceptor(METRICS_SAVER); // HACK
>> >>> >
>> >>> >
>> >>> > Modified: jakarta/jmeter/trunk/xdocs/changes.xml
>> >>> > URL:
>> >>>
>> http://svn.apache.org/viewvc/jakarta/jmeter/trunk/xdocs/changes.xml?rev=1164186&r1=1164185&r2=1164186&view=diff
>> >>> >
>> >>>
>> ==============================================================================
>> >>> > --- jakarta/jmeter/trunk/xdocs/changes.xml (original)
>> >>> > +++ jakarta/jmeter/trunk/xdocs/changes.xml Thu Sep  1 17:52:41
2011
>> >>> > @@ -60,6 +60,9 @@ To override the default local language f
>> >>> >  <h2>Incompatible changes</h2>
>> >>> >
>> >>> >  <p>
>> >>> > +The HttpClient4 sampler as implemented in version 2.5 used a retry
>> >>> count of 3.
>> >>> > +As this can hide server errors, JMeter now sets the retry count
to
>> 0 to
>> >>> prevent any automatic retries.
>> >>> > +This can be overridden by setting the JMeter property
>> >>> <b>httpclient4.retrycount</b>.
>> >>> >  </p>
>> >>> >
>> >>> >  <h2>Bug fixes</h2>
>> >>> > @@ -67,6 +70,7 @@ To override the default local language f
>> >>> >  <h3>HTTP Samplers and Proxy</h3>
>> >>> >  <ul>
>> >>> >  <li>Bug 51750 - Retrieve all embedded resources doesn't
follow
>> >>> IFRAME</li>
>> >>> > +<li>Change the default so the HttpClient 4 sampler does
not
>> retry</li>
>> >>> >  </ul>
>> >>> >
>> >>> >  <h3>Other Samplers</h3>
>> >>> >
>> >>> > Modified:
>> jakarta/jmeter/trunk/xdocs/usermanual/component_reference.xml
>> >>> > URL:
>> >>>
>> http://svn.apache.org/viewvc/jakarta/jmeter/trunk/xdocs/usermanual/component_reference.xml?rev=1164186&r1=1164185&r2=1164186&view=diff
>> >>> >
>> >>>
>> ==============================================================================
>> >>> > --- jakarta/jmeter/trunk/xdocs/usermanual/component_reference.xml
>> >>> (original)
>> >>> > +++ jakarta/jmeter/trunk/xdocs/usermanual/component_reference.xml
>> Thu
>> >>> Sep  1 17:52:41 2011
>> >>> > @@ -93,7 +93,7 @@ Latency is set to the time it takes to l
>> >>> >          <li>applets</li>
>> >>> >          <li>stylesheets</li>
>> >>> >          <li>external scripts</li>
>> >>> > -        <li>frames</li>
>> >>> > +        <li>frames, iframes</li>
>> >>> >          <li>background images (body, table, TD, TR)</li>
>> >>> >          <li>background sound</li>
>> >>> >          </ul>
>> >>> > @@ -353,6 +353,12 @@ Optional properties to allow change the
>> >>> >  <note>Versions of JMeter before 2.5 returns only data response
size
>> >>> (uncompressed if request uses gzip/defate mode).
>> >>> >  <br></br>To return to settings before version 2.5,
set the two
>> >>> properties to false.</note>
>> >>> >  </p>
>> >>> > +<p>
>> >>> > +<b>Retry handling</b><br></br>
>> >>> > +In version 2.5 of JMeter, the HttpClient4 sampler used the default
>> >>> retry count, which was 3.
>> >>> > +As this can hide server errors, JMeter now sets the retry count
to
>> 0 to
>> >>> prevent any automatic retries.
>> >>> > +This can be overridden by setting the JMeter property
>> >>> <b>httpclient4.retrycount</b>.
>> >>> > +</p>
>> >>> >  <links>
>> >>> >          <link href="test_plan.html#assertions">Assertion</link>
>> >>> >          <link href="build-web-test-plan.html">Building a
Web Test
>> >>> Plan</link>
>> >>> >
>> >>> >
>> >>> >
>> >>> >
>> ---------------------------------------------------------------------
>> >>> > To unsubscribe, e-mail:
>> notifications-unsubscribe@jakarta.apache.org
>> >>> > For additional commands, e-mail:
>> notifications-help@jakarta.apache.org
>> >>> >
>> >>> >
>> >>> >
>> >>>
>> >>>
>> >>> ---------------------------------------------------------------------
>> >>> To unsubscribe, e-mail: dev-unsubscribe@jakarta.apache.org
>> >>> For additional commands, e-mail: dev-help@jakarta.apache.org
>> >>>
>> >>>
>> >>
>> >>
>> >> --
>> >> Cordialement.
>> >> Philippe Mouawad.
>> >> Ubik-Ingénierie
>> >>
>> >>
>> >>
>> >>
>> >
>> >
>> > --
>> > Cordialement.
>> > Philippe Mouawad.
>> > Ubik-Ingénierie
>> >
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@jakarta.apache.org
>> For additional commands, e-mail: dev-help@jakarta.apache.org
>>
>>
>
>
> --
> Cordialement.
> Philippe Mouawad.
> Ubik-Ingénierie
>
>
>
>


-- 
Cordialement.
Philippe Mouawad.
Ubik-Ingénierie

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message