Skip to content

Add a rebuild command plugin #2321

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

Merged
merged 48 commits into from
Jun 9, 2022
Merged

Conversation

dominiklohmann
Copy link
Member

@dominiklohmann dominiklohmann commented Jun 1, 2022

The new plugin rebuilds the whole database by running an identity transformation on the database, causing all partitions to be rebuilt entirely. This conveniently merges partitions up to the configured max-partition-size, upgrades to the most recent table slice encoding, and migrates all data to the currently configured store backend.

📝 Checklist

  • All user-facing changes have changelog entries.
  • The changes are reflected on docs.tenzir.com/vast, if necessary.
  • The PR description contains instructions for the reviewer, if necessary.

🎯 Review Instructions

Test it out locally. The testing of the individual pieces is already covered, and integration testing is impossible until we have a flush command (next Hackathon?).

For the code I recommend just reading the whole diff at once.

For stress-testing, I recommend running VAST with a low vast.active-partition-timeout, ingesting a bunch of data, and then looking at the results of rebuilding.

@dominiklohmann dominiklohmann added the feature New functionality label Jun 1, 2022
@dominiklohmann dominiklohmann force-pushed the topic/hackathon-rebuild-command branch from d46d831 to 069b24a Compare June 1, 2022 13:13
The new plugin rebuilds the whole database by running an `identity`
transformation on the database, causing all partitions to be rebuilt entirely.
This conveniently merges partitions up to the configured `max-partition-size`,
upgrades to the most recent table slice encoding, and migrates all data to the
currently configured store backend.

Co-authored-by: Győző Gáspár <gyozo.gaspar@tenzir.com>
@dominiklohmann dominiklohmann force-pushed the topic/hackathon-rebuild-command branch 2 times, most recently from 730040f to 99e9b06 Compare June 1, 2022 16:25
dominiklohmann and others added 7 commits June 1, 2022 20:43
Co-authored-by: Győző Gáspár <gyozo.gaspar@tenzir.com>
Co-authored-by: Győző Gáspár <gyozo.gaspar@tenzir.com>
Co-authored-by: Győző Gáspár <gyozo.gaspar@tenzir.com>
Co-authored-by: Győző Gáspár <gyozo.gaspar@tenzir.com>
Co-authored-by: Győző Gáspár <gyozo.gaspar@tenzir.com>
Co-authored-by: Győző Gáspár <gyozo.gaspar@tenzir.com>
Co-authored-by: Győző Gáspár <gyozo.gaspar@tenzir.com>
@dominiklohmann dominiklohmann force-pushed the topic/hackathon-rebuild-command branch from 4c4bbb0 to a905a4f Compare June 1, 2022 18:44
dominiklohmann and others added 2 commits June 2, 2022 10:19
Co-authored-by: Győző Gáspár <gyozo.gaspar@tenzir.com>
@dominiklohmann dominiklohmann force-pushed the topic/hackathon-rebuild-command branch from a905a4f to d37ad0b Compare June 2, 2022 08:19
@lava lava force-pushed the story/sc-31754/homogenous-partition-transformer branch from d7bcfa9 to 9acd287 Compare June 2, 2022 15:01
Base automatically changed from story/sc-31754/homogenous-partition-transformer to master June 2, 2022 16:08
Copy link
Member

@lava lava left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great to me in general, and we already tested it on the testbed so we also know that it actually works.

@dominiklohmann dominiklohmann force-pushed the topic/hackathon-rebuild-command branch from 4534d33 to 2cc7f54 Compare June 7, 2022 15:39
@dominiklohmann dominiklohmann force-pushed the topic/hackathon-rebuild-command branch from 2cc7f54 to c851294 Compare June 7, 2022 18:24
@tobim tobim mentioned this pull request Jun 7, 2022
3 tasks
Copy link
Member

@tobim tobim left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I only reviewed Return a partition info from the catalog result" so far.

@dominiklohmann dominiklohmann requested a review from tobim June 9, 2022 13:36
Otherwise version - 1 overflows, which has undesirable side effects for
rebuilding.
Copy link
Member

@tobim tobim left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We did the final review on the rebuilding algorithm in a call. Feedback is already integrated.

@dominiklohmann dominiklohmann enabled auto-merge June 9, 2022 15:32
@dominiklohmann dominiklohmann merged commit 6ac1e06 into master Jun 9, 2022
@dominiklohmann dominiklohmann deleted the topic/hackathon-rebuild-command branch June 9, 2022 15:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature New functionality
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants