-
Notifications
You must be signed in to change notification settings - Fork 2
transition to oos from oos for load balanced multinode rpc #66
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
👋 yashnevatia, thanks for creating this pull request! To help reviewers, please consider creating future PRs as drafts first. This allows you to self-review and make any final changes before notifying the team. Once you're ready, you can mark it as "Ready for review" to request feedback. Thanks! |
multinode/node_lifecycle.go
Outdated
| if n.isLoadBalancedRPC { | ||
| n.declareUnreachable() | ||
| // in case all rpcs behind a load balanced rpc are out of sync, we need to declare out of sync to prevent false transition to alive | ||
| n.declareOutOfSync(syncStatusNoNewHead) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
pass syncIssues to keep track of other issues that RPC might need to resolve before transitioning back to alive
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
multinode/node_fsm.go
Outdated
| return | ||
| } | ||
| switch n.state { | ||
| case nodeStateAlive: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: it should be ok to relax the constraint and allow self-transition even if RPC is not isLoadBalancedRPC. Just to simplify logic.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Description
Requires Dependencies
Resolves Dependencies