18562 Commits

Author SHA1 Message Date
Benjamin Wang
a5fb57b485
Merge pull request #14586 from serathius/pattern
tests: Use bash like patterns in TestAuthority instead of string fo…
2022-10-14 06:11:36 +08:00
Marek Siarkowicz
fdce1b38fb tests: Use bash like patterns in TestAuthority instead of string formating
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2022-10-13 16:45:27 +02:00
Benjamin Wang
39e3c39a1b
Merge pull request #14583 from ahrtr/changelog_20221013
Update both 3.4 and 3.5 changelog to cover two fixes
2022-10-13 19:21:11 +08:00
Benjamin Wang
e19bb869c7
Merge pull request #14584 from ahrtr/functional_test_check_logoutput
functional-test: move the check on log-outputs out of the 'if clientTLS' branch
2022-10-13 17:16:35 +08:00
Benjamin Wang
78380ae6b8 functional-test: move the check on log-outputs out of the 'if clientTLS' branch
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-10-13 16:33:02 +08:00
Benjamin Wang
d15a9d0edc
Merge pull request #14457 from jbml/hashbyrev_compact_main
etcdserver: fix corruption check when server has just been compacted
2022-10-13 15:17:38 +08:00
Benjamin Wang
e4cfa07d09 Update both 3.4 and 3.5 changelog to cover two fixes
Two fixes:
1. netutil: add url comparison without resolver to URLStringsEqual
2. client/v3: Add backoff before retry when watch stream returns unavailable

Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-10-13 08:29:45 +08:00
Benjamin Wang
b48641e5f2
Merge pull request #14348 from VinozzZ/add-integration-test-for-tracing
embed: add integration test for distributed tracing
2022-10-13 02:11:59 +08:00
Benjamin Wang
1d77b4bd32
Merge pull request #14556 from tomari/tomari/watch-backoff
client/v3: Add backoff before retry when watch stream returns unavailable
2022-10-13 02:10:25 +08:00
Benjamin Wang
3b29811dd8
Merge pull request #14565 from ahrtr/functional_test_cleanup_data
functional_test: stop etcd and cleanup data when test is successful
2022-10-13 02:07:59 +08:00
Benjamin Wang
81dfc4be9a
Merge pull request #14576 from ahrtr/wal_log
etcdserver: added more debug log for the purgeFile goroutine
2022-10-12 19:22:53 +08:00
Benjamin Wang
5746d6eb86 etcdserver: added more debug log for the purgeFile goroutine
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-10-12 17:32:33 +08:00
Benjamin Wang
920eb20279
Merge pull request #14567 from kafuu-chino/changelog-14296
update changelogs of 3.4 and 3.5 for fixing avoid closing a watch with ID 0 incorrectly
2022-10-11 03:22:47 +08:00
Kafuu Chino
5739c82be2 update changelogs of 3.4 and 3.5 for fixing avoid closing a watch with ID 0 incorrectly
Signed-off-by: Kafuu Chino <KafuuChinoQ@gmail.com>

Update CHANGELOG/CHANGELOG-3.5.md

Co-authored-by: Benjamin Wang <wachao@vmware.com>

Update CHANGELOG/CHANGELOG-3.4.md

Co-authored-by: Benjamin Wang <wachao@vmware.com>
2022-10-10 20:15:19 +08:00
Tobias Grieger
966561c722
Merge pull request #14555 from nvanbenschoten/nvanbenschoten/selfMsgPanic 2022-10-10 10:48:39 +02:00
Marek Siarkowicz
d19116e6ee
Merge pull request #14568 from mrueg/egrep
Replace egrep with grep -E
2022-10-09 22:10:06 +02:00
Manuel Rüger
0f4d6fbc5e .github/workflows: Replace egrep with grep -E
Signed-off-by: Manuel Rüger <manuel@rueg.eu>
2022-10-09 21:22:36 +02:00
Benjamin Wang
328a33668b functional_test: stop etcd and cleanup data when test is successful
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-10-09 09:23:13 +08:00
Benjamin Wang
742c925a27
Merge pull request #14387 from lavacat/main-functional
functional: remove SIGQUIT_ETCD_AND_REMOVE_DATA_AND_STOP_AGENT command
2022-10-09 08:25:25 +08:00
Marek Siarkowicz
2d638e0fd2
Merge pull request #14559 from serathius/etcdctl_api
Remove mention of ETCDCTL_API environment variable as it was removed from etcdctl
2022-10-08 14:37:25 +02:00
Hisanobu Tomari
428fb9623a client/v3: Add backoff before retry when watch stream returns unavailable
The client retries connection without backoff when the server is gone
after the watch stream is established. This results in high CPU usage
in the client process. This change introduces backoff when the stream is
failed and unavailable.

