Rafael Fernández López
6991f619f2
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-20 12:06:35 +01:00
Jingyi Hu
d6a3c995cf
Merge pull request #11621 from jingyih/corruption_check_tls
...
etcdserver: make corruption check work under peer mTLS
2020-02-18 18:55:13 +08:00
Ted Yu
7e0e6bf497
mvcc/backend: remove db.tmp regardless of logger presence
2020-02-14 12:10:24 -08:00
jingyih
c031b27491
etcdserver: corruption check via http
...
During corruption check, get peer's hashKV via http call.
2020-02-14 06:03:15 -08:00
Joe Betz
213f7f7877
mvcc/backend: Delete orphaned db.tmp files before defrag
2020-02-12 22:40:28 -08:00
Jingyi Hu
61f279454e
etcdserver/api: remove capnslog ( #11606 )
...
* etcdserver/api/rafthttp: remove capnslog
* etcdserver/api/membership: remove capnslog
* etcdserver/api/v2auth: remove capnslog
* etcdserver/api/v2discovery: remove capnslog
* etdserver/api/v2stats: remove capnslog
* etcdserver/api/v2http: remove capnslog
* etcdserver/api/v3rpc: remove capnslog
* etcdserver/api: remove capnslog
Remove capnslog from etcdserver/api. Note that capnslog was
already removed in some packages under etcdserver/api in
previous commits.
2020-02-11 13:51:25 -08:00
Jingyi Hu
c94782cd55
etcdserver: remove capnslog ( #11611 )
...
remove capnslog from etcdserver pkg, except etcdserver/api.
2020-02-11 08:54:14 -08:00
Hitoshi Mitake
fda8d38bd4
etcdserver: mark AuthStatus as no side effect request
2020-02-11 23:26:50 +09:00
Sahdev Zala
4c25efc1f8
Discovery: do not allow passing negative cluster size ( #11608 )
...
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-02-10 10:43:41 -08:00
Daniel Lipovetsky
bc4adb8b5c
etcdserver: populate ResponseHeader in Alarm method ( #11600 )
...
When no Alarms are found, the response has no header. The header should always
be populated. Some components, like fields printer used by etcdctl, break when
the header is not populated.
Fixes #11581
Signed-off-by: Daniel Lipovetsky <dlipovetsky@d2iq.com>
2020-02-08 23:07:58 -08:00
Vern Burton
071e70cdc4
*: add a new API and command for checking auth status ( #11536 )
...
This changes have started at etcdctl under auth.go, and make changes to stub out everything down into the internal raft. Made changes to the .proto files and regenerated them so that the local version would build successfully.
2020-02-05 19:27:42 -08:00
Gyuho Lee
a924600700
Merge pull request #11590 from alrs/fix-dropped-test-error
...
etcdserver/api/v2v3: fix dropped test error
2020-02-05 08:41:07 -08:00
Lars Lehtonen
f2c3bcd086
etcdserver/api/v2v3: fix dropped test error
...
etcdserver/api/v2v3: use testing.T instead of log in tests
2020-02-05 07:20:12 -08:00
Jingyi Hu
7395ed8e5d
Merge pull request #11578 from jingyih/set_zap_as_default_logger
...
*: set zap as default logger, remove capnslog
2020-02-04 22:58:45 -08:00
jingyih
725e09023a
*: set zap as default logger, remove capnslog
...
Set zap as default logger. Remove capnslog and deprecated logging
flags.
2020-02-04 04:57:49 -08:00
sfzhu93
cad92706cf
in multiple packages: fixed goroutine leak bugs in tests ( #11569 )
2020-01-30 10:45:59 -08:00
yoyinzyc
7784ca8997
etcdserver: remove v2 version set; e2e: fix tests.
2019-12-09 13:08:00 -08:00
Jingyi Hu
ed5a01a48d
etcdserver: recover cluster version from backend
2019-12-05 16:25:13 -08:00
Jingyi Hu
5cd2502ab1
etcdserver: use v3 to publish member attr
2019-12-05 16:25:13 -08:00
yoyinzyc
0c3401fa76
etcdserver: use V3 to update cluster version
2019-12-05 16:25:13 -08:00
Jingyi Hu
dcd622b2c7
etcdserver: add v3 request type for cluster attr
...
Added ClusterVersionSetRequest for setting cluster version via v3 apply.
Added ClusterMemberAttrSetRequest for setting clsuter member attributes
via v3 apply.
2019-12-05 16:25:13 -08:00
jianli
cdc28507ef
etcdserver: fix append object to a new allocated sized slice
2019-11-01 10:19:45 +08:00
Jingyi Hu
c447955d93
etcdserver: wait purge file loop during shutdown
...
To prevent the purge file loop from accidentally acquiring the file lock
and remove the files during server shutdowm.
2019-10-30 14:21:08 -07:00
Hitoshi Mitake
84e2788c2e
Merge pull request #10468 from jingyih/remove_auth_loop
...
etcdserver: remove infinite loop for auth in raftRequest
2019-10-29 00:11:40 +09:00
yoyinzyc
80a177292e
rafthttp: add test stream support for current version.
2019-10-21 09:45:00 -07:00
Jingyi Hu
5dc12f2725
Merge pull request #11274 from YoyinZyc/fix-upgrade-failure
...
rafthttp: add 3.4.0,3.5.0 stream type
2019-10-20 19:20:06 -07:00
yoyinzyc
a0e528e4b1
rafthttp: add 3.4.0,3.5.0 stream type
2019-10-17 14:25:56 -07:00
Jingyi Hu
444bfdff59
etcdserver: strip patch version in metrics
...
Strip patch version in cluster version metrics during node restart.
2019-10-16 12:39:17 -07:00
Jingyi Hu
1333abc606
etcdserver: strip patch version in cluster version
...
Strip patch version in cluster version metrics.
2019-10-14 16:59:09 -07:00
Jingyi Hu
9c4194f6ef
etcdserver: unset old cluster version in metrics
2019-10-11 22:25:03 -07:00
Gyuho Lee
340f0ac797
Merge pull request #11179 from YoyinZyc/trace
...
Add tracing to range request in etcd server.
2019-10-08 13:23:53 -07:00
yoyinzyc
57aa68af5a
etcdserver: trace compaction request; add return parameter 'trace' to applierV3.Compaction()
...
mvcc: trace compaction request; add input parameter 'trace' to KV.Compact()
2019-10-07 09:55:27 -07:00
yoyinzyc
3a3eb24c69
etcdserver: trace raft requests.
2019-10-01 15:38:52 -07:00
yoyinzyc
401df4bb8e
etcdserver: add put request steps.
...
mvcc: add put request steps; add trace to KV.Write() as input parameter.
2019-10-01 14:08:06 -07:00
yoyinzyc
1d6ef8370e
pkg: use zap logger to format the structure log output.
2019-09-30 13:11:21 -07:00
yoyinzyc
3830b3ef11
pkg: add field to record additional detail of trace; add stepThreshold
...
to reduce log volume.
2019-09-30 13:11:21 -07:00
yoyinzyc
f4e7fc56a7
pkg: create package traceutil for tracing. mvcc: add tracing
...
steps:range from the in-memory index tree; range from boltdb.
etcdserver: add tracing steps: agreement among raft nodes before
linerized reading; authentication; filter and sort kv pairs; assemble
the response.
2019-09-30 13:06:02 -07:00
Xiang Li
589ab747f7
Merge pull request #11014 from dbavatar/peervalidation
...
etcdserver: Fix PeerURL validation
2019-09-13 17:42:39 -07:00
Debabrata Banerjee
0dd10cf6b8
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-13 17:53:40 -04:00
zhangjianweibj
81a34ab6d5
etcdserver: remove dup percentage sign in log
2019-09-05 11:24:39 +08:00
Joe Betz
9b51febaf5
*: Add experimental-compaction-batch-limit flag
2019-08-15 11:47:23 -07:00
Gyuho Lee
06b82c200f
etcdserver: add "etcd_server_snapshot_apply_inflights_total"
...
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-08 13:33:52 -07:00
Gyuho Lee
46bddacacb
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 13:33:48 -07:00
Zeming YU
3edb569ad3
v3rpc: fix a typo err
...
don't read return value in child goroutine which causes data race.
2019-08-06 14:04:58 -07:00
Gyuho Lee
7fbbb9c8bf
*: add 3.5 capability for 3.5 dev tree
...
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-02 15:27:54 -07:00
Gyuho Lee
3658571e3a
etcdserver/api: enable 3.4 capability
...
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-02 15:24:18 -07:00
Gyuho Lee
6a0811a949
*: use new adt.IntervalTree interface
...
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-07-31 22:23:13 -07:00
Gyuho Lee
c6e3401255
etcdserver: make raft log configured by top level logger
...
To make it consistent
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-07-29 15:43:19 -07:00
Gyuho Lee
2f30e9ad7f
etcdserver: document v2 usage in "publish" method
...
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-07-28 21:07:39 -05:00
Gyuho Lee
7cbe2f5dd6
etcdserver/api/v3rpc: use new "credentials" package
...
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-07-26 08:56:38 -07:00