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

Documentation: Clarify revisions vs. versions in data model doc #9487

Merged
merged 1 commit into from
Mar 26, 2018
Merged

Documentation: Clarify revisions vs. versions in data model doc #9487

merged 1 commit into from
Mar 26, 2018

Conversation

cceckman
Copy link
Contributor

This confused me just looking at the protos; reading up on #6518 helped clarify things. I highlighted the terms that show up as fields in protos and tried to clean up some of the language.

Copy link
Contributor

@hexfusion hexfusion left a comment

Choose a reason for hiding this comment

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

@cceckman thank you for taking the time to do this. I added just a small improvement to consider. Also can you please address the Travis failure?


A keys lifetime spans a generation, denoted by its version. Each key may have one or multiple generations. Creating a key increments the version of that key, starting at 1 if the key never existed. Deleting a key generates a key tombstone, concluding the key’s current generation by resetting its version. Each modification of a key increments its version. Once a compaction happens, any version ended before the given revision will be removed and values set before the compaction revision except the latest one will be removed.
A key's lifetime spans a generation, from creation to deletion. Each key may have one or multiple generations. Creating a key increments the **version** of that key, starting at 1 if the key does not exist at the current revision. Deleting a key generates a key tombstone, concluding the key’s current generation by resetting its version to 0. Each modification of a key increments its version; so, versions are monotonically increasing within a key's generation. Once a compaction happens, any generation ended before the compaction revision will be removed, and values set before the compaction revision except the latest one will be removed.
Copy link
Contributor

Choose a reason for hiding this comment

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

A key's lifetime spans a generation, from creation to deletion.

s/lifetime/life?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Sure; done.

("lifetime" was the original; I don't have an opinion one way or another.)

This confused me just looking at the protos; reading up on #6518 helped clarify things. I highlighted the terms that show up as fields in protos and tried to clean up some of the language.
@cceckman cceckman changed the title Clarify revisions vs. versions in data model doc Documentation: Clarify revisions vs. versions in data model doc Mar 24, 2018
@cceckman
Copy link
Contributor Author

Done (I think- may need to poke Travis after retitling the issue, if I'm reading it right.)

@hexfusion
Copy link
Contributor

lgtm
@cceckman, thank you!

@hexfusion
Copy link
Contributor

@cceckman Travis retests after new push, all set.

Copy link
Contributor

@gyuho gyuho left a comment

Choose a reason for hiding this comment

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

lgtm. thanks @cceckman !

@gyuho gyuho merged commit fc53917 into etcd-io:master Mar 26, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

3 participants