Browse Source

*: document v3.2 default snapshot-count value change

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
Gyuho Lee 7 years ago
parent
commit
af20c3969b
2 changed files with 6 additions and 0 deletions
  1. 2 0
      CHANGELOG-3.2.md
  2. 4 0
      Documentation/upgrades/upgrade_3_2.md

+ 2 - 0
CHANGELOG-3.2.md

@@ -389,6 +389,8 @@ See [code changes](https://github.com/coreos/etcd/compare/v3.1.0...v3.2.0) and [
 - Increased [`--snapshot-count` default value from 10,000 to 100,000](https://github.com/coreos/etcd/pull/7160).
   - Higher snapshot count means it holds Raft entries in memory for longer before discarding old entries.
   - It is a trade-off between less frequent snapshotting and [higher memory usage](https://github.com/kubernetes/kubernetes/issues/60589#issuecomment-371977156).
+  - User lower `--snapshot-count` value for lower memory usage.
+  - User higher `--snapshot-count` value for better availabilities of slow followers (less frequent snapshots from leader).
 - `clientv3.Lease.TimeToLive` returns `LeaseTimeToLiveResponse.TTL == -1` on lease not found.
 - `clientv3.NewFromConfigFile` is moved to `clientv3/yaml.NewConfig`.
 - `embed.Etcd.Peers` field is now `[]*peerListener`.

+ 4 - 0
Documentation/upgrades/upgrade_3_2.md

@@ -10,6 +10,10 @@ Before [starting an upgrade](#upgrade-procedure), read through the rest of this
 
 Highlighted breaking changes in 3.2.
 
+#### Change in default `snapshot-count` value
+
+The default value of `--snapshot-count` has [changed from from 10,000 to 100,000](https://github.com/coreos/etcd/pull/7160). Higher snapshot count means it holds Raft entries in memory for longer before discarding old entries. It is a trade-off between less frequent snapshotting and [higher memory usage](https://github.com/kubernetes/kubernetes/issues/60589#issuecomment-371977156). Higher `--snapshot-count` will be manifested with higher memory usage, while retaining more Raft entries helps with the availabilities of slow followers: leader is still able to replicate its logs to followers, rather than forcing followers to rebuild its stores from leader snapshots.
+
 #### Change in gRPC dependency (>=3.2.10)
 
 3.2.10 or later now requires [grpc/grpc-go](https://github.com/grpc/grpc-go/releases) `v1.7.5` (<=3.2.9 requires `v1.2.1`).