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

Splitstore: Some small fixes #6754

Merged
merged 10 commits into from
Jul 14, 2021
Merged

Splitstore: Some small fixes #6754

merged 10 commits into from
Jul 14, 2021

Conversation

vyzo
Copy link
Contributor

@vyzo vyzo commented Jul 14, 2021

Cherry-picked from #6728

  • Fixes a couple of inconsistencies identified post merge
  • Introduces BlockstoreGC and BlockstoreMover interfaces in preparation for moving GC in Splitstore Garbage Collection #6728
  • Adds a compactionIndex state variable to use as decision for moving gc (where applicable) and also a warmup indicator for splitstore v0 upgrades.

@vyzo vyzo force-pushed the feat/splitstore-refactor branch 2 times, most recently from 7252a5a to dc9eae6 Compare July 14, 2021 16:23
@vyzo vyzo requested a review from Stebalien July 14, 2021 16:28
@vyzo vyzo marked this pull request as ready for review July 14, 2021 16:28
@vyzo vyzo force-pushed the feat/splitstore-refactor branch 2 times, most recently from 0b3f321 to 02ef0de Compare July 14, 2021 16:34
@vyzo vyzo changed the title splitstore refactor Splitstore refactor Jul 14, 2021
@@ -7,20 +7,27 @@ import (
)

func (s *SplitStore) gcHotstore() {
// we only perform moving gc every 10 compactions as it can take a while
if s.compactionIndex%10 != 0 {
goto online_gc
Copy link
Contributor Author

Choose a reason for hiding this comment

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

note for steb: this goto is very short-lived; it disappears a couple of commits later.

@vyzo vyzo force-pushed the feat/splitstore-refactor branch from 02ef0de to 68da14c Compare July 14, 2021 17:11
@vyzo vyzo changed the title Splitstore refactor Splitstore: Some small fixes Jul 14, 2021
@vyzo vyzo mentioned this pull request Jul 14, 2021
@vyzo
Copy link
Contributor Author

vyzo commented Jul 14, 2021

don't rush merging this yet, we are discussing the MoveTo interface with @Stebalien and we might make a small change here.

@Stebalien
Copy link
Member

We're not going to be able to discuss the semantics of MoveTo and whether or not it's the right choice without taking other uses into account. IIRC, you said we were using it to do something with the cold store?

@vyzo
Copy link
Contributor Author

vyzo commented Jul 14, 2021

Yes, it is used in two ways in #6728

  • implement moving GC for the hotstore (the splitstore code is already here)
  • implement moving GC for the coldstore, allowing the user to specify an external path.
    this supports use cases where the coldstore is soft-linked to a separate file system comprising of cheaper disks.

@vyzo
Copy link
Contributor Author

vyzo commented Jul 14, 2021

Now, given all the grief that this is causing us, we can just drop it altogether from this pr and move it to the gc pr, where we can decide on what to do.
We will still have to make a decision as to its suitability as an interface, but it doesn't need to be made now.
Besides, we are not shipping the GC stuff until we have tests, and this is looking increasingly likely to happen after v1.11.1.

we decided it's premature
@vyzo vyzo force-pushed the feat/splitstore-refactor branch from 7a89edc to 3f3a12b Compare July 14, 2021 20:00
@vyzo
Copy link
Contributor Author

vyzo commented Jul 14, 2021

rebased on master.

@Stebalien Stebalien merged commit 44d0171 into master Jul 14, 2021
@Stebalien Stebalien deleted the feat/splitstore-refactor branch July 14, 2021 20:10
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.

3 participants