Skip to content

init: replace old init manager with with new "safe" init manager#6360

Merged
mattklein123 merged 6 commits intoenvoyproxy:masterfrom
mergeconflict:safe_init_conversion
Mar 27, 2019
Merged

init: replace old init manager with with new "safe" init manager#6360
mattklein123 merged 6 commits intoenvoyproxy:masterfrom
mergeconflict:safe_init_conversion

Conversation

@mergeconflict
Copy link
Copy Markdown

Description: Replace the old init manager with the new "safe" init manager and update all use sites.
Risk Level: Low
Testing: All tests pass, including a new integration test to cover the specific crash observed in #6116.
Docs Changes: n/a
Release Notes: n/a
Fixes #6116

Signed-off-by: Dan Rosen mergeconflict@google.com

Signed-off-by: Dan Rosen <mergeconflict@google.com>
@mergeconflict
Copy link
Copy Markdown
Author

/review @htuch @mattklein123 @lizan

This is a mostly mechanical, uninteresting set of changes. I've deleted the old Init, renamed SafeInit back to Init, and updated everything to use the new stuff. The only somewhat interesting change is the new ADS integration test.

@mergeconflict
Copy link
Copy Markdown
Author

/retest

@repokitteh-read-only
Copy link
Copy Markdown

🙀 failed invoking rebuild of ci/circleci: compile_time_options: 500 Internal Server Error

🐱

Caused by: a #6360 (comment) was created by @mergeconflict.

see: more, trace.

@mattklein123 mattklein123 self-assigned this Mar 22, 2019
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 cool stuff. A few comments from a quick skim, will defer to @htuch for full review. Very nice!

Signed-off-by: Dan Rosen <mergeconflict@google.com>
@htuch htuch added the waiting label Mar 25, 2019
Signed-off-by: Dan Rosen <mergeconflict@google.com>
Signed-off-by: Dan Rosen <mergeconflict@google.com>
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.

Thanks looks great to me. Great work! I will defer to @htuch who might want to take a pass.

Copy link
Copy Markdown
Member

@htuch htuch left a comment

Choose a reason for hiding this comment

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

LGTM modulo Matt's comments and those here.

/wait

makeSingleRequest();
}

// Regression test for the use-after-free crash when a listener awaiting an RDS update is destroyed
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Can you move this to another PR? I think it doesn't logically belong with this. Ideally, the changes in this PR are all mechanical.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

I could, and you're right, these are mostly mechanical changes ... but I want to try to push back a little. The fix for #6116 is in this PR, and I feel like it's a little weird for the regression test to land separately.

Dan Rosen added 2 commits March 26, 2019 14:21
Signed-off-by: Dan Rosen <mergeconflict@google.com>
Signed-off-by: Dan Rosen <mergeconflict@google.com>
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.

LGTM, thank you!

Common::CallbackManager<> update_callback_manager_;

private:
void initialize();
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

nit: newline between methods and members.

Copy link
Copy Markdown
Member

@htuch htuch left a comment

Choose a reason for hiding this comment

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

LGTM, thanks!

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