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
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
43ed94f769
etcdserver: filter rpc request to learner
...
Hardcoded allowed rpc for learner node. Added filtering in grpc
interceptor to check if rpc is allowed for learner node.
2019-05-15 13:15:20 -07:00
355d0ab2a6
*: add learner field in endpoint status
...
Added learner field to endpoint status API.
2019-05-15 13:13:59 -07:00
e1acf244c1
etcdserver: Add MemberAddAsLearner
...
Made changes to api/membership:
- Added MemberAddAsLearner
- Reverted changes to MemberAdd - removed input parameter isLearner
2019-05-14 18:18:10 -07:00
2b76200f70
*: add MemberAddAsLearner to clientv3 Cluster API
...
Made changes to Clientv3 Cluster API:
- Added MemberAddAsLearner.
- Reverted changes to MemberAdd - removed input parameter isLearner.
2019-05-14 16:56:44 -07:00
fc14608cb7
clientv3: support MemberAdd for learner
...
Added IsLearner flag to clientv3 MemberAdd API.
2019-05-14 13:10:22 -07:00
604bc04f70
etcdserver: support MemberAdd for learner
...
Added IsLearner field to etcdserver internal Member type. Routed
learner MemberAdd request from server API to raft. Apply learner
MemberAdd result to server after the request is passed through Raft.
2019-05-14 13:10:22 -07:00
a0d3c4d641
*: fix compilation after API change
...
Fixed compilation erros after API change for learner.
2019-05-14 13:10:22 -07:00
9150bf52d6
go modules: Fix module path version to include version number
2019-04-26 15:29:50 -07:00
decc0d5f43
api/rafthttp: fix the probing status print
...
Signed-off-by: nolouch <nolouch@gmail.com >
2019-04-23 19:51:34 +08:00