Siyuan Zhang
0d62c99777
Allow updateClusterVersion when downgrading from 3.5.
...
Signed-off-by: Siyuan Zhang <sizhang@google.com>
2024-04-22 22:39:03 +00:00
Chun-Hung Tseng
1b53a26cae
[backport-3.4] server: ignore raft messages if member id mismatch #17078
...
Signed-off-by: Chun-Hung Tseng <henrybear327@gmail.com>
2024-04-17 13:50:15 +02:00
Siyuan Zhang
723ef9f1e4
Allow server to join higher cluster version if NextClusterVersionCompatible is true
...
Signed-off-by: Siyuan Zhang <sizhang@google.com>
2024-03-28 23:29:17 +00:00
Benjamin Wang
ff278c49c4
Merge pull request #17465 from ivanvc/release-3.4-backport-ignore-old-leader-leases-revoking-requests
...
[3.4] backport ignore old leader leases revoking requests
2024-02-22 09:50:25 +00:00
Ivan Valdes
bf04c67408
Backport ignore old leader's leases revoking request
...
Backport of PR #16822 , commits f7e488dc9262685d6624755e0d3bb0a655863248,
67f17166bf2ba337dafb8e0ea8eea5f74a990767,
and f7ff898fd6c2d6dbb54278343073aa4fa5f46a03.
Co-authored-by: Benjamin Wang <benjamin.wang@broadcom.com>
Signed-off-by: Ivan Valdes <ivan@vald.es>
2024-02-20 11:31:29 -08:00
Siyuan Zhang
c65c1ea559
Add function to migrate 3.5 data online.
...
Signed-off-by: Siyuan Zhang <sizhang@google.com>
2024-02-20 08:55:55 -08:00
Bogdan Kanivets
e7da7ebf7e
add flag to allow downgrade from 3.5
...
Signed-off-by: Siyuan Zhang <sizhang@google.com>
2024-02-20 08:55:55 -08:00
Marek Siarkowicz
73814a46f9
Don't flock snapshot files
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2024-01-08 15:11:44 +01:00
Benjamin Wang
f06c6e6189
Merge pull request #17144 from siyuanfoundation/livez-bp-3.4-e2e
...
[3.4] Backport e2e tests for livez/readyz.
2023-12-21 19:12:57 +00:00
Siyuan Zhang
c43530c402
[3.4] backport health check e2e tests.
...
Signed-off-by: Siyuan Zhang <sizhang@google.com>
2023-12-21 09:33:11 -08:00
Marek Siarkowicz
6723e3cc44
Check if be is nil to avoid panic when be is overriden with nil by recoverSnapshotBackend on line 471
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-12-20 17:01:01 +01:00
Siyuan Zhang
cc44646a2e
server: Cover V3 health with tests
...
Signed-off-by: Siyuan Zhang <sizhang@google.com>
2023-12-14 10:23:49 -08: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
Benjamin Wang
f53db9b246
etcdserver: resend ReadIndex request on empty apply request
...
Backport https://github.com/etcd-io/etcd/pull/12795 to 3.4
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-07-25 09:21:31 +08:00
Benjamin Wang
e2b36f8879
Merge pull request #14253 from serathius/checkpoints-fix-3.4
...
[3.4] Checkpoints fix 3.4
2022-07-22 16:56:17 +08:00
Marek Siarkowicz
8f4735dfd4
server: Require either cluster version v3.6 or --experimental-enable-lease-checkpoint-persist to persist lease remainingTTL
...
To avoid inconsistant behavior during cluster upgrade we are feature
gating persistance behind cluster version. This should ensure that
all cluster members are upgraded to v3.6 before changing behavior.
To allow backporting this fix to v3.5 we are also introducing flag
--experimental-enable-lease-checkpoint-persist that will allow for
smooth upgrade in v3.5 clusters with this feature enabled.
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2022-07-22 10:28:29 +02:00
vivekpatani
e4deb09c9e
etcdserver,pkg: remove temp files in snap dir when etcdserver starting
...
- Backporting: https://github.com/etcd-io/etcd/pull/12846
- Reference: https://github.com/etcd-io/etcd/issues/14232
Signed-off-by: vivekpatani <9080894+vivekpatani@users.noreply.github.com>
2022-07-21 15:50:27 -07:00
Benjamin Wang
f036529b5d
Backport two lease related bug fixes to 3.4
...
The first bug fix is to resolve the race condition between goroutine
and channel on the same leases to be revoked. It's a classic mistake
in using Golang channel + goroutine. Please refer to
https://go.dev/doc/effective_go#channels
The second bug fix is to resolve the issue that etcd lessor may
continue to schedule checkpoint after stepping down the leader role.
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-06-24 09:09:40 +08:00
cfc4n
4488595e05
auth: Customize simpleTokenTTL settings.
...
see https://github.com/etcd-io/etcd/issues/11978 for more detail.
2020-06-25 19:58:26 +08:00
Viacheslav Biriukov
87fc3c9e57
etcdserver,wal: fix inconsistencies in WAL and snapshot
...
etcdserver/*, wal/*: changes to snapshots and wal logic
etcdserver/*: changes to snapshots and wal logic to fix #10219
etcdserver/*, wal/*: add Sync method
etcdserver/*, wal/*: find valid snapshots by cross checking snap files and wal snap entries
etcdserver/*, wal/*:Add comments, clean up error messages and tests
etcdserver/*, wal/*: Remove orphaned .snap.db files during Release
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2020-05-15 08:40:09 -07:00
tangcong
347c8dac3b
*: fix auth revision corruption bug
2020-04-09 09:33:36 +08:00
Jingyi Hu
4f3c81d81d
etcdserver: wait purge file loop during shutdown
...
To prevent the purge file loop from accidentally acquiring the file lock
and remove the files during server shutdowm.
2019-10-30 16:04:41 -07:00
Jingyi Hu
a00abf5f2a
etcdserver: strip patch version in metrics
...
Strip patch version in cluster version metrics during node restart.
2019-10-16 16:29:53 -07:00
yoyinzyc
daa432cfa7
etcdserver: add put request steps. mvcc: add put request steps; add trace to KV.Write() as input parameter.
2019-10-09 12:40:12 -07:00
Joe Betz
1e213b7ab6
*: Add experimental-compaction-batch-limit flag
...
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-15 13:31:39 -07:00
Gyuho Lee
f786b6ba16
etcdserver: add "etcd_server_snapshot_apply_in_progress_total"
...
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-08-08 14:02:13 -07:00
Gyuho Lee
2f30e9ad7f
etcdserver: document v2 usage in "publish" method
...
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-07-28 21:07:39 -05:00
lzhfromustc
d35f6647bc
Use newbe instead of s.be to avoid potential race
...
`s.cluster.SetBackend(s.be)` is not in critical section. Using `newbe` instead of `s.be` can avoid potential data race.
2019-07-08 14:24:52 -07:00
Jingyi Hu
48d144a3de
Merge pull request #10731 from WIZARD-CXY/learner_metric
...
etcdserver: add learner metrics
2019-06-08 22:43:03 -07:00
Jingyi Hu
e67b9829b6
*: enable lease checkpoint via experimental flag
...
Primary lessor persist lease remainingTTL only if experimental flag
"--experimental-enable-lease-checkpoint" is set.
2019-06-05 15:30:03 -07:00
宇慕
0b8727b3f3
etcdserver: add learner metrics
2019-06-05 10:51:21 +08:00
Xiang Li
d8e2e47de5
Merge pull request #10693 from nolouch/fix-lease
...
lease/lessor: recheck if exprired lease is revoked
2019-05-31 12:13:36 -07:00
nolouch
dc8a31eaf0
lease/lessor: recheck if exprired lease is revoked
...
Signed-off-by: nolouch <nolouch@gmail.com>
2019-05-29 14:27:19 +08:00
Jingyi Hu
23511d21ec
*: address comments
2019-05-28 18:50:13 -07:00
宇慕
3f94385fc6
etcdserver: update raftStatus
2019-05-28 18:50:13 -07:00
Jingyi Hu
f8ad8ae4ad
etcdserver: use etcdserver ErrLearnerNotReady
...
If learner is not ready to be promoted, use etcdserver.ErrLearnerNotReady
instead of using membership.ErrLearnerNotReady.
2019-05-28 18:50:13 -07:00
Jingyi Hu
f5eaaaf440
etcdserver: forward member promote to leader
2019-05-28 18:50:10 -07:00
宇慕
dfe296ac3c
etcdserver: add mayPromote check
2019-05-28 18:47:03 -07:00
Jingyi Hu
c438f6db27
etcdserver: check IsMemberExist before IsLearner
...
If member does not exist in cluster, IsLearner will panic.
2019-05-28 18:47:03 -07:00
Jingyi Hu
76a63f9f7d
etcdserver: adjust StrictReconfigCheck
...
Adjust StrictReconfigCheck logic to accommodate learner members in the
cluster.
2019-05-28 18:47:03 -07:00
Gyuho Lee
34bd797e67
*: revert module import paths
...
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2019-05-28 15:39:35 -07:00
Jingyi Hu
23f1d02391
*: address comments
2019-05-15 15:58:46 -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
355d0ab2a6
*: add learner field in endpoint status
...
Added learner field to endpoint status API.
2019-05-15 13:13:59 -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
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
shivaramr
9150bf52d6
go modules: Fix module path version to include version number
2019-04-26 15:29:50 -07:00
Gyuho Lee
291768af0f
etcdserver/*: add "etcd_cluster_version" metric
...
Signed-off-by: Gyuho Lee <leegyuho@amazon.com>
2018-11-13 21:49:12 -08:00