How to handle temporary response code 0 (no response) .

Hello gatling experts.

I try to check in loop if there is a Service Node connection ready.(F5 should connect it)
highlighted row showing following error

(overloaded method value exec with alternatives: (scenario: io.gatling.core.structure.ScenarioBuilder)io.gatling.core.structure.ChainBuilder (chains:
Iterable[io.gatling.core.structure.ChainBuilder])io.gatling.core.structure.ChainBuilder (chains: Iterator[io.gatling.core.structure.ChainBuilder])io.gatling.core.structure.ChainBuilder (chains:
io.gatling.core.structure.ChainBuilder*)io.gatling.core.structure.ChainBuilder (actionBuilder: io.gatling.core.action.builder.ActionBuilder)io.gatling.core.structure.ChainBuilder (sessionFunction:
io.gatling.core.session.Session => io.gatling.core.validation.Validation[io.gatling.core.session.Session])io.gatling.core.structure.ChainBuilder cannot be applied to (Any))

If I remark try catch module every request will get "java.io.IOException: Remotely closed " response until connection will established .

Do you have any idea to handle this issue?
Thanks for advance.

val connectingModeGroup = group(“Connecting Mode Ready Group”) {
// asLongAs(session => (session(“unit”).as[String].contains(“None”) || session(“active”).as[String].contains(“None”) || session(“sub”).as[String].contains(“None”)), exitASAP=false){
asLongAs( session => session(“vse_Puchkom”).as[String].contains(“None”), exitASAP = false) {
exec(UserActions.getConnectingModeIndicator).pause(1 seconds)
}
}

val getConnectingModeIndicator =

try {
http(“Check Connecting Mode is ready”)
.get(""“http://xxxxxx.${username}project.${username}.”"" + domain + “”"/in/flow/ping""")
.check(regex(""“xxxxxx.${username}project.${username}.in.flow”"").optional.saveAs(“Is Ready”))
.check(status.in(Seq(200, 0)))
} catch {
case ioe: IOException => {
println(""“Trying to ping Node xxxxxx.${username}project.${username}.in.flow”"")
}
}

Remotely closed” means that the connection could be established, but the system under test closed it when the client (Gatling) tried to write some requests on the wire. What’s the ratio of those exceptions, relative to the number of requests your send?

Your code can’t work. Gatling DSL components are builders = definitions. They are not the things that actually run.

Thanks for quick response Stephane.
I look for something like in loadrunner/jmeter that gives ability to pass transaction implicitly. It is only to keep final report clean.
This is temporary status code,that after several loop entries changes to 200 ,and regex finaly finds what I am looking for.

Stephane its OK.
.silent option works fine for we.

Hi Gregory,

Could you please explain what this 0 status code is about?
Is this something standard for BigIP? Is this something specific to your application? Does this happen for every virtual users, or just the first ones?

In my system user can create its own application and deploy it to runtime invironment. F5 server allocates port ,domain … For user application .once application deployed, user can connect to his application and debug ,run, do whatever.

I needed to know when application is deployed and started.

If deploy process still running,connection to it still not established , so the response looks like:

0 NO RESPONSE.

Until it became available and returns in response status 200ok and application name.

All clear, now :slight_smile:

So yes, .silent is probably the best solution.