0b7e4184e8
etcdserver,wal: Convert int to string using rune()
2021-04-19 11:18:13 +02:00
656dc63eab
etcdserver: fix incorrect metrics generated when clients cancel watches
...
Manual cherry-pick of 9571325fe8
for
release-3.4.
2021-03-31 22:59:29 -07:00
30799c97be
Merge pull request #12815 from dbavatar/release-3.4-peervalidation
...
etcdserver: Fix PeerURL validation
2021-03-30 12:54:32 +02:00
f27ef4d343
[Backport-3.4] etcdserver/api/etcdhttp: log successful etcd server side health check in debug level
...
ref. #12677
ref. 0b9cfa8677
2021-02-08 21:44:44 -08:00
e71e0c5c88
Merge pull request #12226 from jingyih/fix_backport_PR12216
...
*: add plog logging to the backport of PR12216
2020-08-18 08:48:09 -07:00
299e0f17aa
Revert "etcdserver/api/v3rpc: "MemberList" never return non-empty ClientURLs"
...
This reverts commit 0372cfc7ab
.
2020-08-18 08:45:38 -07:00
75d5e78d1f
*: fix backport of PR12216
...
Fix bugs introduced in commit c60dabf
2020-08-16 15:01:18 +08:00
c60dabf2f3
*: add experimental flag for watch notify interval
...
Signed-off-by: Gyuho Lee <leegyuho@amazon.com >
2020-08-15 10:24:25 -07:00
0372cfc7ab
etcdserver/api/v3rpc: "MemberList" never return non-empty ClientURLs
...
Signed-off-by: Gyuho Lee <leegyuho@amazon.com >
cr https://code.amazon.com/reviews/CR-29712724
2020-07-16 16:29:51 -07:00
9a24f73f7b
Discovery: do not allow passing negative cluster size
...
When an etcd instance attempts to perform service discovery, if a
cluster size with negative value is provided, the etcd instance
will panic without recovery because of
2020-06-21 18:00:35 -04:00
cfe37de6c0
rafthttp: log snapshot download duration
...
Signed-off-by: Gyuho Lee <leegyuho@amazon.com >
2020-05-20 11:37:01 -07:00
a668adba78
rafthttp: improve snapshot send logging
...
Signed-off-by: Gyuho Lee <leegyuho@amazon.com >
2020-05-18 11:39:24 -07:00
9bad82fee5
*: make sure snapshot save downloads SHA256 checksum
...
ref. https://github.com/etcd-io/etcd/pull/11896
Signed-off-by: Gyuho Lee <leegyuho@amazon.com >
2020-05-17 17:38:42 -07:00
f1ea03a7c8
etcdserver/api/snap: exclude orphaned defragmentation files in snapNames
...
ref. https://github.com/etcd-io/etcd/pull/11900
Signed-off-by: Gyuho Lee <leegyuho@amazon.com >
2020-05-17 14:21:02 -07:00
4079deadb4
etcdserver: continue releasing snap db in case of error
...
Signed-off-by: Ted Yu <yuzhihong@gmail.com >
Signed-off-by: Gyuho Lee <leegyuho@amazon.com >
2020-05-17 14:15:26 -07:00
87fc3c9e57
etcdserver,wal: fix inconsistencies in WAL and snapshot
...
etcdserver/*, wal/*: changes to snapshots and wal logic
etcdserver/*: changes to snapshots and wal logic to fix #10219
etcdserver/*, wal/*: add Sync method
etcdserver/*, wal/*: find valid snapshots by cross checking snap files and wal snap entries
etcdserver/*, wal/*:Add comments, clean up error messages and tests
etcdserver/*, wal/*: Remove orphaned .snap.db files during Release
Signed-off-by: Gyuho Lee <leegyuho@amazon.com >
2020-05-15 08:40:09 -07:00
9c8554573f
etcdserver: watch stream got closed once one request is not permitted ( #11708 )
2020-04-06 07:06:57 -07:00
e63db56cc9
etcdserver/api/v3rpc: handle api version metadata, add metrics
...
ref.
https://github.com/etcd-io/etcd/pull/11687
Signed-off-by: Gyuho Lee <leegyuho@amazon.com >
2020-03-18 17:17:04 -07:00
0b9cfa8677
etcdserver/api/etcdhttp: log server-side /health checks
...
ref.
https://github.com/etcd-io/etcd/pull/11704
Signed-off-by: Gyuho Lee <leegyuho@amazon.com >
2020-03-18 16:29:24 -07:00
257319fb18
etcdserver: fix quorum calculation when promoting a learner member
...
When promoting a learner member we should not count already a voting
member, but take only into account the number of existing voting
members and their current status (started, unstarted) when taking the
decision whether a learner member can be promoted.
Before this change, it was impossible to grow from a quorum N to a N+1
through promoting a learning member.
Fixes : #11633
2020-02-21 23:14:55 -08:00
770674e4a6
etcdserver: corruption check via http
...
During corruption check, get peer's hashKV via http call.
2020-02-18 14:12:19 -08:00
6d646c442a
mvcc/backend: Delete orphaned db.tmp files before defrag
2020-02-13 12:26:54 -08:00
6cf418ff6d
Merge pull request #11275 from YoyinZyc/stream-support-3.4
...
rafthttp: add 3.4 stream type
2019-10-18 10:25:53 -07:00
97e68cf4e7
rafthttp: add 3.4 stream type
2019-10-17 14:33:53 -07:00
b67862c0a6
etcdserver: strip patch version in cluster version
...
Strip patch version in cluster version metrics.
2019-10-14 17:37:49 -07:00
6a699b6b7f
etcdserver: unset old cluster version in metrics
2019-10-14 17:35:10 -07:00
3b8f812955
etcdserver: Fix PeerURL validation
...
In case of URLs that are synonyms, the current lexicographic sorting
and compare of the URLs fails with frustrating errors. Make sure to do
a full comparison between every set of PeerURLs before failing.
Fixes #11013
2019-09-16 11:49:58 -04:00
abdb7ca17b
etcdserver/api: add "etcd_network_snapshot_send_inflights_total", "etcd_network_snapshot_receive_inflights_total"
...
Useful for deciding when to terminate the unhealthy follower.
If the follower is receiving a leader snapshot, operator may wait.
Signed-off-by: Gyuho Lee <leegyuho@amazon.com >
2019-08-08 14:01:45 -07:00
b6cfaf883b
v3rpc: fix a typo err
...
don't read return value in child goroutine which causes data race.
2019-08-06 15:09:47 -07:00
14053ba7f7
etcdserver/api: enable 3.4 capability
...
Signed-off-by: Gyuho Lee <leegyuho@amazon.com >
2019-08-02 15:24:40 -07:00
6a0811a949
*: use new adt.IntervalTree interface
...
Signed-off-by: Gyuho Lee <leegyuho@amazon.com >
2019-07-31 22:23:13 -07:00
7cbe2f5dd6
etcdserver/api/v3rpc: use new "credentials" package
...
Signed-off-by: Gyuho Lee <leegyuho@amazon.com >
2019-07-26 08:56:38 -07:00
50babc16e7
etcdserver/api/v2v3: skip tests for CI
...
To fix in v3.5
Signed-off-by: Gyuho Lee <leegyuho@amazon.com >
2019-07-26 05:54:58 -07:00
388d15f521
Merge pull request #10622 from philips/add-v2v3-tests
...
etcdserver: api/v2v3: add initial tests
2019-07-25 10:05:29 -07:00
1cef112a79
etcdserver: do not allow creating empty role
...
Like user, we should not allow creating empty role.
Related #10905
2019-07-24 17:41:24 -04:00
b9c051e7a7
raftpb: clean up naming in ConfChange
2019-07-23 10:40:03 +02:00
b1812a410f
Raft HTTP: fix pause/resume race condition
2019-06-17 11:45:25 -04:00
f8ad8ae4ad
etcdserver: use etcdserver ErrLearnerNotReady
...
If learner is not ready to be promoted, use etcdserver.ErrLearnerNotReady
instead of using membership.ErrLearnerNotReady.
2019-05-28 18:50:13 -07:00
f5eaaaf440
etcdserver: forward member promote to leader
2019-05-28 18:50:10 -07:00
dfe296ac3c
etcdserver: add mayPromote check
2019-05-28 18:47:03 -07:00
aa4cda2f5c
etcdserver: allow 1 learner in cluster
...
Hard-coded the maximum number of learners to 1.
2019-05-28 18:47:03 -07:00
c438f6db27
etcdserver: check IsMemberExist before IsLearner
...
If member does not exist in cluster, IsLearner will panic.
2019-05-28 18:47:03 -07:00
d0c1b3fa38
etcdserver: learner return Unavailable for unsupported RPC
...
Make learner return code.Unavailable when the request is not supported
by learner. Client balancer will retry a different endpoint.
2019-05-28 18:47:03 -07:00
76a63f9f7d
etcdserver: adjust StrictReconfigCheck
...
Adjust StrictReconfigCheck logic to accommodate learner members in the
cluster.
2019-05-28 18:47:03 -07:00
34bd797e67
*: revert module import paths
...
Signed-off-by: Gyuho Lee <leegyuho@amazon.com >
2019-05-28 15:39:35 -07:00
23f1d02391
*: address comments
2019-05-15 15:58:46 -07:00
a039f2efb8
clientv3, etcdctl: MemberPromote for learner
2019-05-15 13:48:52 -07:00
44d935e90a
etcdserver: exclude learner from leader transfer
...
1. Maintenance API MoveLeader() returns ErrBadLeaderTransferee if
transferee does not exist or is raft learner.
2. etcdserver TransferLeadership() only choose voting member as
transferee.
2019-05-15 13:27:42 -07:00
7f9479acc1
clientv3: add member promote
2019-05-15 13:27:42 -07:00
ba9fd620e8
etcdserver: support MemberPromote for learner
2019-05-15 13:27:42 -07:00