Re: Setting better defaults for HTTP request

2020-12-30 Thread Felix Schumacher


Am 20.12.20 um 21:31 schrieb Philippe Mouawad:
> Hello,
>
> I tried implementing it by modifying in those 2 methods the default value
>
>-
>
> https://github.com/apache/jmeter/blob/master/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/sampler/HTTPSamplerBase.java#L838
>-
>
> https://github.com/apache/jmeter/blob/master/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/sampler/HTTPSamplerBase.java#L846
>
>
> But they are not taken into account, it looks like the method returns 0
> because in this code:
>
> public int getPropertyAsInt(String key, int defaultValue) {
> JMeterProperty jmp = getRawProperty(key);
> => jmp is not NullProperty nor null, so jmp.getIntValue() is called leading
> to 0
> return jmp == null || jmp instanceof NullProperty ? defaultValue :
> jmp.getIntValue();
> }
>
> Is this another bug surfacing ?

I think it is.

When the element gets cloned, all properties are copied (including the
empty ones), so we don't get a NullProperty, but an empty StringProperty.

I think it is safe to add

---
a/src/core/src/main/java/org/apache/jmeter/testelement/AbstractTestElement.java
+++
b/src/core/src/main/java/org/apache/jmeter/testelement/AbstractTestElement.java
@@ -27,6 +27,7 @@ import java.util.List;
 import java.util.Map;
 import java.util.Set;
 
+import org.apache.commons.lang3.StringUtils;
 import org.apache.jmeter.gui.Searchable;
 import org.apache.jmeter.testelement.property.BooleanProperty;
 import org.apache.jmeter.testelement.property.CollectionProperty;
@@ -240,7 +241,10 @@ public abstract class AbstractTestElement
implements TestElement, Serializable,
 @Override
 public int getPropertyAsInt(String key, int defaultValue) {
 JMeterProperty jmp = getRawProperty(key);
-    return jmp == null || jmp instanceof NullProperty ?
defaultValue : jmp.getIntValue();
+    if (jmp == null || jmp instanceof NullProperty ||
StringUtils.isBlank(jmp.getStringValue())) {
+    return defaultValue;
+    }
+    return jmp.getIntValue();
 }

to handle that case.

Question here is, should we add such logic to the other special handlers
(boolean, etc.), too?

Felix

>
> Regards
>
> On Sun, Dec 20, 2020 at 7:14 PM Antonio Gomes Rodrigues 
> wrote:
>
>> Hi
>>
>> +1 to me to put default timeout
>>
>> Le dim. 20 déc. 2020 à 18:44, Graham Russell  a écrit :
>>
>>> I agree, setting those as defaults is much better than infinite and less
>>> concerning than 10s/60s.
>>>
>>> They probably won't do much to stop people complaining about JMeter
>> hanging
>>> on shutdown,
>>> was this lack of default timeout the root cause of those complaints or is
>>> there something else we can do with that issue?
>>>
>>> On Sun, 20 Dec 2020, 13:02 Philippe Mouawad, >>
>>> wrote:
>>>
 Hello,
 Let’s do that

 Thanks for feedback

 On Sunday, December 20, 2020, Felix Schumacher <
 felix.schumac...@internetallee.de> wrote:

> Am Samstag, den 19.12.2020, 17:10 +0100 schrieb Philippe Mouawad:
>> Hello
>>
>> Currently we don't set neither connect nor read timeout which means
>> they
>> default to infinite.
>> I don't think those are good defaults and users frequently think
>> JMeter is
>> hanging.
>>
>> Shouldn't we set better defaults ?
>>
>> - Connect  to 10s
>> - Read to 60s
> I generally like the idea of setting a default timeout, as infinity
>> is
> a long time to wait for. The times are great, if you know, that
> timeouts are set, but what about the old settings, where the plan
> didn't take those into account?
>
> I think we can be a bit more generous on those timeouts, especially
>> for
> the read timeout. For a non-interactive site, those might be a bit
> short.
>
> In my firefox's about:config the values for connection and response
> timeout are 90 s and 300 s respectively. (I took
> network.http.connection-timeout and network.http.response.timeout)
>
> I think those values should be conservative enough for most of our
> users.
>
>
> Felix
>
>> WDYT ?
>> Thanks
>
 --
 Cordialement.
 Philippe Mouawad.

>


Re: Setting better defaults for HTTP request

2020-12-20 Thread Philippe Mouawad
Hello,

I tried implementing it by modifying in those 2 methods the default value

   -
   
https://github.com/apache/jmeter/blob/master/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/sampler/HTTPSamplerBase.java#L838
   -
   
https://github.com/apache/jmeter/blob/master/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/sampler/HTTPSamplerBase.java#L846


But they are not taken into account, it looks like the method returns 0
because in this code:

public int getPropertyAsInt(String key, int defaultValue) {
JMeterProperty jmp = getRawProperty(key);
=> jmp is not NullProperty nor null, so jmp.getIntValue() is called leading
to 0
return jmp == null || jmp instanceof NullProperty ? defaultValue :
jmp.getIntValue();
}

Is this another bug surfacing ?

Regards

On Sun, Dec 20, 2020 at 7:14 PM Antonio Gomes Rodrigues 
wrote:

> Hi
>
> +1 to me to put default timeout
>
> Le dim. 20 déc. 2020 à 18:44, Graham Russell  a écrit :
>
> > I agree, setting those as defaults is much better than infinite and less
> > concerning than 10s/60s.
> >
> > They probably won't do much to stop people complaining about JMeter
> hanging
> > on shutdown,
> > was this lack of default timeout the root cause of those complaints or is
> > there something else we can do with that issue?
> >
> > On Sun, 20 Dec 2020, 13:02 Philippe Mouawad,  >
> > wrote:
> >
> > > Hello,
> > > Let’s do that
> > >
> > > Thanks for feedback
> > >
> > > On Sunday, December 20, 2020, Felix Schumacher <
> > > felix.schumac...@internetallee.de> wrote:
> > >
> > > > Am Samstag, den 19.12.2020, 17:10 +0100 schrieb Philippe Mouawad:
> > > > > Hello
> > > > >
> > > > > Currently we don't set neither connect nor read timeout which means
> > > > > they
> > > > > default to infinite.
> > > > > I don't think those are good defaults and users frequently think
> > > > > JMeter is
> > > > > hanging.
> > > > >
> > > > > Shouldn't we set better defaults ?
> > > > >
> > > > > - Connect  to 10s
> > > > > - Read to 60s
> > > >
> > > > I generally like the idea of setting a default timeout, as infinity
> is
> > > > a long time to wait for. The times are great, if you know, that
> > > > timeouts are set, but what about the old settings, where the plan
> > > > didn't take those into account?
> > > >
> > > > I think we can be a bit more generous on those timeouts, especially
> for
> > > > the read timeout. For a non-interactive site, those might be a bit
> > > > short.
> > > >
> > > > In my firefox's about:config the values for connection and response
> > > > timeout are 90 s and 300 s respectively. (I took
> > > > network.http.connection-timeout and network.http.response.timeout)
> > > >
> > > > I think those values should be conservative enough for most of our
> > > > users.
> > > >
> > > >
> > > > Felix
> > > >
> > > > >
> > > > > WDYT ?
> > > > > Thanks
> > > >
> > > >
> > >
> > > --
> > > Cordialement.
> > > Philippe Mouawad.
> > >
> >
>


-- 
Cordialement.
Philippe Mouawad.


Re: Setting better defaults for HTTP request

2020-12-20 Thread Antonio Gomes Rodrigues
Hi

+1 to me to put default timeout

Le dim. 20 déc. 2020 à 18:44, Graham Russell  a écrit :

