Open-Source Wikis

/

etcd

/

etcd

/

Glossary

etcd-io/etcd

Glossary

Words you will repeatedly encounter in etcd's source code, issues, and docs.

Term Meaning
Member A single etcd process that participates in the Raft cluster. Identified by a 64-bit MemberID in server/etcdserver/api/membership/member.go.
Learner A non-voting member that catches up the log before being promoted. See server/etcdserver/api/membership/cluster.go and etcdctl member promote.
Cluster ID A 64-bit identifier derived from the initial cluster definition. Stored in WAL and used for safety checks against cross-cluster reads/writes.
WAL (Write-Ahead Log) The append-only on-disk log of every Raft entry. Source: server/storage/wal/.
Snapshot A serialized point-in-time state of MVCC + cluster metadata, used to bootstrap slow followers and bound WAL size. Source: server/etcdserver/api/snap/, server/storage/mvcc/kvstore_compaction.go.
Backend The bbolt-backed key-value store under MVCC. Source: server/storage/backend/.
Bucket A bbolt-level keyspace partition (key, meta, auth, lease, ...). Defined in server/storage/schema/bucket.go.
Revision A monotonic store-wide version. Composed of main (transaction id) and sub (intra-txn order). See server/storage/mvcc/revision.go.
MVCC Multi-Version Concurrency Control. Every key holds a history of revisions, enabling time-travel reads and watchers. Source: server/storage/mvcc/.
Compaction Discards revisions older than a chosen point. Without it, history grows unbounded. Source: server/etcdserver/api/v3compactor/.
Lease A TTL token that, when revoked or expired, deletes all keys attached to it. Source: server/lease/.
Lessor / lessee The leader is the primary lessor; lease grants/revokes go through Raft. The clients holding leases are lessees.
Watch A streaming subscription to key changes from a given revision onward. Implemented in server/storage/mvcc/watcher.go and exposed via the Watch gRPC service in server/etcdserver/api/v3rpc/watch.go.
Linearizable read A read that goes through Raft ReadIndex to confirm leadership before returning. See server/etcdserver/v3_server.go.
Serializable read A read served from the local MVCC store without Raft round-trip. May be stale.
Txn An atomic transaction with If/Then/Else clauses, evaluated against a single revision. Source: server/etcdserver/txn/.
Apply The phase that takes a committed Raft entry and mutates MVCC/lease/auth state. Source: server/etcdserver/apply/.
Raft index / term The position and election epoch of a Raft log entry, persisted in WAL.
HardState Term, vote, and commit index persisted before any log entry can be sent.
Apply / Commit gap Difference between Raft's committedIndex and appliedIndex. The server backpressures proposals if the gap grows too large (maxGapBetweenApplyAndCommitIndex in v3_server.go).
Quorum / strict-reconfig-check Cluster reconfiguration is rejected if it would lose quorum. Toggled by --strict-reconfig-check (default true).
Discovery A mechanism to bootstrap an initial cluster via DNS SRV records or a public discovery service. Source: server/etcdserver/api/v3discovery/.
Embed The mode where another Go program imports go.etcd.io/etcd/server/v3/embed to run etcd in-process.
gRPC gateway Auto-generated REST/JSON shim over the gRPC API, defined by google.api.http annotations in api/etcdserverpb/rpc.proto.
gRPC proxy Stateful caching proxy that consolidates client watches and reads. Source: server/proxy/grpcproxy/.
etcd gateway Stateless TCP load balancer in front of a cluster. Source: server/etcdmain/gateway.go.
etcdctl Official command-line client for the v3 API.
etcdutl Offline utility for snapshot, backup, hash, WAL/db inspection.
Robustness tests Linearizability + fault-injection harness in tests/robustness/. The project's heaviest correctness gate.
Failpoints Compile-time hooks (gofail) used by robustness/integration tests to inject faults. See tests/robustness/failpoint/.
Feature gate A named, default-on/off behavior toggle. Implementation in pkg/featuregate/ and registry in server/features/.
Auth (RBAC) Users, roles, and permissions enforced by server/auth/. Tokens are either simple (etcd-internal) or jwt.
Range / RangeEnd Half-open key range [key, range_end) used by every gRPC operation that scans keys.
PrevKV Optional flag returning the previous value with a Put/DeleteRange/Watch event.
Conf change A Raft ConfChange log entry that adds, removes, updates, or promotes a member.
Bbolt Etcd's fork of BoltDB, the embedded key/value store underlying MVCC.
Raft library The Raft implementation lives in a separate repo: go.etcd.io/raft/v3. This repo only contains the integration layer in server/etcdserver/raft.go and server/etcdserver/api/rafthttp/.

Built by Factory AutoWiki from public repository content. It is a generated preview for codebase exploration, not source-maintained documentation.

Glossary – etcd wiki | Factory