See code changes and v3.3 upgrade guide for any breaking changes.
curl -L http://localhost:2379/v3/election/proclaim -X POST -d '{"value":""}', curl -L http://localhost:2379/v3/election/resign -X POST -d '{"value":""}'.--auto-compaction-mode revision --auto-compaction-retention 1 was translated to revision retention 3600000000000.--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 (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.
etcdserver: read-only range request "key:\"\\000\" range_end:\"\\000\" " took too long [3.389041388s] to executemvcc "unsynced" watcher restore operation.
See code changes and v3.3 upgrade guide for any breaking changes.
See code changes and v3.3 upgrade guide for any breaking changes.
See code changes and v3.3 upgrade guide for any breaking changes.
See code changes and v3.3 upgrade guide for any breaking changes.
See code changes and v3.3 upgrade guide for any breaking changes.
See code changes and v3.3 upgrade guide for any breaking changes.
coreos/bbolt to replace boltdb/bolt.
clientv3 balancer failover under network faults/partitions.--initial-cluster flag.
--initial-advertise-peer-urls against corresponding --initial-cluster URLs with forward-lookup.--initial-advertise-peer-urls and --initial-cluster do not match (e.g. due to DNS error), etcd will exit with errors.--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 ...)).golang.org/x/net/context.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.github.com/grpc-ecosystem/grpc-gateway v1.2.2 to v1.3.0.Snapshot API.github.com/ugorji/go/codec for v2 client.
client source code with latest ugorji/go/codec.etcdctl lease timetolive LEASE_ID on expired lease now prints "lease LEASE_ID already expired".
"lease LEASE_ID granted with TTL(0s), remaining(-1s)".etcd--experimental-enable-v2v3 flag to emulate v2 API with v3.--experimental-corrupt-check-time flag to raise corrupt alarm monitoring.--experimental-initial-corrupt-check flag to check database hash before serving client/peer traffic.--max-txn-ops flag to configure maximum number operations in transaction.--max-request-bytes flag to configure maximum client request size.
--client-crl-file, --peer-crl-file flags for Certificate revocation list.--peer-cert-allowed-cn flag to support CN-based auth for inter-peer connection.--listen-metrics-urls flag for additional /metrics endpoints.
/metrics endpoints for a TLS-enabled cluster.--listen-metrics-urls=https://localhost:2378,http://localhost:9379 to serve /metrics in secure port 2378 and insecure port 9379.--auto-compaction-mode flag to support revision-based compaction.--auto-compaction-retention flag to accept string values with finer granularity.
--auto-compaction-mode=periodic --auto-compaction-retention=30m automatically Compact on latest revision every 30-minute.--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).--grpc-keepalive-min-time, --grpc-keepalive-interval, --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.v3.4 will exit on this error.--advertise-client-urls=http://:2379.v3.4 will exit on this error.clientv3MaxCallSendMsgSize 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.etcdctlbackup --with-v3 flag.etcdctl--discovery-srv flag.--keepalive-time, --keepalive-timeout flags.lease list command.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).snapshot restore --wal-dir flag.defrag --data-dir flag.move-leader command.endpoint hashkv command.endpoint --cluster flag, equivalent to v2 etcdctl cluster-health.endpoint health command terminate with non-zero exit code on unhealthy status.lock --ttl flag.watch [key] [range_end] -- [exec-command…], equivalent to v2 etcdctl exec-watch.
watch -- [exec-command] set environmental variables ETCD_WATCH_REVISION, ETCD_WATCH_EVENT_TYPE, ETCD_WATCH_KEY, ETCD_WATCH_VALUE for each event.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.etcd --listen-metrics-urls flag for additional /metrics 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.
grpc-proxygrpc-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./v3beta.
/v3alpha in v3.4.raftLearner node does not vote or promote itself.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.
golang.org/x/crypto/bcrypt (see golang/crypto@6c586e1)./v2/machines endpoint for python-etcd wrapper.etcd_debugging_mvcc_range_totaletcd_debugging_mvcc_put_totaletcd_debugging_mvcc_delete_totaletcd_debugging_mvcc_txn_totaletcd_debugging_mvcc_keys_total on restore.etcd_debugging_mvcc_db_total_size_in_bytes on restore.
prometheus.NewGaugeFunc.clientv3.etcdctl.mvcc/backend.defragdb nil-pointer dereference on create bucket failure.clientv3.WatchResponse.Canceled on compacted watch request.grpc.Server panic on GracefulStop with TLS-enabled server.concurrency/stm Put with serializable snapshot.
grpc-proxy Snapshot API error handling.grpc-proxy KV API PrevKv flag handling.grpc-proxy KV API KeysOnly flag handling.coreos/go-systemd to v15 (see https://github.com/coreos/go-systemd/releases/tag/v15).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.