17145 Commits

Author SHA1 Message Date
Marek Siarkowicz
0452feec71 version: bump up to 3.5.3 v3.5.3 tests/v3.5.3 etcdctl/v3.5.3 etcdutl/v3.5.3 server/v3.5.3 client/v3.5.3 client/v2.305.3 client/pkg/v3.5.3 raft/v3.5.3 pkg/v3.5.3 api/v3.5.3 2022-04-13 17:17:51 +02:00
Marek Siarkowicz
842cb4b4fc
Merge pull request #13938 from endocrimes/dani/backport
[backport]  PR 13923 to release-3.5
2022-04-13 15:15:59 +02:00
Danielle Lancashire
50978d5b25 clientv3: disable mirror auth test with proxy 2022-04-13 12:41:24 +00:00
Danielle Lancashire
5d44f2242f cv3/mirror: Fetch the most recent prefix revision
When a user sets up a Mirror with a restricted user that doesn't have
access to the `foo` path, we will fail to get the most recent revision
due to permissions issues.

With this change, when a prefix is provided we will get the initial
revision from the prefix rather than /foo. This allows restricted users
to setup sync.
2022-04-13 12:39:06 +00:00
Marek Siarkowicz
cd750e4542
Merge pull request #13862 from mrueg/update-baseimage
[release-3.5] Dockerfile*: Switch baseimage to k8s hosted one
2022-04-12 11:55:46 +02:00
Marek Siarkowicz
003a310489
Merge pull request #13933 from ahrtr/fix_snapshot_recover_cindex_3.5
[3.5]Set backend to cindex before recovering the lessor in applySnapshot
2022-04-12 10:46:55 +02:00
Manuel Rüger
6095cf810a Dockerfile-release.*: Update base image snapshot
Signed-off-by: Manuel Rüger <manuel@rueg.eu>
2022-04-12 10:39:55 +02:00
Marek Siarkowicz
719082e4fc
Merge pull request #13932 from ahrtr/lease_renew_linearizable_3.5
[3.5] Support linearizable renew lease
2022-04-12 10:03:20 +02:00
ahrtr
4002aa51bd set backend to cindex before recovering the lessor in applySnapshot 2022-04-12 15:56:14 +08:00
ahrtr
bc5307de95 support linearizable renew lease
When etcdserver receives a LeaseRenew request, it may be still in
progress of processing the LeaseGrantRequest on exact the same
leaseID. Accordingly it may return a TTL=0 to client due to the
leaseID not found error. So the leader should wait for the appliedID
to be available before processing client requests.
2022-04-12 14:12:45 +08:00
Marek Siarkowicz
b9cbff151c
Merge pull request #13917 from chrisayoub/release-3.5
[release-3.5] clientv3: filter learners members during autosync
2022-04-10 15:43:28 +02:00
Chris Ayoub
232fb980a7 clientv3: filter learners members during autosync
This change is to ensure that all members returned during the client's
AutoSync are started and are not learners, which are not valid
etcd members to make requests to.
2022-04-09 21:25:42 -04:00
Marek Siarkowicz
383eceb885
Merge pull request #13669 from maxsokolovsky/upgrade-server-dependency-golang.org/x/crypto
etcdserver: upgrade the golang.org/x/crypto dependency
2022-04-09 09:44:05 +02:00
Marek Siarkowicz
bf22ef3b03
Merge pull request #13908 from ahrtr/data_corruption_3.5
[3.5] Fix the data inconsistency issue by adding a txPostLockHook into the backend
2022-04-08 19:30:17 +02:00
ahrtr
66c7aab4d3 fix the data inconsistency issue by adding a txPostLockHook into the backend
Previously the SetConsistentIndex() is called during the apply workflow,
but it's outside the db transaction. If a commit happens between SetConsistentIndex
and the following apply workflow, and etcd crashes for whatever reason right
after the commit, then etcd commits an incomplete transaction to db.
Eventually etcd runs into the data inconsistency issue.

In this commit, we move the SetConsistentIndex into a txPostLockHook, so
it will be executed inside the transaction lock.
2022-04-08 20:37:34 +08:00
Marek Siarkowicz
3ace622792
Merge pull request #13904 from serathius/term-v3.5
[release-3.5] server: Save consistency index and term to backend even when they decrease
2022-04-08 14:03:32 +02:00
Marek Siarkowicz
780ec338f0 server: Save consistency index and term to backend even when they decrease
Reason to store CI and term in backend was to make db fully independent
snapshot, it was never meant to interfere with apply logic. Skip of CI
was introduced for v2->v3 migration where we wanted to prevent it from
decreasing when replaying wal in
https://github.com/etcd-io/etcd/pull/5391. By mistake it was added to
apply flow during refactor in
https://github.com/etcd-io/etcd/pull/12855#commitcomment-70713670.

Consistency index and term should only be negotiated and used by raft to make
decisions. Their values should only driven by raft state machine and
backend should only be responsible for storing them.
2022-04-07 21:22:18 +02:00
Marek Siarkowicz
238b18c110
Merge pull request #13895 from mrueg/rel3.5-client_golang
[release-3.5] go.mod: Upgrade to prometheus/client_golang v1.11.1
2022-04-07 09:38:43 +02:00
Piotr Tabor
5f1968887c
Merge pull request #13887 from serathius/verify-v3.5
[release-v3.5] server: Add verification of whether lock was called within out outsid…
2022-04-06 14:32:03 +02:00
Marek Siarkowicz
83538f342d server: Add verification of whether lock was called within out outside of apply 2022-04-06 11:22:51 +02:00
Manuel Rüger
3b8c6512df go.mod: Upgrade to prometheus/client_golang v1.11.1 2022-04-06 00:35:48 +02:00
Marek Siarkowicz
8b9ce3e150
Merge pull request #13866 from serathius/logs-v3.5
[release-3.5] Fix inconsistent log format
2022-04-04 13:04:16 +02:00
Marek Siarkowicz
a060b42e47 server: Use default logging configuration instead of zap production one
This fixes problem where logs json changes format of timestamp.
2022-04-01 12:23:44 +02:00
Marek Siarkowicz
25556a08a8 tests: Keeps log in expect to allow their analysis 2022-04-01 12:23:14 +02:00
Piotr Tabor
12ceac6fdd
Merge pull request #13858 from mrueg/release-3.5-fix-make
[Release-3.5] Makefile: Fix wrong target
2022-03-31 11:07:38 +02:00
Manuel Rüger
462aefdfe1 Makefile: Fix wrong target
Signed-off-by: Manuel Rüger <manuel@rueg.eu>
2022-03-31 10:01:15 +02:00
Marek Siarkowicz
fed325a95a
Merge pull request #13832 from mrueg/rel-3.5-go-1.16.15
[release-3.5] Update go to 1.16.15
2022-03-23 11:30:20 +01:00
Manuel Rüger
c51c8d24e1 Build locally if docker-test container image does not exist
This should make it easier to bump the golang version
2022-03-22 00:03:57 +01:00
Manuel Rüger
1801ef8d71 Update to go 1.16.15 2022-03-22 00:00:22 +01:00
Marek Siarkowicz
d5161347da
Merge pull request #13792 from kkkkun/fix-offline-defrag
Fix offline defrag in etcdctl
2022-03-17 11:22:13 +01:00
kkkkun
58374b83a1 Fix offline defrag 2022-03-13 21:17:59 +08:00
Marek Siarkowicz
39baf36ca3
Merge pull request #13726 from chaochn47/backport_13676_to_3_5
backport 3.5: #13676 load all leases from backend
2022-03-08 10:40:28 +01:00
Marek Siarkowicz
541635e36a
Merge pull request #13701 from lavacat/defrag-bopts-fix-3.5
server/storage/backend: restore original bolt db options after defrag
2022-03-08 10:38:31 +01:00
Piotr Tabor
3c2ef71358
Merge pull request #13727 from ahrtr/3.5_print_raft_term_in_decimal
[3.5] Always print raft term in decimal when displaying member list in json
2022-02-25 08:59:52 +01:00
Piotr Tabor
1eb8b6a75c
Merge pull request #13736 from vivekpatani/release-3.5
*: fix IsOptsWithFromKey
2022-02-24 22:50:27 +01:00
leoyang.yl
7cec92a281 *: fix IsOptsWithFromKey
porting back from 3.5 from main
PR #13334
2022-02-23 16:42:00 -08:00
Chao Chen
f634b44046 backport 3.5: #13676 load all leases from backend 2022-02-22 10:21:04 -08:00
ahrtr
7345d4211b always print raft_term in decimal when displaying member list in json 2022-02-22 17:09:21 +08:00
Marek Siarkowicz
fa191c64bd
Merge pull request #13706 from ahrtr/3.5-serializable_health_check
[3.5] enhance health check endpoint to support serializable request
2022-02-21 21:59:58 +01:00
Marek Siarkowicz
31c8e3c7a5
Merge pull request #13714 from ahrtr/3.5_correct_dns_etcd_client
[3.5] Trim the suffix dot from the srv.Target for etcd-client DNS lookup
2022-02-20 13:34:09 +01:00
ahrtr
4f51cc1d9a trim the suffix dot from the srv.Target for etcd-client DNS lookup 2022-02-19 05:55:19 +08:00
ahrtr
7db1051774 enhance health check endpoint to support serializable request 2022-02-17 15:03:22 +08:00
Bogdan Kanivets
631fa6fd65 server/storage/backend: restore original bolt db options after defrag
Problem: Defrag was implemented before custom bolt options were added.
Currently defrag doesn't restore backend options.
For example BackendFreelistType will be unset after defrag.

