Error in encoding query parameter in recent version of Gatling ?

Hi,

I have a stress scenario against Moodle who work correctly with gatling 1.4.3.

I just try it with gatling version 1.5.1 and 1.5.0. With this two versions, some of my requests failed.
All the incriminate requests have one thing in common. They used a query string with some parameters,
but unlike parameters transmit by a form (script.php?param1=val1&param2=val2), they look like script.php?val1&val2.
After looking a the RFC (#3986), this form of URL seem valid to me.

If I look in the log of my http server, I see that the URL of the request has been modified.

For example :

.get("/moodle/theme/yui_combo.php?3.7.3/build/simpleyui/simpleyui-min.js&3.7.3/build/loader/loader-min.js")

generate this request in the http server log :
“GET /moodle/theme/yui_combo.php?3.7.3%2Fbuild%2Fsimpleyui%2Fsimpleyui-min.js=&3.7.3%2Fbuild%2Floader%2Floader-min.js= HTTP/1.1”

Please, note the presence of an equal sign after every parameters.
It’s seem that Gatling convert the request “GET /foo/script.php?val1&val2” in “GET /foo/script.php?val1=&val2=”. As if a parameter in a URL must
respect the syntax “name=value”.

Is it a bug in Gatling ? Or I miss something ?

Best regards.
David.

Hi David,

Indeed, that’s probably a bug. So basically, the problem is only the extra “=” in “GET /foo/script.php?val1=&val2=”, right ?

Let me see where it comes from.
Nicolas

IIRC, this was a change in AHC and there’s been some discussion about making this configurable.

Here’s the change on AHC: https://github.com/AsyncHttpClient/async-http-client/issues/234
I’ve reopened this issue so that we can properly fix it.

OK. Thank you.

I will wait the modification of AHC, before upgrading gatling.

Best regards.
David.

Just to let you know that the problem has been fixed and will be shipped in 1.5.2 (to be released probably in 2 weeks, but you can build it yourself if you want).

Regards,

Stéphane