15144 Commits

Author SHA1 Message Date
Jingyi Hu
6bf609b96d integration: update TestMemberPromote test
Update TestMemberPromote to include both learner not-ready and learner
ready test cases.

Removed unit test TestPromoteMember, it requires underlying raft node to
be started and running. The member promote is covered by the integration
test.
2019-05-28 18:50:13 -07:00
宇慕
3f94385fc6 etcdserver: update raftStatus 2019-05-28 18:50:13 -07: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
宇慕
dfe296ac3c etcdserver: add mayPromote check 2019-05-28 18:47:03 -07:00
Jingyi Hu
cca8b0d44f Doc: add learner in runtime-configuration.md 2019-05-28 18:47:03 -07:00
Jingyi Hu
7a4d233bab clientv3/integration: better way to deflake test
Use ReadyNotify instead of time.Sleep to wait for server ready.
2019-05-28 18:47:03 -07:00
Jingyi Hu
aa4cda2f5c etcdserver: allow 1 learner in cluster
Hard-coded the maximum number of learners to 1.
2019-05-28 18:47:03 -07:00
Jingyi Hu
c438f6db27 etcdserver: check IsMemberExist before IsLearner
If member does not exist in cluster, IsLearner will panic.
2019-05-28 18:47:03 -07:00
Jingyi Hu
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
Jingyi Hu
76a63f9f7d etcdserver: adjust StrictReconfigCheck
Adjust StrictReconfigCheck logic to accommodate learner members in the
cluster.
2019-05-28 18:47:03 -07:00
Gyuho Lee
bdcecd1fc4
Merge pull request #10764 from jingyih/clarify_config_file_setting
*: more clarification on when server config file is provided
2019-05-28 16:23:19 -07:00
Gyuho Lee
9c5426830b
Merge pull request #10766 from gyuho/fix
*: reverting versioned import paths, use Go 1.12 for tests
2019-05-28 16:21:48 -07:00
Gyuho Lee
9ecbf5d2d1 main_test: skip test when invoked via go test
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-05-28 16:19:11 -07:00
Gyuho Lee
8ff5914404 tests: update semaphore upgrade tests
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-05-28 15:39:35 -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
Gyuho Lee
c8ffa36d9e scripts/genproto: bump up protoc 3.7.1
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-05-28 15:39:35 -07:00
Gyuho Lee
05378f0d5d Makefile: upgrade default Go version
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-05-28 15:39:35 -07:00
Gyuho Lee
75e440b105 build: fix import path
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-05-28 15:39:35 -07:00
Gyuho Lee
986f16e032 CHANGELOG: remove import path change
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-05-28 15:39:35 -07:00
Gyuho Lee
e3cdd3ae9c travis: fix GO111MODULE, import paths
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-05-28 15:39:30 -07:00
Jingyi Hu
5e9c424f1f *: more clarification on server config file
Be more explicit in document and command line usage message that if a
config file is provided, other command line flags and environment
variables will be ignored.
2019-05-27 22:54:14 -07:00
Brandon Philips
a1ef44358d
Merge pull request #10760 from jingyih/remove_you_word_from_doc
Doc: remove word you
2019-05-27 21:43:36 -07:00
Gyuho Lee
11d3f74c33
Merge pull request #10744 from philips/drop-readthedocs
*: move to etcd.io for docs
2019-05-27 03:02:01 -07:00
Gyuho Lee
e33c98f5ed
Merge pull request #10763 from Inconnu08/master
clientv3: fix typo in test filename
2019-05-27 03:00:29 -07:00
Inconnu08
2eaed14def clientv3: fix typo in test filename 2019-05-27 13:53:58 +06:00
Jingyi Hu
cf57fc837e Doc: remove word you
markdown_you test fails due to the appearance of word you in documents.
2019-05-24 16:06:10 -07:00
Brandon Philips
2ff2755528
Merge pull request #10750 from etcd-io/fanminshi-patch-1
readme: add etcd Emeritus section
2019-05-23 12:06:25 -07:00
Fanmin Shi
a1a482a67d
readme: add explanation 2019-05-22 20:58:17 -07:00
Tobias Grieger
c38e965a65
Merge pull request #10683 from tbg/prs
raft: extract progress tracking into own component
2019-05-22 16:53:50 +02:00
Fanmin Shi
4a42371447
readme: add etcd Emeritus section 2019-05-21 22:17:56 -07:00
Fanmin Shi
416a5390c4
Merge pull request #10745 from etcd-io/fanminshi-patch-1
MAINTAINERS: remove fanmin shi
2019-05-21 22:12:06 -07:00
Tobias Schottdorf
5dd45011d6 raft: rename prs to progressTracker 2019-05-21 16:03:36 +02:00
Tobias Schottdorf
02b0d80234 raft: remove quorum() dependency from readOnly
This now delegates the quorum computation to r.prs, which will allow
it to generalize in a straightforward way when etcd-io/etcd#7625 is
addressed.
2019-05-21 16:03:36 +02:00
Tobias Schottdorf
57a1b39fcd raft: avoid another call to quorum()
This particular caller just wanted to know whether it was in a single-voter
cluster configuration, which is now a question prs can answer.
2019-05-21 16:02:52 +02:00
Tobias Schottdorf
bc828e939a raft: pull checkQuorumActive into prs
It's looking at each voter's Progress and needs to know how quorums
work, so this is the ideal new home for it.
2019-05-21 16:02:52 +02:00
Tobias Schottdorf
a6f222e62d raft: establish an interface around vote counting
This cleans up the mechanical refactor in the last commit and will
help with etcd-io/etcd#7625 as well.
2019-05-21 16:02:52 +02:00
Tobias Schottdorf
26eaadb1d1 raft: move votes into prs
This is purely mechanical. Cleanup deferred to the next commit.
2019-05-21 16:02:52 +02:00
Tobias Schottdorf
a11563737c raft: use progress tracker APIs in more places
This doesn't completely eliminate access to prs.nodes, but that's not
really necessary. This commit uses the existing APIs in a few more
places where it's convenient, and also sprinkles some assertions.
2019-05-21 16:02:52 +02:00
Tobias Schottdorf
ea82b2b758 raft: move more methods onto the progress tracker
Continues what was initiated in the last commit.
2019-05-21 16:02:52 +02:00
Tobias Schottdorf
dbac67e7a8 raft: extract progress tracking into own component
The Progress maps contain both the active configuration and information
about the replication status. By pulling it into its own component, this
becomes easier to unit test and also clarifies the code, which will see
changes as etcd-io/etcd#7625 is addressed.

