Benjamin Wang
5f8cd5bd39
Replace all etcd versions with the centralized definitions
...
We have already defined all the constant etcd versions in the
centralized place api/version/version.go. So we should replace all
the versions with the centralized definitions.
2022-06-13 14:08:39 +08:00
ahrtr
1ae5aa52de
fix some typos related to downgrade
2022-03-09 16:07:18 +08:00
Marek Siarkowicz
3de5e221a8
tests: Fix cluster version and downgrade request timeout
...
Returning nil means that raft.Trigger was not called, causing member to
wait infinitly for response for response on raft request.
2022-02-14 14:19:06 +01:00
Marek Siarkowicz
9d47a97b0b
server: Remove lock from adapter to avoid deadlock
2021-10-29 12:47:19 +02:00
Marek Siarkowicz
335dc98c8d
server: Use server version to decide if to downgrade has finished
2021-10-29 12:47:19 +02:00
Marek Siarkowicz
758fc0f8ad
server: Depend only on cluster version to detect downgrade
...
Problem with old code was that during downgrade only members with
downgrade target version were allowed to join. This is unrealistic as
it doesn't handle any members to disconnect/rejoin.
2021-10-29 12:47:17 +02:00
Marek Siarkowicz
f92b4f9a28
server: Integrate version validation logic into tests
2021-10-08 12:01:54 +02:00
Marek Siarkowicz
620832a4a5
server: Use panic instead of os.Exit in mustDetectDowngrade
2021-10-08 12:01:54 +02:00
Marek Siarkowicz
e47c3c22d2
server: Move downgrade API logic into version package
2021-10-08 12:01:51 +02:00
Marek Siarkowicz
1e5e57f268
server: Move downgrade detection code to version package
2021-10-08 10:41:37 +02:00
Marek Siarkowicz
378159af30
server: Refactor cluster version decision code
2021-10-08 10:41:37 +02:00
Marek Siarkowicz
2de36c0596
server: Cover monitor with upgrade unit tests
2021-10-08 10:41:35 +02:00
Marek Siarkowicz
ff3729c4d5
server: Implement storage schema migration to follow cluster version change and panic if unknown storage version is found
...
Storage version should follow cluster version. During upgrades this
should be immidiate as storage version can be always upgraded as storage
is backward compatible. During downgrades it will be delayed and will
require time for incompatible changes to be snapshotted.
As storage version change can happen long after cluster is running, we
need to add a step during bootstrap to validate if loaded data can be
understood by migrator.
2021-09-10 10:16:48 +02:00
Marek Siarkowicz
f6534f1e92
server: Move setting storage version to schema
2021-07-12 15:37:21 +02:00
Marek Siarkowicz
5b6f4579fb
server: Rename buckets to schema
2021-07-12 15:37:21 +02:00
Marek Siarkowicz
5e40a8b00c
server: Create storage package and move mvcc files to it
2021-07-12 15:37:21 +02:00
Marek Siarkowicz
bf3e7033e9
etcdserver: Move Read/Update methods on Meta bucket to one place
...
There are still some left like compact keys, but they will require more
work to avoid circular dependency.
2021-07-05 13:23:53 +02:00
Marek Siarkowicz
86f68b9374
*: Add missing file licenses and Fix static analysis prevent skipping them in future
2021-06-29 12:52:02 +02:00
Marek Siarkowicz
e2740b4afa
server,etcdutl: Preserve etcd version in backend allowing etcdutl to read it from snapshot
2021-06-25 14:06:56 +02:00
Marek Siarkowicz
823f85dfc9
etcdserver: Move version monitor logic to separate module
2021-06-23 19:27:29 +02:00