[outlier detection] hack to prevent OD from working with pick_first#33336
Merged
Conversation
eugeneo
approved these changes
Jun 2, 2023
markdroth
added a commit
to markdroth/grpc
that referenced
this pull request
Jun 5, 2023
…rpc#33336) As per discussion in grpc#32967.
This was referenced Jun 5, 2023
ctiller
pushed a commit
that referenced
this pull request
Jun 5, 2023
Fixes a problem seen when importing #33336.
eugeneo
pushed a commit
to eugeneo/grpc
that referenced
this pull request
Jun 7, 2023
…rpc#33336) As per discussion in grpc#32967.
eugeneo
pushed a commit
to eugeneo/grpc
that referenced
this pull request
Jun 7, 2023
…33349) Fixes a problem seen when importing grpc#33336.
eugeneo
pushed a commit
to eugeneo/grpc
that referenced
this pull request
Jun 7, 2023
…rpc#33336) As per discussion in grpc#32967.
eugeneo
pushed a commit
to eugeneo/grpc
that referenced
this pull request
Jun 7, 2023
…33349) Fixes a problem seen when importing grpc#33336.
mario-vimal
pushed a commit
to mario-vimal/grpc
that referenced
this pull request
Jun 15, 2023
…rpc#33336) As per discussion in grpc#32967.
mario-vimal
pushed a commit
to mario-vimal/grpc
that referenced
this pull request
Jun 15, 2023
…33349) Fixes a problem seen when importing grpc#33336.
markdroth
added a commit
that referenced
this pull request
Jun 26, 2023
#33340) Currently, the outlier_detection policy reports ejection by intercepting a subchannel's raw connectivity state watch. In the dualstack backend design, we will instead want to report ejection via the health watch. This PR is a first step toward that goal. Specific changes in this PR: - Add `type()` method to `InternalSubchannelDataWatcherInterface`, to make it possible for LB policies to intercept data watchers. - Use that mechanism in the outlier_detection policy to report ejection both via raw connectivity state watches and via health watches. The hack to prevent outlier_detection from working with pick_first from #33336 has been changed to affect only the raw connectivity watch, not the health watch. - Change health check client to fall back to reporting the raw connectivity state if client-side health checking is not enabled. This will allow pick_first to unconditionally start a health watch when it is running under a petiole policy, which will be a no-op if neither health checking nor outlier detection are configured. Once we are done changing all of the petiole policies to delegate to pick_first, we will remove the code that allows outlier_detection to work via the raw connectivity state, so it will work only via the health watch.
markdroth
added a commit
that referenced
this pull request
Jun 28, 2023
…state (#33427) More work on the dualstack backend design: - Now that all petiole policies have been changed to delegate to pick_first, outlier detection no longer needs to eject via the subchannel's raw connectivity state; it can now eject only via the health state. See #33340. - This also removes the now-unnecessary hack to explicitly disable outlier detection in pick_first. See #33336.
mario-vimal
pushed a commit
to mario-vimal/grpc
that referenced
this pull request
Jul 13, 2023
grpc#33340) Currently, the outlier_detection policy reports ejection by intercepting a subchannel's raw connectivity state watch. In the dualstack backend design, we will instead want to report ejection via the health watch. This PR is a first step toward that goal. Specific changes in this PR: - Add `type()` method to `InternalSubchannelDataWatcherInterface`, to make it possible for LB policies to intercept data watchers. - Use that mechanism in the outlier_detection policy to report ejection both via raw connectivity state watches and via health watches. The hack to prevent outlier_detection from working with pick_first from grpc#33336 has been changed to affect only the raw connectivity watch, not the health watch. - Change health check client to fall back to reporting the raw connectivity state if client-side health checking is not enabled. This will allow pick_first to unconditionally start a health watch when it is running under a petiole policy, which will be a no-op if neither health checking nor outlier detection are configured. Once we are done changing all of the petiole policies to delegate to pick_first, we will remove the code that allows outlier_detection to work via the raw connectivity state, so it will work only via the health watch.
mario-vimal
pushed a commit
to mario-vimal/grpc
that referenced
this pull request
Jul 13, 2023
…state (grpc#33427) More work on the dualstack backend design: - Now that all petiole policies have been changed to delegate to pick_first, outlier detection no longer needs to eject via the subchannel's raw connectivity state; it can now eject only via the health state. See grpc#33340. - This also removes the now-unnecessary hack to explicitly disable outlier detection in pick_first. See grpc#33336.
4 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
As per discussion in #32967.
CC @ejona86 @dfawley