Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Using perUserNameResolution causes all DNS queries to fail #3318

Closed
abrainwood opened this issue Jun 14, 2017 · 6 comments
Closed

Using perUserNameResolution causes all DNS queries to fail #3318

abrainwood opened this issue Jun 14, 2017 · 6 comments

Comments

@abrainwood
Copy link

Hi, I need to use perUserNameResolution for testing ELB scaling (http://gatling.io/docs/2.2/whats_new/2.2/#hostname-resolution) but anytime I set the property, all requests fail with the error:

j.n.UnknownHostException: failed to resolve 'example.com'. Exceeded max queries per resolve 6

I've tried it on OSX, Linux and Windows on different networks all with the same result. I've also tried increasing the dns maxQueriesPerResolve and queryTimeout config settings significantly but still can't get a single request to succeed.

I'm running Java 8, Gatling 2.2.5. Here's a basic test to reproduce:

val httpProtocol = http
    .baseURL("https://www.google.com")
    .perUserNameResolution

val scn = scenario("perUserNameResolutionTest")
    .repeat(5) {
      exec(http("test")
        .get("/")
        .check(status.is(200)))
    }

setUp(scn.inject(atOnceUsers(1))).protocols(httpProtocol)
@slandelle
Copy link
Member

It could have something to do with your ISP, or it could be an issue with the Netty DNS codec fork/backport in AHC 2.0 that Gatling 2.2 uses.
I no longer maintain this fork as original code changes too much and in ways it makes it too hard to make it compatible with Netty 4.0.

I tested with FrontLine that uses Gatling 3/Netty 4.1 and don't have the issue:

================================================================================
2017-06-14 07:11:36                                           2s elapsed
---- Requests ------------------------------------------------------------------
> Global                                                   (OK=10     KO=0     )
> test                                                     (OK=5      KO=0     )
> test Redirect 1                                          (OK=5      KO=0     )

---- perUserNameResolutionTest -------------------------------------------------
[##########################################################################]100%
          waiting: 0      / active: 0      / done:1     
================================================================================

Let me close this for now as I can't reproduce.

@abrainwood
Copy link
Author

Hey @slandelle it's not my ISP as I tried it across three different ISPs and three different machines. Did you try it on Gatling 2.2.5 or are you saying the fix for me is to move to Gatling 3?

@slandelle
Copy link
Member

I haven't tried with 2.2.5 yet. If it ends up being a bug that's been already fixed in Netty 4.1, I won't be able to backport in Gatling 2, so indeed, Gatling 3 it is.

@ealphonse
Copy link

Hello, I cannot test yet with Gatling 3, but just to confirm I have the same issue with perUserNameResolution in 2.2.5

@amithgeorge
Copy link

@slandelle The issue still exists with gatling 2.3.1. When is gatling 3 being released? Or any alternative for getting this to work?

@slandelle
Copy link
Member

slandelle commented Jun 6, 2018

The issue still exists with gatling 2.3.1.

Reproducer please. Otherwise ¯_(ツ)_/¯

When is gatling 3 being released?

We'd like to have a first release candidate in July. We still have to complete initial HTTP/2 support and have a lot of documentation work to do, so no promise then.

Or any alternative for getting this to work?

Compile master from sources.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

4 participants