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

storage: enhance store-level migration infrastructure #12290

Closed
petermattis opened this issue Dec 12, 2016 · 3 comments
Closed

storage: enhance store-level migration infrastructure #12290

petermattis opened this issue Dec 12, 2016 · 3 comments
Milestone

Comments

@petermattis
Copy link
Collaborator

The infrastructure for store-level migrations is currently very primitive: a single Store.migrate method exists which is called for every range descriptor every time the store starts. This is both overly expensive and insufficiently flexible.

Two recent candidates for store-level migrations are recomputing system key stats to fix an inconsistency caused by a bug in handling of Raft tombstone keys and migrating the Raft tombstone key to the unreplicated key space. Recomputing the system key stats for every replica is a reasonably expensive operation which we wouldn't want to perform on every replica every time the store starts. Migrating the Raft tombstone keys is interesting because those keys are intended to exist only when a range descriptor for the range does not exist.

I think the existing migration mechanism should be replaced with something similar to the cluster upgrade tool. Each migration would have an associated name and the store will keep a /Local/Store/Migration/<migration> key that is only present after the migration has been run. Migrations would be run early in the lifetime of a store before the replicas have been loaded.

See #12289

@petermattis
Copy link
Collaborator Author

Cc @a-robinson

@a-robinson
Copy link
Contributor

Ack, I had missed this until #12289 got pinged this morning. I'll think about this soon.

@petermattis petermattis added this to the Later milestone Feb 23, 2017
@tbg
Copy link
Member

tbg commented Jun 5, 2018

I doubt we're going to do anything here until we need it, so closing this. Feel free to reopen if you disagree.

@tbg tbg closed this as completed Jun 5, 2018
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

No branches or pull requests

3 participants