15888 Commits

Author SHA1 Message Date
tangcong
d48f7ad7c1 mvcc: push down RangeOptions.limit argv into index tree
(cherry picked from commit 26c930f27d46776da5fedae69267ba0b69c31185)
Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-01-18 10:01:20 +08:00
Benjamin Wang
a1d1af5774
Merge pull request #15099 from fuweid/backport-11771-11743-pr-to-3.4
[3.4] mvcc: reduce count-only range overhead
2023-01-18 08:48:29 +08:00
Piotr Tabor
4be8c0e5a5
Merge pull request #15097 from ahrtr/3.4_promote_non_exist_id_20230113
[3.4] etcdserver: return membership.ErrIDNotFound when the memberID not found
2023-01-17 09:15:02 +01:00
Benjamin Wang
00b31512a1 etcdserver: return membership.ErrIDNotFound when the memberID not found
Backport https://github.com/etcd-io/etcd/pull/15095 to 3.4.

When promoting a learner, we need to wait until the leader's applied ID
catches up to the commitId. Afterwards, check whether the learner ID
exist or not, and return `membership.ErrIDNotFound` directly in the API
if the member ID not found, to avoid the request being unnecessarily
delivered to raft.

Signed-off-by: Benjamin Wang <wachao@vmware.com>
2023-01-17 06:27:31 +08:00
Wei Fu
10c080dc5e mvcc: Add ut for Revisions/CountRevisions
It is kind of backport from #14124.

Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-01-16 15:15:34 +08:00
tangcong
2070f55aab e2e: add getCountOnlyTest testcase
(cherry picked from commit 3594ab94cfefa7488993ac14e7b410ee63b25d3d)
Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-01-13 16:33:56 +08:00
tangcong
00a005c300 mvcc: reduce count-only range overhead
(cherry picked from commit 730f3f1d783fc1159a4c2e258713e5b1fe3ec5b4)
Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-01-13 16:32:35 +08:00
mlmhl
841f3bd2be etcdctl: support query count only of specified prefix
(cherry picked from commit aa7b056a7706a55054e94380382cbc1948a3edcc)
Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-01-13 16:31:23 +08:00
Benjamin Wang
a577940b4e
Merge pull request #15088 from fuweid/3.4-fix-flaky-testcase
[3.4] grpc-gateway: update version to v1.11.0
2023-01-13 10:39:28 +08:00
Wei Fu
c320f75a15 grpc-gateway: update version to v1.11.0
The issue is caused by hand-crafted protobuf message. The runtime.errorBody
defines two protobuf fields with same number. We need to upgrade the
version to fix it. Otherwise, the client side won't receive any errors
from server side because of panic.

```
mismatching field: runtime.errorBody.error, want runtime.errorBody.message
```

It can fix the cases

PASSES="build grpcproxy" CPU=4 RACE=true ./test -run TestV3CurlLeaseRevokeNoTLS

The original error is like:

```
v3_curl_lease_test.go:109: testV3CurlLeaseRevoke: prefix (/v3) endpoint (/kv/lease/revoke): error (read /dev/ptmx: input/output error (expected "etcdserver: requested lease not found", got ["curl: (52) Empty reply from server\r\n"])), wanted etcdserver: requested lease not found
    v3_curl_lease_test.go:109: testV3CurlLeaseRevoke: prefix (/v3beta) endpoint (/kv/lease/revoke): error (read /dev/ptmx: input/output error (expected "etcdserver: requested lease not found", got ["curl: (52) Empty reply from server\r\n"])), wanted etcdserver: requested lease not found
```

