Piotr Tabor
de55bb6331
pkg: Rename imports after making 'pkg' a module
...
find -name '*.go' | xargs sed --follow-symlinks -i 's|go.etcd.io/etcd/v3/pkg/|go.etcd.io/etcd/pkg/v3/|g'
go fmt ./...
2020-10-13 00:09:27 +02:00
Piotr Tabor
28f2b07623
*: Update references to code moved to the api/ dir.
...
Follow up to file-moves done in the previous commit.
The commit contains purely mechanical consequences of execution (apart
of scripts/genproto.sh):
% find ./ -name '*.go' | xargs sed --follow-symlinks -i 's|v3/etcdserver/api/v3rpc/rpctypes|v3/api/v3rpc/rpctypes|g'
% find ./ -name '*.go' | xargs sed --follow-symlinks -i 's|v3/version|v3/api/version|g'
% find ./ -name '*.go' | xargs sed --follow-symlinks -i 's|v3/mvcc/mvccpb|v3/api/mvccpb|g'
% find ./ -name '*.go' | xargs sed --follow-symlinks -i 's|v3/etcdserver/etcdserverpb|v3/api/etcdserverpb|g'
% find ./ -name '*.go' | xargs sed --follow-symlinks -i 's|v3/etcdserver/api/membership/membershippb|v3/api/membershippb|g'
% find ./ -name '*.go' | xargs sed --follow-symlinks -i 's|v3/auth/authpb|v3/api/authpb|g'
% find ./ -name '*.proto' -o -name '*.md' | xargs -L 1 sed --follow-symlinks -i 's|/mvcc/mvccpb/kv.proto|/api/mvccpb/kv.proto|g'
% find ./ -name '*.proto' -o -name '*.md' | xargs -L 1 sed --follow-symlinks -i 's|/auth/authpb/auth.proto|/api/authpb/auth.proto|g'
% find ./ -name '*.proto' -o -name '*.md' | xargs -L 1 sed --follow-symlinks -i 's|/etcdserver/api/membership/membershippb/membership.proto|/api/membershippb/membership.proto|g'
I also modified manually paths in scripts/genproto.sh.
% go fmt ./...
2020-10-06 11:56:16 +02:00
yoyinzyc
2541b0bba9
etcdserver: apply downgrade policy to server.
2020-06-24 11:06:29 -07:00
yoyinzyc
d230e6ba8c
etcdserver: handle and apply downgrade validate, enable and cancel requests
2020-05-15 14:45:00 -07:00
Brandon Philips
96cce208c2
go.mod: use go.etcd.io/etcd/v3 versioning
...
This change makes the etcd package compatible with the existing Go
ecosystem for module versioning.
Used this tool to update package imports:
https://github.com/KSubedi/gomove
2020-04-28 00:57:35 +00:00
Jingyi Hu
c94782cd55
etcdserver: remove capnslog ( #11611 )
...
remove capnslog from etcdserver pkg, except etcdserver/api.
2020-02-11 08:54:14 -08:00
Jingyi Hu
e994a4df01
etcdserver: check http StatusCode before unmarshal
...
Check http StatusCode. Only Unmarshal body if StatusCode is statusOK.
2019-05-28 18:50:13 -07:00
Jingyi Hu
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
Jingyi Hu
f5eaaaf440
etcdserver: forward member promote to leader
2019-05-28 18:50:10 -07:00
Gyuho Lee
34bd797e67
*: revert module import paths
...
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-05-28 15:39:35 -07:00
shivaramr
9150bf52d6
go modules: Fix module path version to include version number
2019-04-26 15:29:50 -07:00
Gyuho Lee
59dd78dde8
etcdserver: clear message in cluster version decision
...
Only leader can decide cluster version.
Clarify the logging that this local node is the leader.
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-10-08 16:05:10 -07:00
Gyuho Lee
1399bc69ce
etcdserver: update import paths to "go.etcd.io/etcd"
...
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-08-28 17:47:55 -07:00
Gyuho Lee
9149565cb3
*: move to "etcdserver/api/membership"
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-05-21 10:31:16 -07:00
Gyuho Lee
d0847f4f25
*: clean up/fix server structured logs
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-18 12:54:43 -07:00
Gyuho Lee
bdbed26f64
etcdserver: support structured logging
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-04-16 17:36:00 -07:00
Gyuho Lee
0850ccbf45
*: revert "internal/version" change
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-02-26 17:11:40 -08:00
Gyuho Lee
37546f74ab
*: move "version" to "internal/version"
...
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
2018-01-29 10:00:20 -08:00
Anthony Romano
3d8e2e1171
etcdserver: remove 2.0 StatusNotFound version check
2017-04-18 20:22:56 -07:00
sharat
2b5a5c77cf
etcdserver: Error handling for invalid empty raft cluster
...
TODO implemented for GetClusterFromRemotePeers should not return nil
error with an invalid empty cluster
#6137
2016-08-10 19:23:19 +05:30
Gyu-Ho Lee
abb4cd5646
etcdserver: update LICENSE header
2016-05-12 20:49:40 -07:00
magicwang-cn
97c71f44fd
etcdserver: close response body when getting cluster information
2016-04-19 10:03:40 +08:00
Xiang Li
bf2289ae00
etcdserver: move membership related code to membership pkg
2016-04-07 14:21:37 -07:00
Xiang Li
030865abe3
*: move Cluster interface to api
2016-04-07 08:05:47 -07:00
Gyu-Ho Lee
a42d1dc1fe
*: drain http.Response.Body before closing
2016-03-30 09:35:47 -07:00
Anthony Romano
bd832e5b0a
*: migrate Godeps to vendor/
2016-03-22 17:10:28 -07:00
Anthony Romano
9ae8d85049
integration: decrease timeout for isMemberBootstrapped
...
Spending seconds(!) when it would fail anyway.
integration/TestV3 (before): 100.670
integration/TestV3 (after): 29.571
2016-02-02 14:34:58 -08:00
Gyu-Ho Lee
f76166a041
*: fix minor typos
2016-01-08 00:21:19 -08:00
Gyu-Ho Lee
40b11038f2
etcdserver: fixes shadowed variables for go tool vet
...
Fix for https://github.com/coreos/etcd/issues/3954 .
2015-12-12 09:13:12 -08:00
Yicheng Qin
32819f6b3f
etcdserver: use roundTripper to request peerURL
...
It uses roundTripper instead of Transport because roundTripper is
sufficient for its requirements.
2015-11-04 10:49:42 -08:00
Yicheng Qin
f3bfcb9dee
etcdserver: add timeout param on getClusterFromRemotePeers
...
It sets 10s timeout for public GetClusterFromRemotePeers.
This helps the following cases to work well in high latency scenario:
1. proxy sync members from the cluster
2. newly-joined member sync members from the cluster
Besides 10s request timeout, the request is also controlled by dial
timeout and read connection timeout.
2015-09-01 08:49:01 -07:00
Yicheng Qin
92cd24d5bd
*: fix govet shadow check failure
2015-08-27 14:15:30 -07:00
Yicheng Qin
1375ef8985
etcdserver: remove getVersion timeout
...
The request can still time out because we have set dial timeout and
read/write timeout. It increases timeout expectation from 1s to 5s,
but it makes it workable in globally-deployer cluster.
2015-08-17 16:50:40 -07:00
Xiang Li
15e03d801f
etcdserver: add version enforcement when setting cluster version
2015-08-17 11:12:39 -07:00
Xiang Li
0076ab154b
etcdserver: better version detection log output
...
Fix https://github.com/coreos/etcd/issues/3288
2015-08-14 16:08:33 -07:00
Xiang Li
e0f9796653
etcdserver: use leveled logging
...
Leveled logging for etcdserver pkg.
2015-06-09 13:53:07 -07:00
Barak Michener
9ef098c5ed
etcdserver: fix go vet. Fixes #2859
2015-05-22 13:54:54 -04:00
Xiang Li
aa417ab644
etcdserver: log the per endpoint error in getVersion
2015-05-20 12:10:10 -07:00
Xiang Li
db7db689a6
etcdserver: check cluster version compability when joining
2015-05-19 10:19:41 -07:00
Xiang Li
9f8342dba4
etcdserver: do not get local version via HTTP
2015-05-13 17:19:32 -07:00
Xiang Li
988c30bfba
etcdserver: getVersion returns both server and cluster version
2015-05-13 17:04:46 -07:00
Yicheng Qin
a6a649f1c3
etcdserver: stop exposing Cluster struct
...
After this PR, only cluster's interface Cluster is exposed, which makes
code much cleaner. And it avoids external packages to rely on cluster
struct in the future.
2015-05-13 10:01:25 -07:00
Xiang Li
e866314b94
etcdserver: support update cluster version through raft
...
1. Persist the cluster version change through raft. When the member is restarted, it can recover
the previous known decided cluster version.
2. When there is a new leader, it is forced to do a version checking immediately. This helps to
update the first cluster version fast.
2015-05-12 11:44:34 -07:00
Xiang Li
6699107f61
*: add cluster version and cluster version detection.
...
Cluster version is the min major.minor of all members in
the etcd cluster. Cluster version is set to the min version
that a etcd member is compatible with when first bootstrapp.
During a rolling upgrades, the cluster version will be updated
automatically.
For example:
```
Cluster [a:1, b:1 ,c:1] -> clusterVersion 1
update a -> 2, b -> 2
after a detection
Cluster [a:2, b:2 ,c:1] -> clusterVersion 1, since c is still 1
update c -> 2
after a detection
Cluster [a:2, b:2 ,c:2] -> clusterVersion 2
```
The API/raft component can utilize clusterVersion to determine if
it can accept a client request or a raft RPC.
We choose polling rather than pushing since we want to use the same
logic for cluster version detection and (TODO) cluster version checking.
Before a member actually joins a etcd cluster, it should check the version
of the cluster. Push does not work since the other members cannot push
version info to it before it actually joins. Moreover, we do not want our
raft RPC system (which is doing the heartbeat pushing) to coordinate cluster version.
2015-04-29 11:31:59 -07:00
Yicheng Qin
1811701427
Revert "etcdserver: fix cluster fallback recovery"
...
This reverts commit cff005777a
.
Conflicts:
etcdserver/server.go
2015-04-19 11:34:33 -07:00
Yicheng Qin
cff005777a
etcdserver: fix cluster fallback recovery
...
Cluster and transport may recover to old states when new node joins
the cluster. Record cluster last modified index to avoid this.
2015-02-20 14:30:00 -08:00
Xiang Li
c5ca1218f3
etcdserver: GetClusterFromPeers -> GetClusterFromRemotePeers
2015-02-13 19:05:29 -08:00
Xiang Li
f7540912d6
etcdserver: getOtherPeerURLs -> getRemotePeerURLs
2015-02-13 18:56:45 -08:00
Xiang Li
163f0f09f6
etcdserver: cleanup cluster_util
2015-02-11 16:20:38 -08:00
Xiang Li
20497f1f85
etcdserver: move remote cluster retrive to cluster_util.go
2015-02-11 14:03:14 -08:00