How come OnComplete was sent with no status?!

I receive the above error occasionally when running tests at high loads.

Should I be concerned?

It seems you’re the first to fall in a case where Gatling isn’t supposed to go : https://github.com/gatling/gatling/blob/master/gatling-http/src/main/scala/io/gatling/http/ahc/AsyncHandlerActor.scala#L293

It looks like an AHC issue, which I’m leaving to Stéphane, who know his way around AHC much better than I am :slight_smile:

I think I have this fixed: https://github.com/gatling/gatling/issues/2124

I have faced the same error message “How come OnComplete was sent with no status?!” at version 2.1.7.

Could you provide a reproducer, please?

Hi

Here is the script, input values - users = 6000, time = 360.

As you understand I couldn’t give you access to our environment.

class Test extends BaseTest {
val httpProtocol = http
.baseURL(config.getString(“url”))
.userAgentHeader(“Mozilla/5.0 (Windows NT 6.1; WOW64; rv:36.0) Gecko/20100101 Firefox/36.0”)
.contentTypeHeader(“application/json; charset=UTF-8”)
.connection(“keep-alive”)
.shareConnections
.disableWarmUp

var addUsers = config.getInt(“users”)/10
var intervalTime = config.getInt(“time”)/10

var steps = new ListBufferInjectionStep
for {
i ← 1 to 10
} steps += constantUsersPerSec(addUsers*i) during (intervalTime minutes)

val scn = scenario(“Amazon scaling test.”)
.exec(http(“promotions search”)
.get("/customer/promotions/search")
.check(status.is(200)))
setUp(scn.inject( steps )).protocols(httpProtocol)
}

Sorry, but the script alone doesn’t help. This is likely to be a race condition in the HTTP engine, and I really need to be able to reproduce, hence access the system under test.