The `Empty reply from server` is caused by panic and server recover it
but it doesn't have chance to reply to client.

Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-01-12 17:06:00 +08:00
Benjamin Wang
46511ab96e
Merge pull request #15042 from ahrtr/update_nsswitch_3.4
[3.4] Update nsswitch.conf for 3.4
2022-12-24 07:13:34 +08:00
Benjamin Wang
58c2f5f228 update nsswitch.conf for 3.4
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-12-23 20:31:45 +08:00
Benjamin Wang
283e447df5
Merge pull request #15038 from ahrtr/remove_busybox_3.4_20221223
3.4: remove the dependency on busybox
2022-12-23 19:27:41 +08:00
Benjamin Wang
8aace73c77 3.4: remove the dependency on busybox
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-12-23 18:43:44 +08:00
Benjamin Wang
c8b7831967 bump version to 3.4.23
Signed-off-by: Benjamin Wang <wachao@vmware.com>
v3.4.23
2022-12-21 14:11:16 +08:00
Benjamin Wang
8119eb3951
Merge pull request #15019 from ahrtr/deps_3.4_20221219
[3.4] Security: address HIGH Vulnerabilities
2022-12-19 19:33:56 +08:00
Benjamin Wang
5413ce46dc bump go version to 1.17.3
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-12-19 18:34:04 +08:00
Benjamin Wang
86479c5ba9 deps: bump golang.org/x/net to v0.4.0
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-12-19 17:43:43 +08:00
Benjamin Wang
68a55439e1 deps: bump golang.org/x/net to 0.0.0-20220906165146-f3363e06e74c to address CVE CVE-2021-44716 and CVE-2022-27664
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-12-19 16:34:06 +08:00
Benjamin Wang
40566d943a deps: bump github.com/prometheus/client_golang to 1.11.1 to address CVE CVE-2022-21698
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-12-19 16:32:23 +08:00
Benjamin Wang
fcb048dd67 deps: bump github.com/gogo/protobuf to 1.3.2 to address CVE CVE-2021-3121
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-12-19 16:30:53 +08:00
Benjamin Wang
f318a39998
Merge pull request #15017 from ahrtr/use_distroless_3.4_20221219
[3.4] Security: use distroless base image to address critical Vulnerabilities
2022-12-19 16:23:30 +08:00
Benjamin Wang
c1bec6bd97 security: use distroless base image to address critical Vulnerabilities
Command:
trivy image --severity CRITICAL gcr.io/etcd-development/etcd:v3.4.22  -f json -o 3.4.22_image_critical.json

Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-12-19 08:04:47 +08:00
Benjamin Wang
9d37e7626a
Merge pull request #15011 from MukulKolpe/specify_branch_release-3.4
fix: specify the branch name of release-3.4 in the workflow
2022-12-17 18:09:47 +08:00
Mukul Kolpe
fb07cf843a fix: specify the branch name of release-3.4 in the workflow
Signed-off-by: Mukul Kolpe <mukulkolpe45@gmail.com>
2022-12-17 14:40:24 +05:30
Benjamin Wang
e03c62d5e7
Merge pull request #15007 from ArkaSaha30/trivy-release-3-4
Add trivy nightly scan for `release-3.4`
2022-12-16 13:59:40 +08:00
ArkaSaha30
7450bcfc49
Add trivy nightly scan for release-3.4
Signed-off-by: ArkaSaha30 <arkasaha30@gmail.com>
2022-12-16 11:06:58 +05:30
Benjamin Wang
593711848e
Merge pull request #14900 from ahrtr/fix_readyonly_txn_panic_3.4_20221206
[3.4] etcdserver: fix nil pointer panic for readonly txn
2022-12-06 19:25:12 +08:00
Benjamin Wang
acca4fa93e etcdserver: fix nil pointer panic for readonly txn
Backporting https://github.com/etcd-io/etcd/pull/14895

Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-12-06 18:09:47 +08:00
Benjamin Wang
c619e2705e
Merge pull request #14853 from ahrtr/remove_memberid_alarm_3.4_20221125
[3.4] etcdserver: intentionally set the memberID as 0 in corruption alarm
2022-11-25 17:01:02 +08:00
Benjamin Wang
2f4f7328d0 etcdserver: intentionally set the memberID as 0 in corruption alarm
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-11-25 15:58:23 +08:00
Benjamin Wang
f4bf538781
Merge pull request #14792 from ahrtr/auth_3.4_20221117
[3.4] clientv3: do not refresh token when users use CommonName based authentication
2022-11-17 18:08:11 +08:00
Benjamin Wang
90585e03a0 test: add test case to cover the CommonName based authentication
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-11-17 09:12:13 +08:00
Benjamin Wang
8b4405b276 test: add certificate with root CommonName
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-11-17 08:34:59 +08:00
Benjamin Wang
8ca42a7ae4 clientv3: do not refresh token when using TLS CommonName based authentication
When users use the TLS CommonName based authentication, the
authTokenBundle is always nil. But it's possible for the clients
to get `rpctypes.ErrAuthOldRevision` response when the clients
concurrently modify auth data (e.g, addUser, deleteUser etc.).
In this case, there is no need to refresh the token; instead the
clients just need to retry the operations (e.g. Put, Delete etc).

Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-11-17 08:32:35 +08:00
Benjamin Wang
1f054980bc Bump version to 3.4.22
Signed-off-by: Benjamin Wang <wachao@vmware.com>
v3.4.22
2022-11-02 08:08:33 +08:00
Benjamin Wang
c9cf4db813
Merge pull request #14675 from cenkalti/release-3.4
server: add more context to panic message
2022-11-02 07:56:50 +08:00
Cenk Alti
7a4a3ad8db
server: add more context to panic message
Signed-off-by: Cenk Alti <cenkalti@gmail.com>
2022-11-01 18:59:17 -04:00
Benjamin Wang
7c1499d3bb
Merge pull request #14649 from mitake/test-authrecover-3.4
[3.4] server: add a unit test case for authStore.Reocver() with empty rangePermCache
2022-10-29 13:11:36 +08:00
Hitoshi Mitake
b7a23311e6 etcdserver: call refreshRangePermCache on Recover() in AuthStore
Signed-off-by: Oleg Guba <oleg@dropbox.com>
Signed-off-by: Hitoshi Mitake <h.mitake@gmail.com>
2022-10-29 13:55:06 +09:00
Hitoshi Mitake
0b3ff06868 server: add a unit test case for authStore.Reocver() with empty rangePermCache
Signed-off-by: Hitoshi Mitake <h.mitake@gmail.com>
2022-10-29 13:27:53 +09:00
Benjamin Wang
ce1630f68f
Merge pull request #14601 from dusk125/release-3.4
Backport #14500 to 3.4
2022-10-27 14:21:22 +08:00
Allen Ray
9254f8f05b Release-3.4: server/etcdmain: add configurable cipher list to gRPC proxy listener
Signed-off-by: Allen Ray <alray@redhat.com>
2022-10-19 16:02:13 -04:00
Benjamin Wang
b058374fbd
Merge pull request #14594 from ZoeShaw101/fix-watch-test-issue-3.4
Backport #14591 to 3.4.
2022-10-17 05:25:50 +08:00
王霄霄
dcebdf7958 Backport #14591 to 3.4.
Signed-off-by: 王霄霄 1141195807@qq.com
Signed-off-by: 王霄霄 <1141195807@qq.com>
2022-10-16 21:18:53 +08:00
Benjamin Wang
5b764d8771
Merge pull request #14581 from tomari/tomari/watch-backoff-for-3.4
[3.4] client/v3: Add backoff before retry when watch stream returns unavailable
2022-10-13 07:23:02 +08:00
Hisanobu Tomari
7b7fbbf8b8 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-13 05:26:31 +09:00
Sahdev Zala
429fcb98ab
Merge pull request #14579 from ahrtr/wal_log_3.4
[3.4] etcdserver: added more debug log for the purgeFile goroutine
2022-10-12 11:34:33 -04:00
Benjamin Wang
1d7639f796 etcdserver: added more debug log for the purgeFile goroutine
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-10-12 19:39:20 +08:00
Benjamin Wang
5b3ac7da6b
Merge pull request #14577 from pchan/acp3.4
Cherry pick of #13224
2022-10-12 17:58:26 +08:00