> I agree, setting those as defaults is much better than infinite and less
> concerning than 10s/60s.
>
> They probably won't do much to stop people complaining about JMeter hanging
> on shutdown,
> was this lack of default timeout the root cause of those complaints or is
> there something else we can do with that issue?
>
> On Sun, 20 Dec 2020, 13:02 Philippe Mouawad, 
> wrote:
>
> > Hello,
> > Let’s do that
> >
> > Thanks for feedback
> >
> > On Sunday, December 20, 2020, Felix Schumacher <
> > felix.schumac...@internetallee.de> wrote:
> >
> > > Am Samstag, den 19.12.2020, 17:10 +0100 schrieb Philippe Mouawad:
> > > > Hello
> > > >
> > > > Currently we don't set neither connect nor read timeout which means
> > > > they
> > > > default to infinite.
> > > > I don't think those are good defaults and users frequently think
> > > > JMeter is
> > > > hanging.
> > > >
> > > > Shouldn't we set better defaults ?
> > > >
> > > > - Connect  to 10s
> > > > - Read to 60s
> > >
> > > I generally like the idea of setting a default timeout, as infinity is
> > > a long time to wait for. The times are great, if you know, that
> > > timeouts are set, but what about the old settings, where the plan
> > > didn't take those into account?
> > >
> > > I think we can be a bit more generous on those timeouts, especially for
> > > the read timeout. For a non-interactive site, those might be a bit
> > > short.
> > >
> > > In my firefox's about:config the values for connection and response
> > > timeout are 90 s and 300 s respectively. (I took
> > > network.http.connection-timeout and network.http.response.timeout)
> > >
> > > I think those values should be conservative enough for most of our
> > > users.
> > >
> > >
> > > Felix
> > >
> > > >
> > > > WDYT ?
> > > > Thanks
> > >
> > >
> >
> > --
> > Cordialement.
> > Philippe Mouawad.
> >
>


Re: Setting better defaults for HTTP request

2020-12-20 Thread Graham Russell
I agree, setting those as defaults is much better than infinite and less
concerning than 10s/60s.

They probably won't do much to stop people complaining about JMeter hanging
on shutdown,
was this lack of default timeout the root cause of those complaints or is
there something else we can do with that issue?

On Sun, 20 Dec 2020, 13:02 Philippe Mouawad, 
wrote:

> Hello,
> Let’s do that
>
> Thanks for feedback
>
> On Sunday, December 20, 2020, Felix Schumacher <
> felix.schumac...@internetallee.de> wrote:
>
> > Am Samstag, den 19.12.2020, 17:10 +0100 schrieb Philippe Mouawad:
> > > Hello
> > >
> > > Currently we don't set neither connect nor read timeout which means
> > > they
> > > default to infinite.
> > > I don't think those are good defaults and users frequently think
> > > JMeter is
> > > hanging.
> > >
> > > Shouldn't we set better defaults ?
> > >
> > > - Connect  to 10s
> > > - Read to 60s
> >
> > I generally like the idea of setting a default timeout, as infinity is
> > a long time to wait for. The times are great, if you know, that
> > timeouts are set, but what about the old settings, where the plan
> > didn't take those into account?
> >
> > I think we can be a bit more generous on those timeouts, especially for
> > the read timeout. For a non-interactive site, those might be a bit
> > short.
> >
> > In my firefox's about:config the values for connection and response
> > timeout are 90 s and 300 s respectively. (I took
> > network.http.connection-timeout and network.http.response.timeout)
> >
> > I think those values should be conservative enough for most of our
> > users.
> >
> >
> > Felix
> >
> > >
> > > WDYT ?
> > > Thanks
> >
> >
>
> --
> Cordialement.
> Philippe Mouawad.
>


Re: Setting better defaults for HTTP request

2020-12-20 Thread Philippe Mouawad
Hello,
Let’s do that

Thanks for feedback

On Sunday, December 20, 2020, Felix Schumacher <
felix.schumac...@internetallee.de> wrote:

> Am Samstag, den 19.12.2020, 17:10 +0100 schrieb Philippe Mouawad:
> > Hello
> >
> > Currently we don't set neither connect nor read timeout which means
> > they
> > default to infinite.
> > I don't think those are good defaults and users frequently think
> > JMeter is
> > hanging.
> >
> > Shouldn't we set better defaults ?
> >
> > - Connect  to 10s
> > - Read to 60s
>
> I generally like the idea of setting a default timeout, as infinity is
> a long time to wait for. The times are great, if you know, that
> timeouts are set, but what about the old settings, where the plan
> didn't take those into account?
>
> I think we can be a bit more generous on those timeouts, especially for
> the read timeout. For a non-interactive site, those might be a bit
> short.
>
> In my firefox's about:config the values for connection and response
> timeout are 90 s and 300 s respectively. (I took
> network.http.connection-timeout and network.http.response.timeout)
>
> I think those values should be conservative enough for most of our
> users.
>
>
> Felix
>
> >
> > WDYT ?
> > Thanks
>
>

-- 
Cordialement.
Philippe Mouawad.


Re: Setting better defaults for HTTP request

2020-12-20 Thread Felix Schumacher
Am Samstag, den 19.12.2020, 17:10 +0100 schrieb Philippe Mouawad:
> Hello
> 
> Currently we don't set neither connect nor read timeout which means
> they
> default to infinite.
> I don't think those are good defaults and users frequently think
> JMeter is
> hanging.
> 
> Shouldn't we set better defaults ?
> 
> - Connect  to 10s
> - Read to 60s

I generally like the idea of setting a default timeout, as infinity is
a long time to wait for. The times are great, if you know, that
timeouts are set, but what about the old settings, where the plan
didn't take those into account?

I think we can be a bit more generous on those timeouts, especially for
the read timeout. For a non-interactive site, those might be a bit
short.

In my firefox's about:config the values for connection and response
timeout are 90 s and 300 s respectively. (I took
network.http.connection-timeout and network.http.response.timeout)

I think those values should be conservative enough for most of our
users.


Felix

> 
> WDYT ?
> Thanks



Re: Setting better defaults for HTTP request

2020-12-19 Thread Philippe Mouawad
On Sat, Dec 19, 2020 at 5:40 PM Graham Russell  wrote:

> I think it's a good idea, as long as we make it very obvious how to change
> it in the UI and failure/error message.
>
Yes

>
> Would it affect existing scripts? I can imagine some existing (and indeed
> new) tests might start failing with a 60s read timeout due to some slow
> calls.
>

Yes that's the impact but if we clearly document this, do you think it  is
a problem ?

>
> Graham
>
>
> On Sat, 19 Dec 2020, 16:10 Philippe Mouawad, <
> p.moua...@ubik-ingenierie.com>
> wrote:
>
> > Hello
> >
> > Currently we don't set neither connect nor read timeout which means they
> > default to infinite.
> > I don't think those are good defaults and users frequently think JMeter
> is
> > hanging.
> >
> > Shouldn't we set better defaults ?
> >
> > - Connect  to 10s
> > - Read to 60s
> >
> > WDYT ?
> > Thanks
> > --
> > Regards
> > Philippe M.
> >
>


-- 
Cordialement.
Philippe Mouawad.


Re: Setting better defaults for HTTP request

2020-12-19 Thread Graham Russell
I think it's a good idea, as long as we make it very obvious how to change
it in the UI and failure/error message.

Would it affect existing scripts? I can imagine some existing (and indeed
new) tests might start failing with a 60s read timeout due to some slow
calls.

Graham


On Sat, 19 Dec 2020, 16:10 Philippe Mouawad, 
wrote:

> Hello
>
> Currently we don't set neither connect nor read timeout which means they
> default to infinite.
> I don't think those are good defaults and users frequently think JMeter is
> hanging.
>
> Shouldn't we set better defaults ?
>
> - Connect  to 10s
> - Read to 60s
>
> WDYT ?
> Thanks
> --
> Regards
> Philippe M.
>