Previous change logs can be found at CHANGELOG-3.2.
The minimum recommended etcd versions to run in production are 3.1.11+, 3.2.26+, and 3.3.11+.
See code changes and v3.3 upgrade guide for any breaking changes.
This release replaces 3.3.16.
Due to the etcd 3.3.16 release being incorrectly released (see details below), please use this release instead.
WARNING: This is a bad release! Please use etcd 3.3.17 instead. See https://github.com/etcd-io/etcd/issues/11241 for details.
See code changes and v3.3 upgrade guide for any breaking changes.
Again, before running upgrades from any previous release, please make sure to read change logs below and v3.3 upgrade guide.
etcd --experimental-peer-skip-client-san-verification
to skip verification of peer client address.See List of metrics for all metrics per release.
Note that any etcd_debugging_*
metrics are experimental and subject to change.
etcd_debugging_mvcc_current_revision
Prometheus metric.etcd_debugging_mvcc_compact_revision
Prometheus metric.github.com/coreos/bbolt
from v1.3.1-coreos.6
to v1.3.3
.etcdctl member add
command to prevent potential timeout.See code changes and v3.3 upgrade guide for any breaking changes.
Again, before running upgrades from any previous release, please make sure to read change logs below and v3.3 upgrade guide.
NOTE: This patch release had to include some new features from 3.4, while trying to minimize the difference between client balancer implementation. This release fixes "kube-apiserver 1.13.x refuses to work when first etcd-server is not available" (kubernetes#72102).
glide
to Go module".
glide
for dependency management.See code changes and v3.3 upgrade guide for any breaking changes.
Again, before running upgrades from any previous release, please make sure to read change logs below and v3.3 upgrade guide.
NOTE: This patch release had to include some new features from 3.4, while trying to minimize the difference between client balancer implementation. This release fixes "kube-apiserver 1.13.x refuses to work when first etcd-server is not available" (kubernetes#72102).
grpc.WithBlock()
to clientv3.Config.DialOptions
.glide
to Go module.
vendor
directory under cmd/vendor
directory to prevent conflicting transitive dependencies.cmd/vendor
directory to vendor
at repository root.cmd
directory.go get/install/build
on etcd
packages (e.g. clientv3
, tools/benchmark
) enforce builds with etcd vendor
directory.latest
release container tag.
docker pull gcr.io/etcd-development/etcd:latest
would not be up-to-date.docker pull gcr.io/etcd-development/etcd:v3.3
would still work but may be stale.docker pull gcr.io/etcd-development/etcd:v3.4
would not work.docker pull gcr.io/etcd-development/etcd:v3.3.14
instead, with the exact patch version.acbuild
is not maintained anymore.*.aci
files are not available from v3.4
release.rpctypes.ErrLeaderChanged
.
rafthttp
transport pause/resume.watch_id
field to etcdserverpb.WatchCreateRequest
to allow user-provided watch ID to mvcc
.
watch_id
is returned via etcdserverpb.WatchResponse
, if any.fragment
field to etcdserverpb.WatchCreateRequest
to request etcd server to split watch events when the total size of events exceeds etcd --max-request-bytes
flag value plus gRPC-overhead 512 bytes.
embed.DefaultMaxRequestBytes
which is 1.5 MiB plus gRPC-overhead 512 bytes.fragment
field true
, the server will split watch events into a set of chunks, each of which is a subset of watch events below server-side request limit.etcd --max-request-bytes
flag value is 1 MiB. Then, server will send 10 separate fragmented events to the client.etcd --max-request-bytes
flag value is 1 MiB and clientv3.Config.MaxCallRecvMsgSize
is 1 MiB. Then, server will try to send 5 separate fragmented events to the client, and the client will error with "code = ResourceExhausted desc = grpc: received message larger than max (...)"
.clientv3
does in etcd v3.4).WatchRequest.WatchProgressRequest
.
WithProgressNotify
that can be triggered manually.See List of metrics for all metrics per release.
Note that any etcd_debugging_*
metrics are experimental and subject to change.
etcd_network_snapshot_send_inflights_total
Prometheus metric.etcd_network_snapshot_receive_inflights_total
Prometheus metric.etcd_server_snapshot_apply_in_progress_total
Prometheus metric.google.golang.org/grpc
from v1.7.5
to v1.23.0
.grpc.WithBlock()
to clientv3.Config.DialOptions
.etcdctl endpoint health --write-out
support.
etcdctl endpoint health --write-out json
did not work.etcdctl endpoint health
.pkg/adt
pkg/adt.IntervalTree
from struct
to interface
.
pkg/adt
README and pkg/adt
godoc.pkg/adt.IntervalTree
test coverage.
pkg/adt
README and pkg/adt
godoc.See code changes and v3.3 upgrade guide for any breaking changes.
Again, before running upgrades from any previous release, please make sure to read change logs below and v3.3 upgrade guide.
Verify
function to perform corruption check on WAL contents.See List of metrics for all metrics per release.
Note that any etcd_debugging_*
metrics are experimental and subject to change.
wal
github.com/ugorji/go/codec
to github.com/json-iterator/go
(See #10667 for more).github.com/ghodss/yaml
to sigs.k8s.io/yaml
(See #10718 for more).See code changes and v3.3 upgrade guide for any breaking changes.
Again, before running upgrades from any previous release, please make sure to read change logs below and v3.3 upgrade guide.
See code changes and v3.3 upgrade guide for any breaking changes.
Again, before running upgrades from any previous release, please make sure to read change logs below and v3.3 upgrade guide.
See code changes and v3.3 upgrade guide for any breaking changes.
Again, before running upgrades from any previous release, please make sure to read change logs below and v3.3 upgrade guide.
etcd --debug
flag to see per-request debug information.snapshot status
returns "snapshot file integrity check failed..."
error.See List of metrics for all metrics per release.
Note that any etcd_debugging_*
metrics are experimental and subject to change.
etcd_network_peer_round_trip_time_seconds
Prometheus metric to track leader heartbeats.
etcd_snap_db_fsync_duration_seconds_count
Prometheus metric.etcd_snap_db_save_total_duration_seconds_bucket
Prometheus metric.etcd_network_snapshot_send_success
Prometheus metric.etcd_network_snapshot_send_failures
Prometheus metric.etcd_network_snapshot_send_total_duration_seconds
Prometheus metric.etcd_network_snapshot_receive_success
Prometheus metric.etcd_network_snapshot_receive_failures
Prometheus metric.etcd_network_snapshot_receive_total_duration_seconds
Prometheus metric.etcd_server_id
Prometheus metric.etcd_server_health_success
Prometheus metric.etcd_server_health_failures
Prometheus metric.etcd_server_read_indexes_failed_total
Prometheus metric.clientv3/concurrency
package.See code changes and v3.3 upgrade guide for any breaking changes.
Again, before running upgrades from any previous release, please make sure to read change logs below and v3.3 upgrade guide.
See List of metrics for all metrics per release.
Note that any etcd_debugging_*
metrics are experimental and subject to change.
etcd_server_go_version
Prometheus metric.etcd_server_heartbeat_send_failures_total
Prometheus metric.etcd_server_slow_apply_total
Prometheus metric.etcd_disk_backend_defrag_duration_seconds
Prometheus metric.etcd_mvcc_hash_duration_seconds
Prometheus metric.etcd_mvcc_hash_rev_duration_seconds
Prometheus metric.etcd_server_slow_read_indexes_total
Prometheus metric.etcd_server_quota_backend_bytes
Prometheus metric.
etcd_mvcc_db_total_size_in_bytes
and etcd_mvcc_db_total_size_in_use_in_bytes
.etcd_server_quota_backend_bytes 2.147483648e+09
means current quota size is 2 GB.etcd_mvcc_db_total_size_in_bytes 20480
means current physically allocated DB size is 20 KB.etcd_mvcc_db_total_size_in_use_in_bytes 16384
means future DB size if defragment operation is complete.etcd_mvcc_db_total_size_in_bytes - etcd_mvcc_db_total_size_in_use_in_bytes
is the number of bytes that can be saved on disk with defragment operation.etcd_mvcc_db_total_size_in_bytes
Prometheus metric.
etcd_debugging_mvcc_db_total_size_in_bytes
.etcd_mvcc_db_total_size_in_use_in_bytes
Prometheus metric.
etcd_mvcc_db_total_size_in_bytes
and etcd_mvcc_db_total_size_in_use_in_bytes
.etcd_server_quota_backend_bytes 2.147483648e+09
means current quota size is 2 GB.etcd_mvcc_db_total_size_in_bytes 20480
means current physically allocated DB size is 20 KB.etcd_mvcc_db_total_size_in_use_in_bytes 16384
means future DB size if defragment operation is complete.etcd_mvcc_db_total_size_in_bytes - etcd_mvcc_db_total_size_in_use_in_bytes
is the number of bytes that can be saved on disk with defragment operation.<-chan *clientv3LeaseKeepAliveResponse
from clientv3.Lease.KeepAlive
was never consumed or channel is full, client was sending keepalive request every 500ms instead of expected rate of every "TTL / 3" duration.See code changes and v3.3 upgrade guide for any breaking changes.
Again, before running upgrades from any previous release, please make sure to read change logs below and v3.3 upgrade guide.
read-only range request "key:\"/a\" range_end:\"/b\" " with result "range_response_count:3 size:96" took too long (97.966µs) to execute
.See code changes and v3.3 upgrade guide for any breaking changes.
Again, before running upgrades from any previous release, please make sure to read change logs below and v3.3 upgrade guide.
etcd --cipher-suites
flag.See code changes and v3.3 upgrade guide for any breaking changes.
Again, before running upgrades from any previous release, please make sure to read change logs below and v3.3 upgrade guide.
failed to initialize the etcd server: auth: invalid auth options
error.mvcc
server panic from restore operation.
See code changes and v3.3 upgrade guide for any breaking changes.
Again, before running upgrades from any previous release, please make sure to read change logs below and v3.3 upgrade guide.
etcdctl watch [key] [range_end] -- [exec-command…]
parsing.
ETCDCTL_API=3 ./bin/etcdctl watch foo -- echo watch event received
panicked.See code changes and v3.3 upgrade guide for any breaking changes.
Again, before running upgrades from any previous release, please make sure to read change logs below and v3.3 upgrade guide.
See List of metrics for all metrics per release.
Note that any etcd_debugging_*
metrics are experimental and subject to change.
etcd_server_is_leader
Prometheus metric.etcd_debugging_server_lease_expired_total
Prometheus metric.(*tls.Config).GetCertificate
for TLS reload if and only if server's (*tls.Config).Certificates
field is not empty, or (*tls.ClientHelloInfo).ServerName
is not empty with a valid SNI from the client. Previously, etcd always populates (*tls.Config).Certificates
on the initial client TLS handshake, as non-empty. Thus, client was always expected to supply a matching SNI in order to pass the TLS verification and to trigger (*tls.Config).GetCertificate
to reload TLS assets.*tls.ClientHelloInfo
with an empty ServerName
field, thus failing to trigger the TLS reload on initial TLS handshake; this becomes a problem when expired certificates need to be replaced online.(*tls.Config).Certificates
is created empty on initial TLS client handshake, first to trigger (*tls.Config).GetCertificate
, and then to populate rest of the certificates on every new TLS connection, even when client SNI is empty (e.g. cert only includes IPs).etcd --initial-election-tick-advance
flag to configure initial election tick fast-forward.
etcd --initial-election-tick-advance=true
, then local member fast-forwards election ticks to speed up "initial" leader election trigger.--initial-election-tick-advance=false
.etcd --initial-election-tick-advance
at the cost of slow initial bootstrap.embed
embed.Config.InitialElectionTickAdvance
to enable/disable initial election tick fast-forward.
embed.NewConfig()
would return *embed.Config
with InitialElectionTickAdvance
as true by default.See code changes and v3.3 upgrade guide for any breaking changes.
Again, before running upgrades from any previous release, please make sure to read change logs below and v3.3 upgrade guide.
etcd --auto-compaction-mode=revision --auto-compaction-retention=1000
automatically Compact
on "latest revision" - 1000
every 5-minute (when latest revision is 30000, compact on revision 29000).etcd --auto-compaction-mode=periodic --auto-compaction-retention=72h
automatically Compact
with 72-hour retention windown for every 7.2-hour. Now, Compact
happens, for every 1-hour but still with 72-hour retention window.etcd --auto-compaction-mode=periodic --auto-compaction-retention=30m
automatically Compact
with 30-minute retention windown for every 3-minute. Now, Compact
happens, for every 30-minute but still with 30-minute retention window.etcd --auto-compaction-mode=periodic --auto-compaction-retention=24h
).etcd --auto-compaction-mode=periodic --auto-compaction-retention=24h
, v3.2.x
, v3.3.0
, v3.3.1
, and v3.3.2
compact revision 2400, 2640, and 2880 for every 2.4-hour, while v3.3.3
or later compacts revision 2400, 2500, 2600 for every 1-hour.etcd --auto-compaction-mode=periodic --auto-compaction-retention=30m
and writes per minute are about 1000, v3.3.0
, v3.3.1
, and v3.3.2
compact revision 30000, 33000, and 36000, for every 3-minute, while v3.3.3
or later compacts revision 30000, 60000, and 90000, for every 30-minute.See List of metrics for all metrics per release.
Note that any etcd_debugging_*
metrics are experimental and subject to change.
etcd_network_peer_sent_failures_total
count.See code changes and v3.3 upgrade guide for any breaking changes.
Again, before running upgrades from any previous release, please make sure to read change logs below and v3.3 upgrade guide.
curl -L http://localhost:2379/v3/election/proclaim -X POST -d '{"value":""}'
, curl -L http://localhost:2379/v3/election/resign -X POST -d '{"value":""}'
.etcd --auto-compaction-mode revision --auto-compaction-retention 1
was translated to revision retention 3600000000000.etcd --auto-compaction-mode revision --auto-compaction-retention 1
is correctly parsed as revision retention 1.TTL
values for Lease
Grant
.
TTL
parameter to Grant
request is unit of second.TTL
values exceeding math.MaxInt64
expire in unexpected ways.rpctypes.ErrLeaseTTLTooLarge
to client, when the requested TTL
is larger than 9,000,000,000 seconds (which is >285 years).Lease
is meant for short-periodic keepalives or sessions, in the range of seconds or minutes. Not for hours or days!raft.Config.CheckQuorum
when starting with ForceNewCluster
.See code changes and v3.3 upgrade guide for any breaking changes.
Again, before running upgrades from any previous release, please make sure to read change logs below and v3.3 upgrade guide.
etcdserver: read-only range request "key:\"\\000\" range_end:\"\\000\" " took too long [3.389041388s] to execute
mvcc
"unsynced" watcher restore operation.
See code changes and v3.3 upgrade guide for any breaking changes.
Again, before running upgrades from any previous release, please make sure to read change logs below and v3.3 upgrade guide.
coreos/bbolt
to replace boltdb/bolt
.
clientv3
balancer failover under network faults/partitions.etcd --initial-cluster
flag.
etcd --initial-advertise-peer-urls
against corresponding etcd --initial-cluster
URLs with forward-lookup.etcd --initial-advertise-peer-urls
and etcd --initial-cluster
do not match (e.g. due to DNS error), etcd will exit with errors.etcd --initial-cluster must include s1=https://s1.test:2380 given --initial-advertise-peer-urls=https://s1.test:2380
.failed to resolve https://s1.test:2380 to match --initial-cluster=s1=https://s1.test:2380 (failed to resolve "https://s1.test:2380" (error ...))
.google.golang.org/grpc
v1.7.4
or v1.7.5
.
metadata.Incoming/OutgoingContext
.grpclog.Logger
, upgrade to grpclog.LoggerV2
.grpc.ErrClientConnTimeout
errors in clientv3
.MaxRecvMsgSize
and MaxSendMsgSize
to limit message size, in etcd server.Snapshot
API.etcdctl
lease timetolive LEASE_ID
on expired lease now prints "lease LEASE_ID already expired"
.
"lease LEASE_ID granted with TTL(0s), remaining(-1s)"
./v3alpha
with /v3beta
.
/v3alpha
in v3.4.curl -L http://localhost:2379/v3alpha/kv/put -X POST -d '{"key": "Zm9v", "value": "YmFy"}'
still works as a fallback to curl -L http://localhost:2379/v3beta/kv/put -X POST -d '{"key": "Zm9v", "value": "YmFy"}'
, but curl -L http://localhost:2379/v3alpha/kv/put -X POST -d '{"key": "Zm9v", "value": "YmFy"}'
won't work in v3.4. Use curl -L http://localhost:2379/v3beta/kv/put -X POST -d '{"key": "Zm9v", "value": "YmFy"}'
instead.etcd --auto-compaction-retention
flag to accept string values with finer granularity.
etcd --auto-compaction-retention
accepts string values, etcd configuration YAML file auto-compaction-retention
field must be changed to string
type.--config-file etcd.config.yaml
can have auto-compaction-retention: 24
field, now must be auto-compaction-retention: "24"
or auto-compaction-retention: "24h"
.etcd --auto-compaction-mode periodic --auto-compaction-retention "24h"
, the time duration value for etcd --auto-compaction-retention
flag must be valid for time.ParseDuration
function in Go.boltdb/bolt
from v1.3.0
to coreos/bbolt
v1.3.1-coreos.6
.google.golang.org/grpc
from v1.2.1
to v1.7.5
.github.com/ugorji/go/codec
to v1.1
, and regenerate v2 client
.github.com/ugorji/go/codec
to ugorji/go@54210f4e0
, and regenerate v2 client
.github.com/grpc-ecosystem/grpc-gateway
from v1.2.2
to v1.3.0
.golang.org/x/crypto/bcrypt
to golang/crypto@6c586e17d
.See List of metrics for all metrics per release.
Note that any etcd_debugging_*
metrics are experimental and subject to change.
etcd --listen-metrics-urls
flag for additional /metrics
and /health
endpoints.
etcd_server_version
Prometheus metric.
etcd-version-monitor
.etcd_debugging_mvcc_db_compaction_keys_total
Prometheus metric.etcd_debugging_server_lease_expired_total
Prometheus metric.
etcd_debugging_mvcc_range_total
etcd_debugging_mvcc_put_total
etcd_debugging_mvcc_delete_total
etcd_debugging_mvcc_txn_total
etcd_debugging_mvcc_keys_total
on restore.etcd_debugging_mvcc_db_total_size_in_bytes
on restore.
prometheus.NewGaugeFunc
.See security doc for more details.
SAN
. For instance, if peer cert contains only DNS names (no IP addresses) in Subject Alternative Name (SAN) field, server first reverse-lookups the remote IP address to get a list of names mapping to that address (e.g. nslookup IPADDR
). Then accepts the connection if those names have a matching name with peer cert's DNS names (either by exact or wildcard match). If none is matched, server forward-lookups each DNS entry in peer cert (e.g. look up example.default.svc
when the entry is *.example.default.svc
), and accepts connection only when the host's resolved addresses have the matching IP address with the peer's remote IP address.etcd --peer-cert-allowed-cn
flag.
etcd --experimental-initial-corrupt-check
flag to check cluster database hashes before serving client/peer traffic.
etcd --experimental-initial-corrupt-check=false
by default.--initial-corrupt-check=true
by default.etcd --experimental-corrupt-check-time
flag to raise corrupt alarm monitoring.
etcd --experimental-corrupt-check-time=0s
disabled by default.etcd --experimental-enable-v2v3
flag to emulate v2 API with v3.
etcd --experimental-enable-v2v3=false
by default.etcd --max-txn-ops
flag to configure maximum number operations in transaction.etcd --max-request-bytes
flag to configure maximum client request size.
etcd --client-crl-file
, --peer-crl-file
flags for Certificate revocation list.etcd --peer-cert-allowed-cn
flag to support CN-based auth for inter-peer connection.etcd --listen-metrics-urls
flag for additional /metrics
and /health
endpoints.
/metrics
endpoints for a TLS-enabled cluster.etcd --listen-metrics-urls=https://localhost:2378,http://localhost:9379
to serve /metrics
and /health
on secure port 2378 and insecure port 9379.etcd --auto-compaction-mode
flag to support revision-based compaction.etcd --auto-compaction-retention
flag to accept string values with finer granularity.
etcd --auto-compaction-retention
accepts string values, etcd configuration YAML file auto-compaction-retention
field must be changed to string
type.etcd --config-file etcd.config.yaml
can have auto-compaction-retention: 24
field, now must be auto-compaction-retention: "24"
or auto-compaction-retention: "24h"
.--auto-compaction-mode periodic --auto-compaction-retention "24h"
, the time duration value for etcd --auto-compaction-retention
flag must be valid for time.ParseDuration
function in Go.etcd --auto-compaction-mode=revision --auto-compaction-retention=1000
automatically Compact
on "latest revision" - 1000
every 5-minute (when latest revision is 30000, compact on revision 29000).etcd --auto-compaction-mode=periodic --auto-compaction-retention=72h
automatically Compact
with 72-hour retention windown, for every 7.2-hour.etcd --auto-compaction-mode=periodic --auto-compaction-retention=30m
automatically Compact
with 30-minute retention windown, for every 3-minute.etcd --auto-compaction-mode=periodic --auto-compaction-retention=10h
).--auto-compaction-retention=10
, v3.1 compacts revision 1000, 2000, and 3000 for every 10-hour, while v3.2.x, v3.3.0, v3.3.1, and v3.3.2 compact revision 1000, 1100, and 1200 for every 1-hour. Futhermore, when writes per minute are 1000, v3.3.0, v3.3.1, and v3.3.2 with --auto-compaction-mode=periodic --auto-compaction-retention=30m
compact revision 30000, 33000, and 36000, for every 3-minute with more finer granularity.etcd --grpc-keepalive-min-time
, etcd --grpc-keepalive-interval
, etcd --grpc-keepalive-timeout
flags to configure server-side keepalive policies./health
endpoint as unhealthy when alarm (e.g. NOSPACE
) is raised or there's no leader.
etcdhttp.Health
struct with JSON encoder."health"
field is string
type, not bool
.{"health":"false"}
, {"health":"true"}
"errors"
field since v3.3.0-rc.3
(did exist only in v3.3.0-rc.0
, v3.3.0-rc.1
, v3.3.0-rc.2
).etcd --debug
flag).lease
package.etcd --advertise-client-urls=http://:2379
.MaxCallSendMsgSize
and MaxCallRecvMsgSize
fields to clientv3.Config
.
MaxCallSendMsgSize
default value is 2 MiB, if not configured.MaxCallRecvMsgSize
default value is math.MaxInt32
, if not configured.Compare_LEASE
in clientv3.Compare
.LeaseValue
helper to Cmp
LeaseID
values in Txn
.MoveLeader
to Maintenance
.HashKV
to Maintenance
.Leases
to Lease
.clientv3/ordering
for enforce ordering in serialized requests.WatchResponse.Canceled
on compacted watch request.concurrency/stm
Put
with serializable snapshot.
etcdctl --discovery-srv
flag.etcdctl --keepalive-time
, --keepalive-timeout
flags.etcdctl lease list
command.etcdctl lease keep-alive --once
flag.lease timetolive LEASE_ID
on expired lease print lease LEASE_ID already expired
.
lease LEASE_ID granted with TTL(0s), remaining(-1s)
.etcdctl snapshot restore --wal-dir
flag.etcdctl defrag --data-dir
flag.etcdctl move-leader
command.etcdctl endpoint hashkv
command.etcdctl endpoint --cluster
flag, equivalent to v2 etcdctl cluster-health
.etcdctl endpoint health
command terminate with non-zero exit code on unhealthy status.etcdctl lock --ttl
flag.etcdctl watch [key] [range_end] -- [exec-command…]
, equivalent to v2 etcdctl exec-watch
.
etcdctl watch -- [exec-command]
set environmental variables ETCD_WATCH_REVISION
, ETCD_WATCH_EVENT_TYPE
, ETCD_WATCH_KEY
, ETCD_WATCH_VALUE
for each event.etcdctl watch
with environmental variables ETCDCTL_WATCH_KEY
and ETCDCTL_WATCH_RANGE_END
.clientv3.WithRequireLeader(context.Context)
for watch
command."del"
instead of "delete"
in txn
interactive mode.ETCD_INITIAL_ADVERTISE_PEER_URLS
in member add
.etcdctl snapshot status
to not modify snapshot file.
v3.3.10
v3.3.10
to save snapshotv3.2.24
v3.2.24
snapshot status
against the snapshot file saved from v3.3.10
serverv3.2.24
snapshot restore
fails with "expected sha256 [12..."
etcdctl
.etcdctl backup --with-v3
flag.grpc-proxy start --experimental-leasing-prefix
flag.
grpc-proxy start --experimental-serializable-ordering
flag.
grpc-proxy start --metrics-addr
flag for an additional /metrics
endpoint.
--metrics-addr=http://[HOST]:9379
to serve /metrics
in insecure port 9379./health
endpoint in grpc-proxy.grpc-proxy start --debug
flag.grpc-proxy start --max-send-bytes
flag to configure maximum client request size.grpc-proxy start --max-recv-bytes
flag to configure maximum client request size.PrevKv
flag handling.KeysOnly
flag handling./v3alpha
with /v3beta
.
/v3alpha
in v3.4.curl -L http://localhost:2379/v3alpha/kv/put -X POST -d '{"key": "Zm9v", "value": "YmFy"}'
still works as a fallback to curl -L http://localhost:2379/v3beta/kv/put -X POST -d '{"key": "Zm9v", "value": "YmFy"}'
, but curl -L http://localhost:2379/v3alpha/kv/put -X POST -d '{"key": "Zm9v", "value": "YmFy"}'
won't work in v3.4. Use curl -L http://localhost:2379/v3beta/kv/put -X POST -d '{"key": "Zm9v", "value": "YmFy"}'
instead.mvcc/backend.defragdb
nil-pointer dereference on create bucket failure.grpc.Server
panic on GracefulStop
with TLS-enabled server.coreos/go-systemd
to v15
(see https://github.com/coreos/go-systemd/releases/tag/v15)./v2/machines
endpoint for python-etcd wrapper.raft
Learner
node does not vote or promote itself.v3.3.x
is the last release cycle that supports ACI
.
acbuild
is not maintained anymore.*.aci
files won't be available from etcd v3.4 release.gcr.io/etcd-development/etcd
.
golang.org/x/net/context
.