Skip to content

test: fix some flakes that might relate to #5104.#5211

Merged
htuch merged 1 commit into
envoyproxy:masterfrom
htuch:fix-ipb6-flakes-2
Dec 4, 2018
Merged

test: fix some flakes that might relate to #5104.#5211
htuch merged 1 commit into
envoyproxy:masterfrom
htuch:fix-ipb6-flakes-2

Conversation

@htuch
Copy link
Copy Markdown
Member

@htuch htuch commented Dec 4, 2018

  • Need to be prepared to handle disconnection when resetting the server in
    HttpIntegrationTest::testRouterHeaderOnlyRequestAndResponse.

  • HttpIntegrationTest::testUpstreamDisconnectWithTwoRequests was racy. It was possible before for
    both requests to be load balanced and sent to the first upstream connection. When the 200 for the
    first request is received, we would then disconnect the upstream. This would then 503 back.

Risk Level: Low
Testing: 1k runs on internal build farm, most flakes disappeared.

Signed-off-by: Harvey Tuch htuch@google.com

* Need to be prepared to handle disconnection when resetting the server in
  HttpIntegrationTest::testRouterHeaderOnlyRequestAndResponse.

* HttpIntegrationTest::testUpstreamDisconnectWithTwoRequests was racy. It was possible before for
  both requests to be load balanced and sent to the first upstream connection. When the 200 for the
  first request is received, we would then disconnect the upstream. This would then 503 back.

Risk Level: Low
Testing: 1k runs on internal build farm, most flakes disappeared.

Signed-off-by: Harvey Tuch <htuch@google.com>
@htuch
Copy link
Copy Markdown
Member Author

htuch commented Dec 4, 2018

Resuming #5172 here. BTW, this doesn't fix all flakes, just the most common. I'll hand off to the current on-call to continue the saga.

Copy link
Copy Markdown
Member

@mattklein123 mattklein123 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very nice, thanks.

IntegrationCodecClientPtr codec_client2 = makeHttpConnection(lookupPort("http"));
auto response2 = codec_client2->makeRequestWithBody(default_request_headers_, 512);

// Validate one request active, the other pending.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

optional nit: Validate that one request is active, the other pending.
(deflaking CI is more important so feel free to land as-is)

Copy link
Copy Markdown
Contributor

@alyssawilk alyssawilk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome, thanks both for deflaking CI and sorting out how to make this test reliably do what we want it to do.

@htuch htuch merged commit 4087f80 into envoyproxy:master Dec 4, 2018
@htuch htuch deleted the fix-ipb6-flakes-2 branch December 4, 2018 20:47
fredlas pushed a commit to fredlas/envoy that referenced this pull request Mar 5, 2019
…xy#5211)

* Need to be prepared to handle disconnection when resetting the server in
  HttpIntegrationTest::testRouterHeaderOnlyRequestAndResponse.

* HttpIntegrationTest::testUpstreamDisconnectWithTwoRequests was racy. It was possible before for
  both requests to be load balanced and sent to the first upstream connection. When the 200 for the
  first request is received, we would then disconnect the upstream. This would then 503 back.

Risk Level: Low
Testing: 1k runs on internal build farm, most flakes disappeared.

Signed-off-by: Harvey Tuch <htuch@google.com>
Signed-off-by: Fred Douglas <fredlas@google.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants