16657 Commits

Author SHA1 Message Date
Piotr Tabor
4a1c24556c clientv3: PS: Replace balancer with upstream grpc solution
Addresses comments from: https://github.com/etcd-io/etcd/pull/12671#pullrequestreview-593942302
2021-02-23 10:03:15 +01:00
Piotr Tabor
8d1a8ce044
Merge pull request #12701 from mrkm4ntr/example-notify-all-aplied
raftexample: Explicitly notify all committed entries are applied
2021-02-20 22:34:42 +01:00
Gyuho Lee
3d7aac948b
Merge pull request #12196 from ironcladlou/metrics-watch-error-fix
etcdserver: fix incorrect metrics generated when clients cancel watches
2021-02-19 12:46:49 -08:00
Shintaro Murakami
cc2b039817 raftexample: Explicitly notify all committed entries are applied 2021-02-19 19:26:36 +09:00
Gyuho Lee
70ac39fd98
Merge pull request #12699 from spzala/removemixinfromdoc
Remove mixin from doc
2021-02-19 00:04:14 -08:00
Sahdev Zala
7fca120587 Remove mixin from doc
The kube-prometheus team has made necessary changes and not
using the mixin from doc any more.
2021-02-18 18:44:19 -05:00
Piotr Tabor
b67ed4e4aa
Merge pull request #12671 from ptabor/20210207-grpc-del-balancer
clientv3: Replace balancer with upstream grpc solution
2021-02-17 22:45:13 +01:00
Piotr Tabor
cc99c3631f
Merge pull request #12695 from mrkm4ntr/example-report
raftexample: Implement ReportUnreachable and ReportSnapshot
2021-02-17 09:16:36 +01:00
Shintaro Murakami
2d25f7f3da raftexample: Implement ReportUnreachable and ReportSnapshot 2021-02-17 11:59:32 +09:00
Tobias Grieger
73c50b869a
Merge pull request #12637 from BusyJay/check-outgoingvoters-when-restoring
raft: check `VotersOutgoing` for snapshot
2021-02-16 09:43:08 +01:00
Piotr Tabor
47b2506fcb
Merge pull request #12670 from postgrespro/customizable_raft_connection_timeouts
raft: makes 'ConnReadTimeout/ConnWriteTimeout' customizable
2021-02-16 09:07:41 +01:00
Piotr Tabor
24d02586c1
Merge pull request #12691 from mrkm4ntr/example-save-snap-before-wal
raftexample: Save snapshot file before writing to wal
2021-02-16 08:55:33 +01:00
Shintaro Murakami
1302e1edb2 raftexample: Save snapshot file before writing to wal 2021-02-16 13:30:15 +09:00
Tobias Grieger
719f6ce06f
Merge pull request #11964 from hicqu/fast-log-rejection
raft: implement fast log rejection
2021-02-15 13:47:03 +01:00
Tobias Grieger
c1e8d3a63f Clarify documentation of probing
- Add a large detailed comment about the use and necessity of
  both the follower and leader probing optimization
- fix the log message in stepLeader that previously mixed up the
  log term for the rejection and the index of the append
- improve the test via subtests
- add some verbiage in findConflictByTerm around first index
2021-02-15 09:47:18 +01:00
Piotr Tabor
3ef8a2d30a
Merge pull request #12688 from etcd-io/revert-12687-removemixindoc
Revert "Remove mixin from Doc"
2021-02-11 20:12:45 +01:00
Sahdev Zala
9fed697435
Revert "Remove mixin from Doc" 2021-02-11 13:59:26 -05:00
Piotr Tabor
080453d416
Merge pull request #12687 from spzala/removemixindoc
Remove mixin from Doc
2021-02-11 15:52:35 +01:00
Sahdev Zala
6ff00fd202 Remove mixin from Doc
Mixin is moved under contrib and kube-prometheus team is now using
it from new location.
2021-02-11 09:09:38 -05:00
Piotr Tabor
63cb3c97b7
Merge pull request #12686 from ptabor/20210211-prometheous-mixin
Migrate back mixin to contrib/
2021-02-11 13:07:34 +01:00
Piotr Tabor
77e6df28cf
Merge pull request #12675 from ptabor/20210209-grpc-remove-legacy-resolver
Cleanup grpc client/v3/naming API
2021-02-11 09:31:48 +01:00
Piotr Tabor
1395a1a795 Migrate back mixin to contrib/
The mixin was moved out together with documentation.
This broke kube-prometheous: https://github.com/etcd-io/etcd/issues/12685#issuecomment-777264143
2021-02-11 09:28:30 +01:00
Sahdev Zala
023aec9151
Merge pull request #12683 from nate-double-u/97-restore-etcd-mixin
Restoring etcd-mixin folder
2021-02-10 21:01:30 -05:00
Nate W
433e7a0e95 Restoring etcd-mixin
Restoring Documentation/etcd-mixin folder for kube-prometheus use as per conversations in issue https://github.com/etcd-io/website/issues/97

Signed-off-by: Nate W <4453979+nate-double-u@users.noreply.github.com>
2021-02-10 15:38:49 -08:00
Sahdev Zala
d33a1c91f0
Merge pull request #12660 from nate-double-u/97-remove-docs-from-etcd
Migrate documentation: Remove docs from etcd-io/etcd
2021-02-10 16:39:18 -05:00
qupeng
6828517965 raft: implement fast log rejection
Signed-off-by: qupeng <qupeng@pingcap.com>
2021-02-10 15:48:32 -05:00
Nathan VanBenschoten
b757e1bc87 raft: create new probe_and_replicate.txt interactive test
This commit creates a new probe_and_replicate.txt interactive test. The
test creates a complete Raft log configuration and demonstrates how a
leader probes and replicates to each of its followers. The log
configuration constructed is identical to the one present in Figure 7 of
the raft paper (https://raft.github.io/raft.pdf), which looks like:

```
     1  2  3  4  5  6  7  8  9  10 11 12
n1: [1][1][1][4][4][5][5][6][6][6]
n2: [1][1][1][4][4][5][5][6][6]
n3: [1][1][1][4]
n4: [1][1][1][4][4][5][5][6][6][6][6]
n5: [1][1][1][4][4][5][5][6][7][7][7][7]
n6: [1][1][1][4][4][4][4]
n7: [1][1][1][2][2][2][3][3][3][3][3]
```

Once in this state, we then elect node 1 as the leader and stabilize the
entire raft group. This demonstrates how a newly elected leader probes
for matching indexes, overwrites conflicting entries, and catches up all
followers.

This will be useful to demonstrate the impact of more efficient probing
behavior.
2021-02-10 15:02:36 -05:00
Nate W
2afa5ff45f removing Documentation from etcd-io/etcd
Leaving docs, files, etc that are required for generated documentation

fixes https://github.com/etcd-io/website/issues/97

Signed-off-by: Nate W <4453979+nate-double-u@users.noreply.github.com>
2021-02-10 11:14:40 -08:00
Piotr Tabor
e8ba375032
Merge pull request #11889 from mrkm4ntr/example-recover-from-snap
raftexample: Fix recovery from snapshot
2021-02-10 12:18:30 +01:00
Maksim Buldukyan
7e38cfcc8d raft: makes 'ConnReadTimeout/ConnWriteTimeout' customizable 2021-02-10 10:36:50 +07:00
Piotr Tabor
a836a8045b Get rid of legacy client/v3/naming API.
Update grpcproxy to use the new abstractions.
2021-02-09 11:56:28 +01:00
Gyuho Lee
44c889a8ce
Merge pull request #12677 from chaochn47/reduce_verbosity_of_etcd_server_side_success_health_check_logs
etcdserver/api/etcdhttp: log successful etcd server side health check in debug level
2021-02-08 21:15:25 -08:00
Chao Chen
028d351a46 CHANGELOG-3.5.md: update 2021-02-08 19:46:43 -08:00
Chao Chen
2ae3e82f07 etcdserver/api/etcdhttp: log successful etcd server side health check in debug level
When we have an external component that checks /health periodically, the
etcd server logs can be quite verbose (e.g., DDOS-ing against insure
etcd health check can lead to disk space full due to large log files).

This change was introduced in #11704.

While we keep the warning logs for etcd health check failures, the
success (or OK) log level should be set to DEBUG.

Fixes #12676
2021-02-08 17:15:43 -08:00
Gyuho Lee
96a9860b60
Merge pull request #12674 from ptabor/20210208-skip-386-tls-test
Fix pkg/tlsutil (test) to not fail on 386.
2021-02-08 16:46:47 -08:00
Piotr Tabor
60e44286fa Fix pkg/tlsutil (test) to not fail on 386.
In fact this commit rewrites the functionality to use upstream list of
ciphers instead of checking whether the lists are in sync using ast
analysis.
2021-02-08 23:03:43 +01:00
Piotr Tabor
0b75fede64 Replace client/v3/balancer with standard components: resolver + round_robin LB
This commit significantly reduces volume of custom code
in etcd client v3, while preserving full existing functionality.
2021-02-08 18:50:31 +01:00
Piotr Tabor
3fddea9669
Merge pull request #12669 from lemonlinger/implement-endpoint-manager-and-resolver
Implement endpoint watch and resolver
2021-02-08 14:31:48 +01:00
limeng01
8feb55f65c *: implement Endpoint Watch and new Resolver 2021-02-08 20:05:45 +08:00
Shintaro Murakami
be2167ebab Wait until all committed entries are applied
To take a snapshot
2021-02-05 19:05:41 +09:00
Shintaro Murakami
cb14cdd774 raftexample: Fix recovery from snapshot
* If there is a snapshot, HTTP server won't start.
* Resotring form snapshot occurs after replaying WAL.
* When taking a snapshot, the last change is not applied to the state machine yet.
2021-02-05 09:34:34 +09:00
Piotr Tabor
dae29bb719
Merge pull request #12667 from lemonlinger/implement-endpoint-manager-and-resolver
Implement Update method for EndpointManager
2021-02-04 17:25:51 +01:00
limeng01
571ed502d4 endpoints: implement Update method for EndpointManager.
- Add integration test for endpoints and resolver.
2021-02-04 23:30:22 +08:00
Sahdev Zala
4d9f1a96da
Merge pull request #12664 from spzala/rpctypeserrors
Doc: fix inconsistency and broken path
2021-02-03 15:06:54 -05:00
Sahdev Zala
66777cf1e8 Doc: fix inconsistency and broken path
1) Fix the path for rpc errors
2) The README says 2 types of client errors vs doc mentioning 3
types of client errors. grpc erros should be considered single time
as covered in the README.
2021-02-03 12:02:49 -05:00
Piotr Tabor
4accc34c98
Merge pull request #11776 from brandond/fix_srv_11321
Fix cluster peer HTTP SRV discovery when no HTTPS records exist
2021-02-03 13:17:55 +01:00
Brad Davidson
603d975599 Fix cluster peer HTTP SRV discovery
Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
2021-02-03 03:08:13 -08:00
Piotr Tabor
6881ea828e
Merge pull request #12658 from dhermes/pr-12636-balancer
Prepare `balancer` interfaces for `>=google.golang.org/grpc@1.30.0` upgrade.
2021-02-02 23:03:56 +01:00
Danny Hermes
ea34f8dbc6 Prepare balancer interfaces for >=google.golang.org/grpc@1.30.0 upgrade. 2021-02-02 15:54:33 -06:00
Piotr Tabor
50ca440c49
Merge pull request #12410 from Yanhao/master
etcdserver: export method EtcdServer.leaderChangedNotify (#12378)
2021-02-02 12:23:11 +01:00