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
Jingyi Hu
ac057951cc
integration: remove unnecessary type conversion
...
Fixes go 'unconvert' test.
2019-05-15 13:48:54 -07:00
Jingyi Hu
c836e37a83
etcdserver: remove unnecessary bool comparison
...
Fixes 'gosimple' test.
2019-05-15 13:48:54 -07:00
Jingyi Hu
c55519b3a5
words: whitelist words to fix goword test.
2019-05-15 13:48:54 -07:00
WizardCXY
a039f2efb8
clientv3, etcdctl: MemberPromote for learner
2019-05-15 13:48:52 -07:00
Jingyi Hu
bd7f42855b
integration: add TestTransferLeadershipWithLearner
...
Adding integration test TestTransferLeadershipWithLearner, which ensures
that TransferLeadership does not timeout due to learner is automatically
picked by leader as transferee.
2019-05-15 13:27:42 -07:00
Jingyi Hu
e8dc4c5c25
integration: add TestMoveLeaderToLearnerError
...
Adding integration test TestMoveLeaderToLearnerError, which ensures that
leader transfer to learner member will fail.
2019-05-15 13:27:42 -07:00
Jingyi Hu
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
WizardCXY
7f9479acc1
clientv3: add member promote
2019-05-15 13:27:42 -07:00
WizardCXY
ba9fd620e8
etcdserver: support MemberPromote for learner
2019-05-15 13:27:42 -07:00
Jingyi Hu
57a11eb1e1
integration: add TestKVForLearner
...
Adding TestKVForLearner. Also adding test utility functions for clientv3
integration tests.
2019-05-15 13:27:38 -07:00
Jingyi Hu
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
Jingyi Hu
355d0ab2a6
*: add learner field in endpoint status
...
Added learner field to endpoint status API.
2019-05-15 13:13:59 -07:00
Xiang Li
42acdfcea7
Merge pull request #10668 from spzala/issuetriage
...
Doc: create issue and PR management guidelines
2019-05-15 10:30:36 -07:00
Xiang Li
919b93b742
Merge pull request #10725 from jingyih/learner_part1
...
*: support raft learner in etcd - part 1
2019-05-14 20:35:48 -07:00
Jingyi Hu
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
Jingyi Hu
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
Jingyi Hu
1e38de5b9d
etcdctl: add learner field in member list output
2019-05-14 13:10:22 -07:00
Jingyi Hu
e4296bbad9
tests/e2e: Add test for learner member add
...
Added an e2e test to exercise "etcdctl member add --learner".
2019-05-14 13:10:22 -07:00
Jingyi Hu
a67d934410
etcdctl: support MemberAdd for learner
...
Added support for "etcdctl member add --learner".
2019-05-14 13:10:22 -07:00
Jingyi Hu
fc14608cb7
clientv3: support MemberAdd for learner
...
Added IsLearner flag to clientv3 MemberAdd API.
2019-05-14 13:10:22 -07:00
Jingyi Hu
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
Jingyi Hu
a0d3c4d641
*: fix compilation after API change
...
Fixed compilation erros after API change for learner.
2019-05-14 13:10:22 -07:00
Jingyi Hu
7dc5451fae
*: Change etcdserver API to support raft learner
...
- Added isLearner flag to MemberAddRequest in Cluster API.
- Added isLearner field to StatusResponse in Maintenance API.
- Added MemberPromote rpc to Cluster API.
2019-05-14 13:09:17 -07:00
Sahdev P. Zala
a44a281ac3
CHANGELOG: remove mailing list reference
...
Recommendations for the production were bumped up recently. The related
ML email ref is old one so we should not provide the link.
Fixes #10669
2019-05-11 09:24:41 -04:00
Xiang Li
d8c89021d7
Merge pull request #10689 from joshcc3/master
...
raft: cleanup wal directory if creation fails
2019-05-10 15:09:16 -07:00
Joshua Coutinho
a0c889d14b
wal: add a test for wal cleanup, improve comments
...
To add test coverage of wal cleanup.
2019-05-10 22:36:26 +01:00
Sam Batschelet
1411c585be
etcdserver: fix typo in log message
...
Signed-off-by: Sam Batschelet <sbatsche@redhat.com>
2019-05-10 09:54:00 -04:00
paulfantom
886d30d223
Documentation: provide better user experience with autorefreshing grafana dashboard
2019-05-08 06:58:28 -04:00
jcoutin
f7f7e9c762
wal: Improve cleanup for robustness and debuggability
...
Rename wal with '.suffix.<timestamp>' instead of delete it and call cleanup when perr in a 'defer'ed statement.
2019-05-07 21:38:40 +01:00
Joshua Coutinho
51035bfd84
wal: cleanup wal directory if creation fails
...
delete <data-dir>/member/wal if any operation after the rename in
wal.Create fails to avoid reading an inconsistent WAL on restart.
Fixes #10688
2019-05-04 01:58:57 +01:00
Sahdev P. Zala
39bbc66b46
Doc: create issue and PR management guidelines
...
I would like to propose a formal guide for issue triage and PR management.
This should help us keep open issues and PRs under a desirable numbers.
For example, keep issues under 100. These guidelines should specially help
manage and close issues and PRs that are inactive in a timely manner.
2019-05-03 17:03:17 -04:00
Xiang Li
caee28a88e
Merge pull request #10666 from mkumatag/fix_tests
...
Fix tests for latest golang
2019-05-03 11:18:58 -07:00
Gyuho Lee
4d6ebafa54
Merge pull request #10704 from wilbeibi/master
...
raft: update raft paper link (previous link deprecated)
2019-05-03 09:34:02 -07:00
Hongyi Shen
d68f60e9a0
raft: update raft paper link (previous link deprecated)
2019-05-03 08:50:16 -07:00
Gyuho Lee
616592d9ba
CHANGELOG: update
...
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-05-02 10:21:37 -07:00
Gyuho Lee
e9f310af28
Merge pull request #10687 from rohitsardesai83/replace_ghodss_yaml_with_sigsk8sio_yaml
...
etcd: Replace yaml dependency `github.com/ghodss/yaml` with `sigs.k8s.io/yaml`
2019-05-02 09:47:33 -07:00