Signed-off-by: Hisanobu Tomari <posco.grubb@gmail.com>
2022-10-08 06:57:30 +09:00
Marek Siarkowicz
510f26e34c Remove mention of ETCDCTL_API environment variable as it was removed on main branch
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2022-10-07 21:22:06 +02:00
Nathan VanBenschoten
419ee8a9c6 raft: panic on self-addressed messages
These are nonsensical and a network implementation is not required
to handle them correctly, so panic instead of sending them out.

Signed-off-by: Nathan VanBenschoten <nvanbenschoten@gmail.com>
2022-10-06 20:25:07 -04:00
Marek Siarkowicz
6a0bbf3462
Merge pull request #14552 from fuweid/deflaking-14477
integration: deflaking TestMaintenanceSnapshotCancel/Timeout
2022-10-06 09:52:14 +02:00
Wei Fu
b15f6bf978 integration: deflaking TestMaintenanceSnapshotCancel/Timeout
Since http2 spec defines the receive windows's size and max size of
frame in the stream, the underlayer - gRPC client can pre-read data
from server even if the application layer hasn't read it yet.

And the initialized cluster has 20KiB snapshot, which can be pre-read
by underlayer. We should increase the snapshot's size, just in case
that the io.Copy won't return the canceled or timeout error.

Fixes: #14477