More functionality will move into `prs` in self-contained follow-up commits.
2019-05-21 16:02:52 +02:00
Fanmin Shi
0cf6e1bcb8
MAINTAINERS: remove fanmin shi
I no longer have the time to maintain etcd as my career takes me to a different direction; Hence, I think it is appropriate to remove myself from the maintainer responsibility.

Working on etcd project was one of the most challenging and rewarding experiences I ever had. Thanks @xiang90 @gyuho @heyitsanthony @philips
2019-05-20 23:47:35 -07:00
Brandon Philips
c5e5240004
*: move to etcd.io for docs
Remove all readthedocs references for https://etcd.io to ensure the SEO
goes to the right place.
2019-05-20 14:32:08 -07:00
Sahdev Zala
71881a423f
Merge pull request #10724 from majolo/patch-1
Doc: Fix typo in revision.go
2019-05-16 11:06:52 -04:00
Max Lowther
9ab3572662 Doc: Fix typo in revision.go 2019-05-16 14:29:10 +01:00
Xiang Li
d4cdbb1ea0
Merge pull request #10727 from jingyih/learner_part2
*: support raft learner in etcd - part 2
2019-05-15 16:41:08 -07:00
Jingyi Hu
23f1d02391 *: address comments 2019-05-15 15:58:46 -07:00
Jingyi Hu
90d28c0de7 clientv3/integration: deflake TestKVForLearner
Adding delay in the test for the newly started learner member to catch
up applying config change entries in raft log.
2019-05-15 13:58:28 -07:00
Jingyi Hu
b23c8f3e8f clientv3/integration: fix cluster tests
Fixes TestMemberAddForLearner and TestMemberPromoteForLearner.
2019-05-15 13:58:26 -07:00