mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
5.5 KiB
5.5 KiB
v3.4.0 (TBD)
v3.4.0 is not yet released.
Changed(Breaking Changes)
- Drop ACIs from official release.
- AppC was officially suspended, as of late 2016.
acbuildis not maintained anymore.*.acifiles are not available fromv3.4release.
- Exit on empty hosts in advertise URLs.
- Address advertise client URLs accepts empty hosts.
- e.g. exit with error on
--advertise-client-urls=http://:2379. - e.g. exit with error on
--initial-advertise-peer-urls=http://:2380.
- Exit on shadowed environment variables.
- Address error on shadowed environment variables.
- e.g. exit with error on
ETCD_INITIAL_CLUSTER_TOKEN=abc etcd --initial-cluster-token=def.
- Migrate dependency management tool from
glidetogolang/dep.- <= 3.3 puts
vendordirectory undercmd/vendordirectory to prevent conflicting transitive dependencies. - 3.4 moves
cmd/vendordirectory tovendorat repository root. - Remove recursive symlinks in
cmddirectory. - Now
go get/install/buildonetcdpackages (e.g.clientv3,tools/benchmark) enforce builds with etcdvendordirectory.
- <= 3.3 puts
- Reorganize internal packages.
internal/*packages cannot be(are not meant to be) imported by external projects.- Move
"github.com/coreos/etcd/alarm"to"github.com/coreos/etcd/internal/alarm". - Move
"github.com/coreos/etcd/auth"to"github.com/coreos/etcd/internal/auth". - Move
"github.com/coreos/etcd/compactor"to"github.com/coreos/etcd/internal/compactor".embed.CompactorModePeriodicto replacecompactor.ModePeriodic.embed.CompactorModeRevisionto replacecompactor.ModeRevision.
- Move
"github.com/coreos/etcd/discovery"to"github.com/coreos/etcd/internal/discovery". - Move
"github.com/coreos/etcd/lease"to"github.com/coreos/etcd/internal/lease". - Move
"github.com/coreos/etcd/mvcc"to"github.com/coreos/etcd/internal/mvcc". - Move
"github.com/coreos/etcd/snap"to"github.com/coreos/etcd/internal/raftsnap". - Move
"github.com/coreos/etcd/store"to"github.com/coreos/etcd/internal/store". - Move
"github.com/coreos/etcd/version"to"github.com/coreos/etcd/internal/version".
- Move
"github.com/coreos/etcd/etcdserver/auth"to"github.com/coreos/etcd/etcdserver/v2auth".
Added(etcd)
- Add
--discovery-srv-nameflag to support custom DNS SRV name with discovery.- If not given, etcd queries
_etcd-server-ssl._tcp.[YOUR_HOST]and_etcd-server._tcp.[YOUR_HOST]. - If
--discovery-srv-name="foo", then query_etcd-server-ssl-foo._tcp.[YOUR_HOST]and_etcd-server-foo._tcp.[YOUR_HOST]. - Useful for operating multiple etcd clusters under the same domain.
- If not given, etcd queries
Added(API)
- Add
snapshotpackage for snapshot restore/save operations. - Add
watch_idfield toetcdserverpb.WatchCreateRequest, allow user-provided watch ID tomvcc.- Corresponding
watch_idis returned viaetcdserverpb.WatchResponse, if any.
- Corresponding
- Add
raftAppliedIndexfield toetcdserverpb.StatusResponsefor current Raft applied index. - Add
errorsfield toetcdserverpb.StatusResponsefor server-side error.- e.g.
"etcdserver: no leader", "NOSPACE", "CORRUPT"
- e.g.
- Add
dbSizeInUsefield toetcdserverpb.StatusResponsefor actual DB size after compaction.- Also exposed as metric
etcd_debugging_mvcc_db_total_size_in_use_in_bytes
- Also exposed as metric
Added(v3 etcdctl)
- Add
check datascalecommand. - Add "raft applied index" to
endpoint status. - Add "errors" to
endpoint status.
Package raft
- Improve Raft
becomeLeaderandstepLeaderby keeping track of latestpb.EntryConfChangeindex.- Previously record
pendingConfboolean field scanning the entire tail of the log, which can delay hearbeat send.
- Previously record
- Add
raft.ErrProposalDropped.- Now
(r *raft) Stepreturnsraft.ErrProposalDroppedif a proposal has been ignored. - e.g. a node is removed from cluster, ongoing leadership transfer, etc.
- Now
- Fix missing learner nodes on
(n *node) ApplyConfChange.