-
Notifications
You must be signed in to change notification settings - Fork 9.9k
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/learning: Glossary update #6531
Conversation
@@ -12,6 +12,10 @@ It has a unique identification, and records other nodes' progress internally whe | |||
|
|||
Member is an instance of etcd. It hosts a node, and provides service to clients. | |||
|
|||
## Machine (deprecated) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
let's just remove machine?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sure will remove it.
@@ -26,10 +30,93 @@ Peer is another member of the same cluster. | |||
|
|||
A proposal is a request (for example a write request, a configuration change request) that needs to go through raft protocol. | |||
|
|||
## Quorum | |||
|
|||
The number of members of a group/cluster required to be present to perform a set of instructions/operations, usually a majority. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The number of members of a cluster required to be available to perform requests (except for local request when specified). Quorum is the majority (N/2 + 1) of the cluster. For example, when there are 5 members in the cluster, the quorum is 3. When there are 6 members, the quorum is still 3. When there are 7 members, the quorum is 4.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sure will modify the description.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@xiang90 i had a doubt, for example when members are 6 the quorum should be 4 based on N/2+1. Do we have a special handling for this to keep it 3 only?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sorry. i made a mistake. it should be 4
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok no issues will correct it.
Thanks!
|
||
## Transaction | ||
|
||
Transaction is a set of instructions which are to be performed as an atomic operation based on a certain set of conditions. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Transaction is a set of operations that are to be executed atomically based on a certain set of conditions.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok will modify the description.
## Keys | ||
|
||
Keys are unique idetifiers. Keys are used to store values to the store and the values can be retrieved from the store using the keys. | ||
In certain cases like server certification a key can be referred to as a unique identifier used for encrypting the values. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
remove the second sentence? it is not etcd specific.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok. will remove it. But i thought we support certificates.
|
||
## Lease | ||
|
||
Lease is a contract given for a specified time. It can be used to attach to the keys to make keys available as long as the lease lasts. Once the lease expires all the keys associated with it also expire. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
for a specified duration?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok will modify it.
|
||
Revision is the current revision of etcd. It is incremented every time the v3 backed is modified (e.g., Put, Delete, Txn). | ||
|
||
## ModRevision |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Every time a key gets updated the modRevision gets updated to the current revision of the store.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok will modify the description.
|
||
ModRevision is the etcd revision of the last update done on a key. Every time a key gets updated the modrevision gets incremented by 1. | ||
|
||
## Version |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Version of the key
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@xiang90 i had mentioned both the cases(key version as well as etcd server and API version) under the version title. Do you want me to mention them separately?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@xiang90 need your opinion on this.
Thanks!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes. I want to make them separate. Actually I think software version is not etcd specific. i do not think we need to mention it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok will remove that part then.
|
||
## Version | ||
|
||
Version is the number of times the key has been modified since it was created. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The version of a newly created key is 1. Once a key get deleted, the version of the key gets back to 0.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok will modify the description.
|
||
## Watches | ||
|
||
Watches are used by clients to watch over a specified key or a apecified set of keys. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
When there is a modification on the watched keys, watchers will be notified.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok will modify the description.
|
||
Mirroring is a process of mirroring a prefix in the key-value space of an etcd cluster into another prefix in another cluster. Mirroring is designed for copying configuration to various clusters distributed around the world. | ||
|
||
## Migration |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
let's remove this? i want this doc to be v3 centric.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok will remove it.
Let's group this a little bit? We can order them alphabetically? @heyitsanthony opinions? |
@xiang90 yes i was thinking the same to keep it in alphabetical order. Will organize them like that. |
@xiang90 i have done the changes as per your suggestion. Let me know if any other change is required. |
LGTM. Defer to @heyitsanthony and @gyuho |
|
||
Node is an instance of raft state machine. | ||
Alarms are a means to recognize any fault in the etcd server. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The quota alarm isn't really a fault. How about: The etcd server raises an alarm whenever the cluster needs operator intervention to remain reliable.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok sure will modify the description.
|
||
## Member | ||
Authentication is used to authenticate a user before the user can perform a set of operations. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is not a good definition because it's referencing itself (i.e., x is used to x). Try: Authentication manages user access permissions for etcd resources.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes you are right will modify it.
Member is an instance of etcd. It hosts a node, and provides service to clients. | ||
## Client | ||
|
||
Client is a caller of the cluster's HTTP API. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this isn't true, there are grpc clients as well.
A client connects to the etcd cluster to issue service requests such as fetching key-value pairs, writing data, or watching for updates.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i didn't modify this definition it was there from before. But will correct it.
|
||
## Cluster | ||
|
||
Cluster consists of several members. | ||
|
||
The node in each member follows raft consensus protocol to replicate logs. Cluster receives proposals from members, commits them and apply to local store. | ||
|
||
## Command |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think this is really etcd jargon. Remove?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sure will remove it.
|
||
## Compaction | ||
|
||
Compaction discards all etcd event history prior to a given revision. Since etcd uses a multiversion concurrency control model, it preserves all key updates as event history. When the event history up to some revision is no longer needed, all superseded keys may be compacted away to reclaim storage space in the etcd backend database. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think it needs to explain that etcd is MVCC?
Compaction discards all etcd event history and superseded keys prior to a given revision. It is used to reclaim storage space in the etcd backend database.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
sure will modify the definition.
|
||
## Transaction | ||
|
||
Transaction is a set of operations that are to be executed atomically based on a certain set of conditions. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think the set of conditions stuff is necessary since people will see that when they try to create a transaction.
An atomically executed set of operations. All modified keys in a transaction share the same modification revision.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok will change it
|
||
Transaction is a set of operations that are to be executed atomically based on a certain set of conditions. | ||
|
||
## Version of the key |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Key version
, the "of the' is superfluous
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok will change it
## Version of the key | ||
|
||
Version is the number of times the key has been modified since it was created. | ||
The version of a newly created key is 1. Once a key get deleted, the version of the key gets back to 0. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The number of writes to a key since it was created, starting at 1. The version of a nonexistent or deleted key is 0.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok will chnage it.
|
||
The alternative of Member in etcd before 2.0 | ||
Watches are used by clients to watch over a specified key or a specified set of keys. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is a circular definition Xes are used by clients to X
and watches don't work on arbitrary sets
A client opens a watcher to observe updates on a given key range.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok will change the definition.
## Keys | ||
|
||
Keys are unique idetifiers. Keys are used to store values to the store and the values can be retrieved from the store using the keys. | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
probably should define ranges too since they're used everywhere
## Key range
A set of keys containing either an individual key, a lexical interval for all x such that a < x <= b, or all keys greater than a given key.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
will add it.
@heyitsanthony i have done the changes as per your suggestion. I have tweaked your lease suggestion a bit to make it clear. let me know if its fine with you. |
lgtm |
added glossary items.
#6394