Solution: save bolt db options and use them in defrag.
2022-02-15 10:56:07 -08:00
Max Sokolovsky
f4708ae3d4 etcdserver: upgrade the golang.org/x/crypto dependency
To rectify the vulnerability found in a version of golang.org/x/crypto
(https://avd.aquasec.com/nvd/cve-2020-29652), upgrade the dependency to
its latest version.
Alternatively, version v0.0.0-20201216223049-8b5274cf687f could be used,
where the fixed was introduced, but the latest is preferable.
2022-02-07 10:11:46 -05:00
Marek Siarkowicz
99018a77be version: bump up to 3.5.2 v3.5.2 tests/v3.5.2 etcdctl/v3.5.2 etcdutl/v3.5.2 server/v3.5.2 client/v3.5.2 client/v2.305.2 client/pkg/v3.5.2 raft/v3.5.2 pkg/v3.5.2 api/v3.5.2 2022-02-01 12:28:34 +01:00
Piotr Tabor
a624446907
Merge pull request #13616 from ptabor/20220117-update-yaml
Update dep: gopkg.in/yaml.v2 v2.2.8 -> v2.4.0 due to: CVE-2019-11254 [release 3.5]
2022-01-17 20:07:16 +01:00
Piotr Tabor
74f33d6665 Update dep: require gopkg.in/yaml.v2 v2.2.8 -> v2.4.0 due to: CVE-2019-11254. 2022-01-17 17:10:50 +01:00
Piotr Tabor
7291ed3c4a
Merge pull request #13541 from michaljasionowski/backport-runlock-fix
Backport watchablestore runlock bug fix to release-3.5
2021-12-21 11:03:31 +01:00
leoyang.yl
55c16df997 fix runlock bug 2021-12-16 15:58:41 +00:00
Piotr Tabor
73080a7166
Merge pull request #13501 from ahrtr/reset_ci_after_reload_db_3.5
[3.5] Set the backend again after recovering v3 backend from snapshot
2021-12-06 13:22:22 +01:00