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
rohitsardesai83
42a7ea6d33
etcd: Replace ghodss/yaml with sigs.k8s.io/yaml
...
To remove the dependency on ghodss/yaml. Replaced this dependency with sigs.k8s.io/yaml.
This wil help to remove the ghodss/yaml dependency from main kubernetes repository.
xref: https://github.com/kubernetes/kubernetes/issues/77024
2019-05-02 12:34:36 +05:30
Gyuho Lee
e899023f3f
Merge pull request #10640 from shrajfr12/gomodulecompat
...
Fix module path to have the major version to comply with go modules specification.
2019-05-01 22:46:03 -07:00
Xiang Li
8a86a60fbc
Merge pull request #10699 from jingyih/protect_tree_clone_with_write_lock
...
mvcc: protect tree clone with write lock
2019-05-01 13:25:31 -07:00
Jingyi Hu
88922b0d08
mvcc: protect tree clone with write lock
2019-05-01 12:34:09 -07:00
Xiang Li
fc6936863a
Merge pull request #10582 from johncming/empty_update
...
clientv3/naming: ignore empty update.
2019-04-30 14:21:56 -07:00
Xiang Li
1bd02b2053
Merge pull request #10595 from johncming/locking
...
clientv3: modify lock type.
2019-04-30 14:19:02 -07:00
Xiang Li
e3f37534e1
Merge pull request #10684 from nvanbenschoten/nvanbenschoten/appendAndCopy
...
raft: Avoid multiple allocs when merging stable and unstable log
2019-04-30 11:51:32 -07:00
Xiang Li
0bc219a91e
Merge pull request #10679 from nvanbenschoten/nvanbenschoten/commitAlloc
...
raft: Avoid allocation when boxing slice in maybeCommit
2019-04-30 10:55:16 -07:00
Xiang Li
efcc1088f0
Merge pull request #10680 from nvanbenschoten/nvanbenschoten/appendAlloc
...
raft: avoid allocation of Raft entry due to logging
2019-04-27 18:14:20 -07:00
Matteo Olivi
41a0d67b30
Documentation: add links to blog post on benchmarking disks with fio
...
The documentation mentions fio as a tool to benchmark disks to assess
whether they are fast enough for etcd. But doing that is far from trivial,
because fio is very flexible and complex to use, and the user must make sure
that the workload fio generates mirrors the I/O workload of its etcd cluster
closely enough. This commit adds links to a blog post with an example of how
to do that.
2019-04-27 13:13:11 -04:00
shivaramr
9150bf52d6
go modules: Fix module path version to include version number
2019-04-26 15:29:50 -07:00
Nathan VanBenschoten
b5593de806
raft: Avoid multiple allocs when merging stable and unstable log
...
Appending to an empty slice twice could (and often did) result in
multiple allocations. This was wasteful. We can avoid this by performing
a single allocation with the correct size and copying into it.
2019-04-26 14:57:51 -04:00
Nathan VanBenschoten
24f35a9861
raft: avoid allocation of Raft entry due to logging
...
`raftpb.Entry.String` takes a pointer receiver, so calling it
on a loop variable was causing the variable to escape. Removing
the `.String()` call was enough to avoid the allocation, but
this also avoids a memory copy and prevents similar bugs.
This was responsible for 11.63% of total allocations in an
experiment with https://github.com/nvanbenschoten/raft-toy .
2019-04-26 14:56:31 -04:00