Skip to content

Conversation

oschaaf
Copy link
Member

@oschaaf oschaaf commented Feb 12, 2021

  • don't set up a drain callback when there are no active connections
  • set up a timer that will cap the amount of time we wait for the pool
    to drain.
  • disable latency measurement when commencing the drain procedure, as
    by that time we are no longer interested in it, and in particular
    don't want to hear about any warnings issued by the Statistic
    implementation about recorded values being too large.

Fixes #627

Signed-off-by: Otto van der Schaaf ovanders@redhat.com

@oschaaf oschaaf added the waiting-for-review A PR waiting for a review. label Feb 12, 2021
- don't set up a drain callback when there are no active connections
- set up a timer that will cap the amount of time we wait for the pool
  to drain.
- disable latency measurement when commencing the drain procedure, as
  by that time we are no longer interested in it, and in particular
  don't want to hear about any warnings issued by the Statistic
  implementation about recorded values being too large.

Fixes envoyproxy#627

Signed-off-by: Otto van der Schaaf <ovanders@redhat.com>
@oschaaf
Copy link
Member Author

oschaaf commented Feb 12, 2021

I think I may have an idea for how to add an integration tests for this, but the problem is that this would rely on timing,
and I'm a bit hesitant to further increase proneness to flakes there. I wonder if we could get our hands on a CI environment that will itself have a more steady speed of execution, some of the integration tests are inherently time sensitive.
The other way to solve this would be to use very long timings, but when we go down that road then the integration tests are going to take a loong time to complete, and it will hurt in cases where that is not needed.

Otto van der Schaaf added 5 commits February 13, 2021 12:01
Signed-off-by: Otto van der Schaaf <ovanders@redhat.com>
Signed-off-by: Otto van der Schaaf <ovanders@redhat.com>
Signed-off-by: Otto van der Schaaf <ovanders@redhat.com>
- Attempt to fix asan-detected leak
- Add more timing slack to integration test, as CI needs it.

Signed-off-by: Otto van der Schaaf <ovanders@redhat.com>
Signed-off-by: Otto van der Schaaf <ovanders@redhat.com>
@oschaaf oschaaf added the P0 Highest priority label Feb 14, 2021
@mum4k
Copy link
Collaborator

mum4k commented Feb 15, 2021

Agreed that the integration test may be brittle. Arguably we don't really have sufficient coverage just from the unit test, since it heavily relies on mocks. Therefore the addition of the integration test is still the right choice. I am assuming it was executed it a good amount of times and it isn't inherently flaky.

Merging in since it is marked as p0.

@mum4k mum4k merged commit 15b86be into envoyproxy:main Feb 15, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
P0 Highest priority waiting-for-review A PR waiting for a review.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Nighthawk may hang on exit
2 participants