Skip to content

init: order dynamic resource initialization to make RTDS always be first. Take 2.#10989

Merged
mattklein123 merged 4 commits intoenvoyproxy:masterfrom
yanavlasov:xds-order-p2
May 5, 2020
Merged

init: order dynamic resource initialization to make RTDS always be first. Take 2.#10989
mattklein123 merged 4 commits intoenvoyproxy:masterfrom
yanavlasov:xds-order-p2

Conversation

@yanavlasov
Copy link
Copy Markdown
Contributor

Commit Message:
Order dynamic resource initialization such that RTDS is completely initialized before starting to load rest of xDS resources.

Additional Description:
This PR puts back the original commit with xDS ordering and fixes the bug where cluster manager did not handle the case of asynchronous completion of primary cluster initialization.

Risk Level: High (changes to xDS and cluster initialization)
Testing: Unit Tests, Integration Tests and repro case
Docs Changes: N/A
Release Notes: N/A
Fixes #9709

…rst. Take 2.

Signed-off-by: Yan Avlasov <yavlasov@google.com>
…ization

Signed-off-by: Yan Avlasov <yavlasov@google.com>
@rgs1
Copy link
Copy Markdown
Member

rgs1 commented Apr 29, 2020

Giving it a try now.

@rgs1
Copy link
Copy Markdown
Member

rgs1 commented Apr 29, 2020

@yanavlasov so far so good 👍

@yanavlasov yanavlasov assigned snowp, mattklein123 and htuch and unassigned snowp May 1, 2020
Copy link
Copy Markdown
Contributor

@snowp snowp left a comment

Choose a reason for hiding this comment

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

Thanks this looks like a reasonable fix to the bug, just a couple comments

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 LGTM other than existing small comments.

/wait

enum class State {
// Initial state. During this state all static clusters are loaded. Any primary clusters
// are immediately initialized.
// are immediately begin initialization.
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.

? I think what was there before made more sense?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I was actually confused by this since 'immediately initializedmeant to meimmediately complete initialization` (and I have also assumed that initialized cluster have completed discovery of endpoints). Which is not the case for DNS based clusters these with health checks. I can revert this if I'm confusing the meaning of this statement.

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.

Ah OK, I think just a grammar issue (remove "are"):
"... immediately begin initialization"

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

All your base are belong to us

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

Signed-off-by: Yan Avlasov <yavlasov@google.com>
mattklein123
mattklein123 previously approved these changes May 4, 2020
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!

Signed-off-by: Yan Avlasov <yavlasov@google.com>
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!

@mattklein123 mattklein123 merged commit f0ebefc into envoyproxy:master May 5, 2020
@yanavlasov yanavlasov deleted the xds-order-p2 branch December 16, 2022 17:25
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.

RTDS should be fully warmed before ClusterManager initialization

5 participants