-
Notifications
You must be signed in to change notification settings - Fork 336
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
Update indexing settings #4868
Update indexing settings #4868
Conversation
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.
A few notes on this early draft
@@ -54,7 +54,7 @@ use tracing::{info, instrument, warn}; | |||
#[derive(Default, Debug)] | |||
pub(crate) struct ControlPlaneModel { | |||
index_uid_table: FnvHashMap<IndexId, IndexUid>, | |||
index_table: FnvHashMap<IndexUid, IndexMetadata>, | |||
index_source_table: FnvHashMap<IndexUid, HashMap<SourceId, SourceConfig>>, |
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 refactored the ControlPlaneModel
because:
- it is more explicit to only store the sources in the state as the rest of the
IndexMetadata
isn't relevant - if we kept the entire
IndexMetadata
in the state, we would need to also proxy the update calls through the control plane to keep it in sync
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.
Please, revert. When we will support doc mapping updates, we certainly want to know about the whole IndexMetadata
and proxy updates via the cp.
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.
Ok I'll revert. Don't you think it would be better to have a smaller struct that only contains the data that is really useful to the control plane? It would make it easier to read what the control plane does. Nit, it would also make it possible to update the control plane state only for updates that really impact the used state.
quickwit/quickwit-integration-tests/src/tests/index_update_tests.rs
Outdated
Show resolved
Hide resolved
85ac73c
to
b79c240
Compare
b79c240
to
abde4c6
Compare
@@ -54,7 +54,7 @@ use tracing::{info, instrument, warn}; | |||
#[derive(Default, Debug)] | |||
pub(crate) struct ControlPlaneModel { | |||
index_uid_table: FnvHashMap<IndexId, IndexUid>, | |||
index_table: FnvHashMap<IndexUid, IndexMetadata>, | |||
index_source_table: FnvHashMap<IndexUid, HashMap<SourceId, SourceConfig>>, |
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.
Please, revert. When we will support doc mapping updates, we certainly want to know about the whole IndexMetadata
and proxy updates via the cp.
97b0271
to
c98ed8e
Compare
It's the next thing in my backlog after SQS. It needs a pretty big rebase and quite a few changes we agreed upon. |
This is superseeded by #5078 |
Description
How was this PR tested?
Unit tests and validated that swagger works fine.