Signed-off-by: Wei Fu <fuweid89@gmail.com>
2022-10-06 11:03:51 +08:00
Benjamin Wang
b81e20b7ad
Merge pull request #14551 from ahrtr/update_3.6_changelog_goversion
Update changelog 3.6 to clearly requiring applications which depend on etcd 3.6 packages must be built with go version >= 1.18
2022-10-06 07:02:05 +08:00
Benjamin Wang
ad4e256175 Update changelog 3.6 to clearly requiring applications which depend on etcd 3.6 packages must be built with go version >= 1.18
etcdserver starts to using generic in https://github.com/etcd-io/etcd/pull/14515,
so any applications which depend on package `go.etcd.io/etcd/server/v3' must be
built with go version >= 1.18.

Most likely we may depends on go 1.18 new features in other packages, i.e. client, pkg,
so we just simplify the changelog message to require applications depending on any
etcd 3.6 pacakges must be built with go version >= 1.18, although only etcdserver uses
go generic for now.

Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-10-05 22:56:40 +08:00
Benjamin Wang
f3e2d7b0bb
Merge pull request #14549 from mitake/changelog-backport-14322
update changelogs of 3.4 and 3.5 for handling auth invalid token and old revision errors in watch
2022-10-05 08:06:56 +08:00
Hitoshi Mitake
b13b19871f update changelogs of 3.4 and 3.5 for handling auth invalid token and old revision errors in watch
Signed-off-by: Hitoshi Mitake <h.mitake@gmail.com>
2022-10-05 08:12:54 +09:00
Benjamin Wang
a932fb58f2
Merge pull request #14539 from nvanbenschoten/nvanbenschoten/advanceHardState
raft: update prevHardSt on Ready accept, not advance
2022-09-30 16:55:45 +08:00
Benjamin Wang
c102c07081
Merge pull request #14538 from nvanbenschoten/nvanbenschoten/broadcastOnLeave
raft: broadcast MsgApp on auto-leave joint config proposal
2022-09-30 15:43:26 +08:00
Benjamin Wang
7fff4c4241
Merge pull request #14331 from chaochn47/auth_test_framework_update
common tests framework: cluster client creation could fail with invalid auth
2022-09-30 15:38:47 +08:00
Benjamin Wang
62d979be5b
Merge pull request #14536 from ahrtr/update_hash_rev
etcdserver: get peer's hash using the same revision as the value used by leader
2022-09-30 15:09:05 +08:00
Chao Chen
8d057ea2b8 common tests framework: cluster client creation fail with invalid auth
Signed-off-by: Chao Chen <chaochn@amazon.com>
2022-09-29 23:09:32 -07:00
Benjamin Wang
1ccdb3762d Test: fix all corruption detection related unit test cases
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-09-30 06:06:41 +08:00
Benjamin Wang
d116d02e04 etcdserver: update corrupt hash detection's logic
get peer's hash using the same revision as the value used by leader

Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-09-30 06:03:50 +08:00
Nathan VanBenschoten
bd34388721 raft: broadcast MsgApp on auto-leave joint config proposal
This commit ensures that the raft leader eagerly broadcasts a MsgApp to
each follower when initiating an automatic transition out of a joint
configuration. This had been missed previously, which could lead to
delayed completion of an auto-transition.

Signed-off-by: Nathan VanBenschoten <nvanbenschoten@gmail.com>
2022-09-29 12:33:20 -04:00
Nathan VanBenschoten
9a03632043 raft: update prevHardSt on Ready accept, not advance
This commit updates the `RawNode`'s `prevHardSt` to the new HardState in
`acceptReady` instead of on `Advance`. This aligns the handling of
`prevHardSt` with that of `prevSoftSt` (and other fields like `msgs`)
and simplifies the logic in `Advance`.

Signed-off-by: Nathan VanBenschoten <nvanbenschoten@gmail.com>
2022-09-29 12:33:04 -04:00
Benjamin Wang
cd9764a99f
Merge pull request #14534 from demoManito/feat/golangci
golangci: add import order check
2022-09-29 15:26:00 +08:00
demoManito
7020e2fd2b fix lint
Signed-off-by: demoManito <1430482733@qq.com>
2022-09-29 13:57:55 +08:00
demoManito
ae118a17f0 fix goimorts local-prefixes
Signed-off-by: demoManito <1430482733@qq.com>
2022-09-29 13:55:47 +08:00
demoManito
0a08fa2b43 golangci: add import order check
Signed-off-by: demoManito <1430482733@qq.com>
2022-09-29 11:30:04 +08:00
Marek Siarkowicz
d379e6221e
Merge pull request #14535 from demoManito/feat/golangci-unconvert
golangci: add unconvert check
2022-09-28 14:04:04 +02:00
demoManito
93b9dc6583 golangci: add unconvert check
Signed-off-by: demoManito <1430482733@qq.com>
2022-09-28 19:13:58 +08:00
Marek Siarkowicz
6828e53b0a
Merge pull request #14531 from ahrtr/changelog_3.4_memberId_zero
Update changelog-3.4 to cover the issue: memberID equals zero in corruption alarm
2022-09-28 09:30:45 +02:00
Benjamin Wang
ea17d9d6bf update changelog-3.4 to cover the issue: memberID equals zero in corruption alarm
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-09-28 11:05:53 +08:00
Benjamin Wang
abef537a90
Merge pull request #14515 from spongecaptain/btree-generics
upate:use google/btree in the genric way
2022-09-27 16:44:13 +08:00
wathenjiang
319db38b0a update: add benchmark test
benchmark result:
(1) master branch
$ go test -bench='BenchmarkIndexPut$' -count=5
goos: darwin
goarch: amd64
pkg: go.etcd.io/etcd/server/v3/storage/mvcc
cpu: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
BenchmarkIndexPut-12             1000000              2591 ns/op
BenchmarkIndexPut-12             1000000              2531 ns/op
BenchmarkIndexPut-12             1000000              2536 ns/op
BenchmarkIndexPut-12             1000000              2546 ns/op
BenchmarkIndexPut-12             1000000              2538 ns/op
PASS
ok      go.etcd.io/etcd/server/v3/storage/mvcc  167.439s

$ go test -bench='BenchmarkIndexGet$' -count=5
goos: darwin
goarch: amd64
pkg: go.etcd.io/etcd/server/v3/storage/mvcc
cpu: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
BenchmarkIndexGet-12             1000000              2021 ns/op
BenchmarkIndexGet-12             1000000              2029 ns/op
BenchmarkIndexGet-12             1000000              2044 ns/op
BenchmarkIndexGet-12             1000000              1973 ns/op
BenchmarkIndexGet-12             1000000              2027 ns/op
PASS
ok      go.etcd.io/etcd/server/v3/storage/mvcc  177.815s

(2) google/btree in the generic way
$ go test -bench='BenchmarkIndexPut$' -count=5
goos: darwin
goarch: amd64
pkg: go.etcd.io/etcd/server/v3/storage/mvcc
cpu: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
BenchmarkIndexPut-12             1000000              2477 ns/op
BenchmarkIndexPut-12             1000000              2380 ns/op
BenchmarkIndexPut-12             1000000              2360 ns/op
BenchmarkIndexPut-12             1000000              2396 ns/op
BenchmarkIndexPut-12             1000000              2382 ns/op
PASS
ok      go.etcd.io/etcd/server/v3/storage/mvcc  165.841s

$ go test -bench='BenchmarkIndexGet$' -count=5
goos: darwin
goarch: amd64
pkg: go.etcd.io/etcd/server/v3/storage/mvcc
cpu: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
BenchmarkIndexGet-12             1000000              1985 ns/op
BenchmarkIndexGet-12             1000000              1914 ns/op
BenchmarkIndexGet-12             1000000              1900 ns/op
BenchmarkIndexGet-12             1000000              1905 ns/op
BenchmarkIndexGet-12             1000000              1894 ns/op
PASS
ok      go.etcd.io/etcd/server/v3/storage/mvcc  177.573s

Signed-off-by: wathenjiang <wathenjiang@tencent.com>
2022-09-27 14:33:02 +08:00
Spongecaptain
c53dfc7c5b upate:use google/btree in the genric way
Signed-off-by: wathenjiang <wathenjiang@tencent.com>
2022-09-27 10:16:15 +08:00
Benjamin Wang
1c20ed2cc5
Merge pull request #14521 from lovehhf/remove_pick_peer_url
membership: Remove PickPeerURL Method
2022-09-27 02:10:35 +08:00