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

Fixed the serialize deserialization of the indexing state to include #4180

Merged
merged 5 commits into from
Nov 22, 2023

Conversation

fulmicoton
Copy link
Contributor

@fulmicoton fulmicoton commented Nov 22, 2023

Fixed the serialize deserialization of the indexing state to include
shard lists.

Before this, there was no notion of shards and indexers were just
exposing the number of pipelines per source_uid.

With ingest v2, the list of shard is part of indexing tasks, and the
control plane wants to diff against it.

The serialization format goes
`[1,2][3]` to express two pipelines with respectively shard [1,2] and
`[3]`.

For a source that does not have notion of shards, like kafka, two
pipelines simply look as follows: `[][]`

Also took it as an opportunity to clean up the code
and increase the test coverage.
 
I think we also used to not skip over tombstoned entries

Related with #4174

@fulmicoton fulmicoton force-pushed the issue/4174-indexv2-apply-plan-loop branch 7 times, most recently from 040739d to e43e7ca Compare November 22, 2023 06:22
@fulmicoton fulmicoton force-pushed the issue/4174-indexv2-apply-plan-loop branch from e43e7ca to e62b6cb Compare November 22, 2023 06:31
@fulmicoton fulmicoton changed the title first stab Fixed the serialize deserialization of the indexing state to include Nov 22, 2023
@fulmicoton fulmicoton marked this pull request as draft November 22, 2023 08:25
@fulmicoton fulmicoton force-pushed the issue/4174-indexv2-apply-plan-loop branch from e62b6cb to 7a9f4a6 Compare November 22, 2023 08:27
@fulmicoton fulmicoton marked this pull request as ready for review November 22, 2023 08:32
@fulmicoton fulmicoton force-pushed the issue/4174-indexv2-apply-plan-loop branch 4 times, most recently from 4d9d2ce to 2f1a332 Compare November 22, 2023 08:37
shard lists.

Before this, there was no notion of shards and indexers were just
exposing the number of pipelines per source_uid.

With ingest v2, the list of shard is part of indexing tasks, and the
control plane wants to diff against it.

The serialization format goes
`[1,2][3]` to express two pipelines with respectively shard [1,2] and
`[3]`.

For a source that does not have notion of shards, like kafka, two
pipelines simply look as follows: `[][]`

Also took it as an opportunity to clean up the code
and increase the test coverage.

Related #4174
@fulmicoton fulmicoton force-pushed the issue/4174-indexv2-apply-plan-loop branch from 2f1a332 to 35d7cb4 Compare November 22, 2023 09:00
quickwit/quickwit-cluster/src/cluster.rs Show resolved Hide resolved
quickwit/quickwit-cluster/src/cluster.rs Outdated Show resolved Hide resolved
quickwit/quickwit-cluster/src/cluster.rs Outdated Show resolved Hide resolved
Co-authored-by: François Massot <francois.massot@gmail.com>
@fulmicoton fulmicoton enabled auto-merge (squash) November 22, 2023 11:30
@fulmicoton fulmicoton enabled auto-merge (squash) November 22, 2023 15:02
@fulmicoton fulmicoton merged commit 645658e into main Nov 22, 2023
4 checks passed
@fulmicoton fulmicoton deleted the issue/4174-indexv2-apply-plan-loop branch November 22, 2023 15:16
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.

None yet

2 participants