Skip to content

make shutdowns less graceless#560

Merged
hawkw merged 2 commits intomaster-tokio-0.2from
eliza/fix-graceless-shutdown
Jun 12, 2020
Merged

make shutdowns less graceless#560
hawkw merged 2 commits intomaster-tokio-0.2from
eliza/fix-graceless-shutdown

Conversation

@hawkw
Copy link
Contributor

@hawkw hawkw commented Jun 12, 2020

Although the Drain type which powers the proxy's graceful shutdown
machinery was updated in #482, we were not actually triggering graceful
shutdowns. This is because the Hyper ConnectionFuture was wrapped in a
compatibility adapter which did not allow access to the inner future so
that we could call the graceful_shutdown method on it. When we updated
to the std::future version of Hyper, the graceful shutdown code was
not re-enabled.

This branch puts back the call to ConnectionFuture::graceful_shutdown.
It also re-enables the shutdown integration tests, which pass now.

Signed-off-by: Eliza Weisman [email protected]

@hawkw hawkw requested review from kleimkuhler and olix0r June 12, 2020 18:12
@hawkw hawkw self-assigned this Jun 12, 2020
Copy link
Contributor

@kleimkuhler kleimkuhler left a comment

Choose a reason for hiding this comment

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

👍

@hawkw hawkw merged commit 33a58dd into master-tokio-0.2 Jun 12, 2020
@hawkw hawkw deleted the eliza/fix-graceless-shutdown branch June 12, 2020 20:47
hawkw added a commit that referenced this pull request Jun 14, 2020
This branch re-enables all the proxy integration tests that hadn't
already been turned back on. 

It turns out that almost everything just works!

Depends on #560

Signed-off-by: Eliza Weisman <[email protected]>

* remove ENOTCONNs from HTTP transport metrics tests

The way Hyepr handles disconnections has changed, so we no logner see
this errno. This is actually more consistent with the way clean
disconnections are handled for raw TCP traffic, anyway!

Signed-off-by: Eliza Weisman <[email protected]>

* put back upgrade service that i apparently forgot

Signed-off-by: Eliza Weisman <[email protected]>

* cargo.lock

* fix zero length `read`s in transparency tests

whoops --- `Vec::clear` sets the length to 0, so no bytes are read into
the buffer. fixed this by just allocating a new vec like the tests used
to do, it's fine, they're just tests.

Signed-off-by: Eliza Weisman <[email protected]>

Co-authored-by: Oliver Gould <[email protected]>
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.

3 participants