Skip to content
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

feat: implement grpc reconnect for inprocess mode (WIP) #1150

Draft
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

warber
Copy link
Contributor

@warber warber commented Jan 10, 2025

This PR

  • adds this new feature

Related Issues

Fixes #1234523

Notes

Follow-up Tasks

How to test

@warber warber force-pushed the feat/grpc-reconnect-in-process branch 3 times, most recently from 606db9f to 37a13ec Compare January 10, 2025 12:14
@warber warber force-pushed the feat/grpc-reconnect-in-process branch from 37a13ec to 3f774f4 Compare January 10, 2025 12:46
@warber
Copy link
Contributor Author

warber commented Jan 10, 2025

So this implementation "almost" works, as it conforms to the specification by emitting stale and error events on connection loss. However, there's one issue: when disconnecting flagd, a STALE event is sent immediately (triggered by the common grpc connector), which is correct. However, an ERROR event is also emitted (triggered by this line). This can be fixed by simply removing this line. Given that the responsibility of triggering connectivity events now lies more with the common GrpcConnector component, does it still make sense to maintain a state inside the Flagstore? So i am actually thinking whether it can be simplified to just give back flag data if it got some from the stream and that's more or less it. wdyt @toddbaert 🤔

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.

5 participants