ahrtr
ebc86d12c0
support v3 discovery to bootstrap a new etcd cluster
2022-02-21 23:22:49 +08:00
Marek Siarkowicz
a0f26ff4ea
server: Snapshot after cluster version downgrade
2022-02-21 15:48:00 +01:00
Piotr Tabor
6105a6f0e8
Merge pull request #13683 from serathius/publishV3
...
server: Switch to publishV3
2022-02-21 14:16:22 +01:00
ahrtr
8681888012
fix typo, renamed ErrGPRCNotSupportedForLearner to ErrGRPCNotSupportedForLearner
2022-02-21 14:46:58 +08:00
Marek Siarkowicz
a63fa17b76
Merge pull request #13645 from yangxuanjia/yxjetcd_fix_panic_when_restart_after_removeMember
...
fix panic when restart after removeMember
2022-02-20 12:28:14 +01:00
AdamKorcz
5649cf3f1a
Log and return instead of panic
2022-02-16 10:31:08 +00:00
AdamKorcz
fad82c1b6f
server/etcdserver: fix oss-fuzz issue N
2022-02-15 15:32:31 +00:00
Marek Siarkowicz
8c91d60a6f
server: Switch to publishV3
2022-02-14 23:06:45 +01:00
Sahdev Zala
830f00d105
Merge pull request #13695 from AdamKorcz/fuzz1
...
server/etcdserver: fix oss-fuzz issue 42181
2022-02-14 15:36:41 -05: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
AdamKorcz
0df768d2b1
server/etcdserver: fix oss-fuzz issue 42181
2022-02-14 10:59:41 +00:00
bjyangxuanjia
d108a241d0
fix panic when restart after removeMember
...
fix panic when restart after removeMember
fix panic when restart after removeMember
2022-01-26 16:03:00 +08:00
Marek Siarkowicz
692b3c4cd7
server: Remove most of V2 API
2022-01-25 15:24:13 +01:00
Eng Zer Jun
e9edc5432c
*: use T.TempDir
to create temporary test directory
...
The directory created by `T.TempDir()` and is automatically removed when
the test and all its subtests complete.
Reference: https://pkg.go.dev/testing#T.TempDir
Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
2022-01-25 00:00:46 +08:00
Piotr Tabor
a1fb9ff1e4
Merge pull request #13621 from serathius/integration-v2-api
...
Remove V2 API usage from Integration tests
2022-01-24 12:28:42 +01:00
Marek Siarkowicz
87c8e8b868
test: Migrate to ClusterV3 cluster in integration tests
2022-01-20 14:10:09 +01:00
ahrtr
15568f4c00
add protection code for Range when the sortTarget is an invalid value
2022-01-18 07:46:37 +08:00
ahrtr
f8aafea504
add protection code to prevent etcd from panic when the client api version is not valid UTF-8
2022-01-17 06:21:22 +08:00
Sahdev Zala
f4266e2d75
Merge pull request #13575 from AdamKorcz/fuzz1
...
v2auth: fix out of bounds in test
2022-01-15 23:30:10 -05:00
Marek Siarkowicz
ee5ef42c5c
server: --enable-v2 and --enable-v2v3 is decomissioned
2022-01-14 13:19:30 +01:00
AdamKorcz
6aac35dd32
v2auth: fix out of bounds in test
2022-01-10 19:06:07 +00:00
ahrtr
7be1464ef1
set the backend again after recovering v3 backend from snapshot
2021-12-03 05:52:12 +08:00
Marek Siarkowicz
7d10899d7f
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.
2021-12-02 12:26:47 +01:00
Sahdev Zala
d357f9b361
Merge pull request #13399 from ahrtr/serializable_health_check
...
Enhance health check endpoint to support serializable request
2021-11-15 11:46:55 -05:00
Sam Batschelet
29c3b0f307
Merge pull request #13377 from hexfusion/add-learner-limit-flag
...
Add experimental-max-learners flag
2021-11-15 09:49:18 -05:00
ahrtr
09ff05108b
enhance health check endpoint to support serializable request
2021-11-15 05:57:54 +08:00
Chao Chen
f6f27d32d1
server/etcdserver/api/etcdhttp: exclude the same alarm type activated by multiple peers
2021-11-09 11:33:59 -08:00
Sam Batschelet
63a1cc3fe4
add --experimental-max-learner flag
...
Signed-off-by: Sam Batschelet <sbatsche@redhat.com>
2021-11-09 09:52:00 -05:00
Piotr Tabor
fd0b98b6c0
Merge pull request #13404 from JmPotato/refine_periodic
...
v3compactor: refine some code and fix a typo
2021-10-29 23:25:23 +02:00
Piotr Tabor
6c2f5dc78a
Merge pull request #13405 from serathius/downgrade-b
...
Implement single node downgrades
2021-10-29 23:22:10 +02:00
Marek Siarkowicz
9d47a97b0b
server: Remove lock from adapter to avoid deadlock
2021-10-29 12:47:19 +02:00
Marek Siarkowicz
431adc5878
server: Implement storage downgrades
...
By validating if WAL doesn't include any incompatible entries we can
implement storage downgrades.
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
f5d71fa389
server: Detect when WAL includes unapplied cluster version set to higher version
...
This is because etcd v3.5 will panic when it encounters
ClusterVersionSet entry with version >3.5.0. For downgrades to v3.5 to
work we need to make sure this entry is snapshotted.
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
Eng Zer Jun
2a151c8982
*: move from io/ioutil to io and os packages
...
The io/ioutil package has been deprecated as of Go 1.16, see
https://golang.org/doc/go1.16#ioutil . This commit replaces the existing
io/ioutil functions with their new definitions in io and os packages.
Signed-off-by: Eng Zer Jun <engzerjun@gmail.com>
2021-10-28 00:05:28 +08:00
Jille Timmermans
923f0aa3e7
etcdserver: Expose metrics with all known peers
...
To make it possible to alert on misconfigured etcd clusters that have
missing/superfluous peers, expose the list of peers as a metric.
This metric can, for example, be compared to the control-plane nodes of
a kubernetes cluster.
2021-10-09 14:27:10 +02:00
Piotr Tabor
5b226e0abf
Merge pull request #13391 from serathius/downgrade-refactor
...
Refactor code to make place for downgrade logic
2021-10-08 12:38:25 +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
d039f016c5
server: Move Storage interface to storage package
2021-10-08 12:01:53 +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
JmPotato
471a804665
Remove the unnecessary code
...
Signed-off-by: JmPotato <ghzpotato@gmail.com>
2021-10-08 14:59:41 +08:00
JmPotato
0504ecdc70
Refine some code and fix a typo
...
Signed-off-by: JmPotato <ghzpotato@gmail.com>
2021-10-08 12:07:02 +08:00
Aleksandr Razumov
3644c9d67b
client/pkg/fileutil: add missing logger to {Create,Touch}DirAll
...
Also populate it to every invocation.
2021-10-07 17:53:59 +03:00
Marek Siarkowicz
90932324b1
client: Add grpc authority header integration tests
2021-09-29 12:42:16 +02:00
Piotr Tabor
752a206da4
Merge pull request #13238 from sakateka/etcdserver-logs
...
etcdserver: remove code duplication from the peer.send func
2021-09-27 09:01:34 +02:00