-
Notifications
You must be signed in to change notification settings - Fork 414
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
Removed metastore -> controlplane event flow via the EventBroker. #3880
Conversation
2c24467
to
7bd76eb
Compare
ba4f319
to
6ec7a6c
Compare
The two internal actors are replaced by two internal states. Their execution is not concurrent anymore, but we the code and the flow is simplified and we avoid some race conditions. The control plane is not getting the update notify signal through the broker anymore. The Notify RPC is entirely removed. Most of the test in the indexer scheduler become Control plane tests.
6ec7a6c
to
05ee6ed
Compare
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.
Approved, but let's replug the delete source thingy.
Ok(Ok(response)) | ||
Ok(self | ||
.ingest_controller | ||
.get_open_shards(request, ctx.progress()) |
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.
I've renamed this event GetOrCreateOpenShardsRequest
to make it clear that it may create new shards. When it does, the indexing scheduler should be notified.
/// Subscribes to various metastore events and forwards them to the control plane using the inner | ||
/// client. The actual subscriptions are set up in `quickwit-serve`. | ||
#[derive(Debug, Clone)] | ||
pub struct ControlPlaneEventSubscriber(ControlPlaneServiceClient); |
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.
Arg. I'm adding two callbacks in my PR :D
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.
We can readd whatever is needed.
I think it was never plugged. |
cdd98ea
to
9b8ce21
Compare
Refactoring of the control plane.
The two internal actors are replaced by two internal states.
Their execution is not concurrent anymore,
but we the code and the flow is simplified and we avoid some race conditions.
The control plane is not getting the update notify signal through the
broker anymore.
The Notify RPC is entirely removed.
Most of the test in the indexer scheduler become Control plane tests.