Clement
06a2cb7369
add compacti field to etcdProgress; add a test case
...
Signed-off-by: Clement <gh.2lgqz@aleeas.com>
2024-09-24 22:52:07 +08:00
Clement
1d08b34a43
separate maybeCompactRaftLog function to compact raft log independently from snapshots
...
Signed-off-by: Clement <gh.2lgqz@aleeas.com>
2024-09-24 18:27:05 +08:00
Clement
9b04e4df45
separate maybeCompactRaftLog function to compact raft log independently from snapshots
...
Signed-off-by: Clement <gh.2lgqz@aleeas.com>
2024-09-24 18:25:20 +08:00
Clement
dff53056f5
separate maybeCompactRaftLog function to compact raft log independently from snapshots
...
Signed-off-by: Clement <gh.2lgqz@aleeas.com>
2024-09-24 18:06:55 +08:00
Benjamin Wang
2f9532bfca
Merge pull request #18608 from srivastav-abhishek/periodic-compaction-flake-fix
...
Fixed periodic compaction tests
2024-09-22 09:17:13 +01:00
Joshua Zhang
b8cb654be6
Use strict synchronization for revision getter to minimize flaky result caused by time racing.
...
Signed-off-by: Joshua Zhang <joshuazh@microsoft.com>
Addressed review comments
Co-authored-by: Abhishek Kr Srivastav <Abhishek.kr.srivastav@ibm.com>
Signed-off-by: Abhishek Kr Srivastav <Abhishek.kr.srivastav@ibm.com>
2024-09-19 17:34:24 +05:30
redwrasse
d4df7a902e
Replaces a number of error equality checks with errors.Is
...
Signed-off-by: redwrasse <mail@redwrasse.io>
2024-09-03 16:02:24 -07:00
Benjamin Wang
b8b0cf83d1
Skip leadership check if the etcd instance is active processing heartbeat
...
Signed-off-by: Benjamin Wang <benjamin.ahrtr@gmail.com>
2024-08-09 17:02:02 +01:00
Siyuan Zhang
bd228cf6d1
migrate experimental-stop-grpc-service-on-defrag flag to feature gate.
...
Signed-off-by: Siyuan Zhang <sizhang@google.com>
2024-08-05 13:46:51 -07:00
ArkaSaha30
6a17ce3ff7
fix genproto after *.proto file update
...
Update genproto after *.proto change:
* Please rerun genproto.sh after changing *.proto file
* Run ./scripts/genproto.sh
Error encountered:
[0;31mFAIL: 'genproto' FAILED at Wed Jul 31 07:09:08 UTC 2024
make: *** [Makefile:134: verify-genproto] Error 255
Signed-off-by: ArkaSaha30 <arkasaha30@gmail.com>
2024-07-31 15:06:45 +05:30
Clement
d820cd2b56
etcdserver: change the snapshot + compact into sync operation
...
Signed-off-by: Clement <gh.2lgqz@aleeas.com>
2024-07-05 01:27:30 +08:00
Baek
60e3f45469
Adds all feature_gate from component-base.
...
We'll likely use most of the feature_gate package from component-base.
Also this commit moves the pkg from server/internal/pkg to pkg/.
Signed-off-by: Baek <seungtackbaek@google.com>
2024-06-15 05:34:58 +00:00
Baek
69ebaaebca
featuregate: adds EtcdServer.FeatureEnabled interface.
...
The interface can be used throughout the etcd server binary to check if
the feature is enabled or not.
Note that this commit also copies necessary FeatureGate interface from
k8s component-base.
Signed-off-by: Baek <seungtackbaek@google.com>
2024-06-15 05:34:58 +00:00
Chun-Hung Tseng
9431e3a952
dependency: bump google.golang.org/grpc from 1.63.2 to 1.64.0
...
Reference:
- https://github.com/etcd-io/etcd/pull/18034
Signed-off-by: Chun-Hung Tseng <henrybear327@gmail.com>
2024-05-20 22:45:14 +02:00
Daniel Tripp
0232686cac
etcdserver: add server range duration metrics
...
Signed-off-by: Daniel Tripp <38776199+thedtripp@users.noreply.github.com>
Co-authored-by: Ravi Hari <RaviHari@users.noreply.github.com>
2024-05-18 19:01:09 +00:00
Benjamin Wang
36414cb0b8
Merge pull request #17930 from jamesreprise/bootstraped
...
Fix typo bootstrapedCluster
2024-05-03 18:07:49 +01:00
Benjamin Wang
13c0f75b7d
Merge pull request #17877 from tjungblu/17872_status
...
add quota to endpoint status response
2024-05-03 13:03:23 +01:00
James Williams
ccb4ef76e3
typo: bootstrapedCluster -> bootstrappedCluster
...
Signed-off-by: James Williams <james.williams@griffin.com>
2024-05-03 11:34:55 +01:00
Marcus Efraimsson
030066cdb2
Chore: Use chain interceptors from grpc package
...
Signed-off-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2024-05-01 22:26:50 +02:00
Benjamin Wang
d31caaec4a
Merge pull request #17793 from mneverov/fix-quorum-check
...
Fix remove member failed.
2024-04-30 19:52:14 +01:00
Benjamin Wang
09f7d7ab92
Merge pull request #17875 from ivanvc/fix-deprecation-comments-added-with-var-naming-lint-rule
...
Fix deprecation comments from addressing var-naming work
2024-04-30 19:51:37 +01:00
Jes Cok
dafadd13c1
all: don't convert byte slice to string when using verb %s
...
This is unnecessary, as the documentation for 'go doc fmt' says:
%s the uninterpreted bytes of the string or slice
Signed-off-by: Jes Cok <xigua67damn@gmail.com>
2024-04-25 23:34:52 +08:00
Thomas Jungblut
bdcff246cb
add quota to endpoint status response
...
This adds the configured backend quota bytes to the endpoint status response.
related discussion in #17821
Signed-off-by: Thomas Jungblut <tjungblu@redhat.com>
2024-04-25 16:44:20 +02:00
Ivan Valdes
242f5d60a8
Fix deprecation comments from addressing var-naming work
...
The deprecation tag/comment must to be followed by an empty line.
Signed-off-by: Ivan Valdes <ivan@vald.es>
2024-04-24 14:40:59 -07:00
Siyuan Zhang
379a8b79fb
fix version order when calling IsValidClusterVersionChange in UpdateCapability.
...
Signed-off-by: Siyuan Zhang <sizhang@google.com>
2024-04-23 09:31:19 -07:00
Siyuan Zhang
b6b7a1a3b6
refactor IsValidVersionChange.
...
Signed-off-by: Siyuan Zhang <sizhang@google.com>
2024-04-22 10:27:54 -07:00
Max Neverov
c2982e15f3
Revert checking connected since inclusively.
...
Signed-off-by: Max Neverov <neverov.max@gmail.com>
2024-04-18 11:26:28 +02:00
Max Neverov
c64c996c03
Revert quorum calculation: (active - 1) < 1+((len(m)-1)/2)
calculates quorum after a member is deleted.
...
Signed-off-by: Max Neverov <neverov.max@gmail.com>
2024-04-17 07:55:24 +02:00
Max Neverov
3b16aae947
Fix remove member failed.
...
Signed-off-by: Max Neverov <neverov.max@gmail.com>
2024-04-17 07:55:24 +02:00
Marek Siarkowicz
09769c4be7
Merge pull request #17642 from fuweid/fix-17506
...
*: LeaseTimeToLive returns error if leader changed
2024-04-02 14:55:41 +02:00
Ivan Valdes
d43738a49b
server/storage: address golangci var-naming issues
...
Signed-off-by: Ivan Valdes <ivan@vald.es>
2024-03-27 10:12:42 -07:00
Wei Fu
d3bb6f688b
*: LeaseTimeToLive returns error if leader changed
...
The old leader demotes lessor and all the leases' expire time will be
updated. Instead of returning incorrect remaining TTL, we should return
errors to force client retry.
Signed-off-by: Wei Fu <fuweid89@gmail.com>
2024-03-26 18:55:01 +08:00
Jes Cok
bc31162cc2
all: call Close() after reading http.Response.Body
...
As the doc of http.Response.Body says:
// The http Client and Transport guarantee that Body is always
// non-nil, even on responses without a body or responses with
// a zero-length body. It is the caller's responsibility to
// close Body.
Signed-off-by: Jes Cok <xigua67damn@gmail.com>
2024-03-25 12:17:47 +08:00
Benjamin Wang
97029d768a
Merge pull request #17614 from ivanvc/address-etcdserver-var-naming-lint-rule
...
etcdserver: address var naming lint rule
2024-03-19 22:40:03 +01:00
Ivan Valdes
14523bdc21
etcdserver: rename MemberId() to MemberID() to address var-naming
...
Signed-off-by: Ivan Valdes <ivan@vald.es>
2024-03-18 17:18:29 -07:00
Ivan Valdes
c613b78e6c
etcdserver: address golangci var-naming issues
...
Signed-off-by: Ivan Valdes <ivan@vald.es>
2024-03-18 17:17:07 -07:00
Benjamin Wang
8b9909e20d
Merge pull request #17585 from ivanvc/address-api-var-naming-lint-rule
...
api: address golangci var-naming issues
2024-03-16 11:23:46 +00:00
Ivan Valdes
2190b0f1c6
api: address golangci var-naming issues
...
Signed-off-by: Ivan Valdes <ivan@vald.es>
2024-03-15 20:37:53 -07:00
Chao Chen
405862e807
Fix event loss after compaction
...
Signed-off-by: Chao Chen <chaochn@amazon.com>
2024-03-15 14:22:37 -07:00
Marek Siarkowicz
6103504d4b
Fix progress notification for watch that doesn't get any events
...
When implementing the fix for progress notifications
(https://github.com/etcd-io/etcd/pull/15237 ) we made a incorrect
assumption that that unsynched watches will always get at least one event.
Unsynched watches include not only slow watchers, but also newly created
watches that requested current or older revision. In case that non of the events
match watch filter, those newly created watches might become synched
without any event going through.
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2024-03-11 12:11:09 +01:00
Dat Tien Nguyen
46d59a2e68
etcdserver: skip when detect a removed peer
...
Signed-off-by: Dat Tien Nguyen <phongtomfapp@gmail.com>
2024-03-04 21:22:19 +07:00
Siyuan Zhang
3565a822de
Add VerifyTxConsistency to backend.
...
Signed-off-by: Siyuan Zhang <sizhang@google.com>
Update server/storage/backend/verify.go
Co-authored-by: Benjamin Wang <benjamin.wang@broadcom.com>
Update server/storage/backend/verify.go
Co-authored-by: Benjamin Wang <benjamin.wang@broadcom.com>
2024-02-22 11:31:16 -08:00
Wei Fu
32ee8b877a
etcdserver: drain leaky goroutines before test completed
...
If pending changes aren't committed before test completed, it might cause
data race when we don't drain all the background goroutines.
```bash
$ cd server
$ go test -race -v -run TestApplyRepeat ./etcdserver
...
panic: Log in goroutine after TestApplyRepeat has completed: 2024-02-03T17:06:13.262+0800 DEBUG bbolt Committing transaction 2
goroutine 81 [running]:
testing.(*common).logDepth(0xc000502820, {0xc0001b0460, 0x41}, 0x3)
/usr/local/go/src/testing/testing.go:1022 +0x6d4
testing.(*common).log(...)
/usr/local/go/src/testing/testing.go:1004
testing.(*common).Logf(0xc000502820, {0x1421ad7, 0x2}, {0xc000603520, 0x1, 0x1})
/usr/local/go/src/testing/testing.go:1055 +0xa5
go.uber.org/zap/zaptest.testingWriter.Write({{0x15f1f90?, 0xc000502820?}, 0xda?}, {0xc000119800, 0x42, 0x400})
/home/fuwei/go/pkg/mod/go.uber.org/zap@v1.26.0/zaptest/logger.go:130 +0x11e
go.uber.org/zap/zapcore.(*ioCore).Write(0xc0000b55c0, {0xff, {0xc1679e614f9fd7a4, 0x73a3657, 0x1cc2400}, {0x1422b2d, 0x5}, {0xc0001a0330, 0x18}, {0x0, ...}, ...}, ...)
/home/fuwei/go/pkg/mod/go.uber.org/zap@v1.26.0/zapcore/core.go:99 +0x193
go.uber.org/zap/zapcore.(*CheckedEntry).Write(0xc000115930, {0x0, 0x0, 0x0})
/home/fuwei/go/pkg/mod/go.uber.org/zap@v1.26.0/zapcore/entry.go:253 +0x2f0
go.uber.org/zap.(*SugaredLogger).log(0xc0001960f8, 0xff, {0x1437885, 0x19}, {0xc0006034e0, 0x1, 0x1}, {0x0, 0x0, 0x0})
/home/fuwei/go/pkg/mod/go.uber.org/zap@v1.26.0/sugar.go:316 +0x130
go.uber.org/zap.(*SugaredLogger).Debugf(...)
/home/fuwei/go/pkg/mod/go.uber.org/zap@v1.26.0/sugar.go:171
go.etcd.io/bbolt.(*Tx).Commit(0xc0001aa9a0)
/home/fuwei/go/pkg/mod/go.etcd.io/bbolt@v1.4.0-alpha.0/tx.go:173 +0x206
go.etcd.io/etcd/server/v3/storage/backend.(*batchTx).commit(0xc00019b180, 0x0)
/home/fuwei/go/src/go.etcd.io/etcd/server/storage/backend/batch_tx.go:269 +0xdf
go.etcd.io/etcd/server/v3/storage/backend.(*batchTxBuffered).unsafeCommit(0xc00019b180, 0x0)
/home/fuwei/go/src/go.etcd.io/etcd/server/storage/backend/batch_tx.go:378 +0x425
go.etcd.io/etcd/server/v3/storage/backend.(*batchTxBuffered).commit(0xc00019b180, 0x80?)
/home/fuwei/go/src/go.etcd.io/etcd/server/storage/backend/batch_tx.go:355 +0x78
go.etcd.io/etcd/server/v3/storage/backend.(*batchTxBuffered).Commit(0xc00019b180)
/home/fuwei/go/src/go.etcd.io/etcd/server/storage/backend/batch_tx.go:342 +0x35
go.etcd.io/etcd/server/v3/storage/backend.(*backend).run(0xc000478180)
/home/fuwei/go/src/go.etcd.io/etcd/server/storage/backend/backend.go:426 +0x2c7
created by go.etcd.io/etcd/server/v3/storage/backend.newBackend in goroutine 80
/home/fuwei/go/src/go.etcd.io/etcd/server/storage/backend/backend.go:227 +0xbfd
FAIL go.etcd.io/etcd/server/v3/etcdserver 0.129s
FAIL
```
This patch also drains goroutines related to raftNode and watch store.
Signed-off-by: Wei Fu <fuweid89@gmail.com>
2024-02-03 18:58:17 +08:00
Ishan Tyagi
16a5e1da71
Added a error log when learner is not sync with etcd leader.
...
Signed-off-by: ishan16696 <ishan.tyagi@sap.com>
2024-01-30 15:42:11 +05:30
Marek Siarkowicz
40f22e9319
Merge pull request #17176 from YaoC/fix-learner-metric
...
server: fix learner metric incorrect issue
2024-01-12 17:37:46 +01:00
YaoC
f7ab7adf29
server: fix learner metric incorrect issue
...
Signed-off-by: YaoC <chengyao09@hotmail.com>
2024-01-12 09:36:33 +00:00
Sharath Sivakumar
28f4c6fef6
dependency: bump github.com/grpc-ecosystem/grpc-gateway/v2 from 2.18.1 to 2.19.0
...
Signed-off-by: Sharath Sivakumar <mailssr9@gmail.com>
2024-01-09 16:26:47 +01:00
Marek Siarkowicz
a2eb17c809
Merge pull request #17199 from serathius/dont-flock
...
Don't flock snapshot files
2024-01-08 15:03:29 +01:00
Marek Siarkowicz
3471ef133d
Add an e2e test and robustness failpoint around recovering from snapshot backend
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2024-01-04 15:25:24 +01:00
Marek Siarkowicz
7f8346b3f2
Don't flock snapshot files
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2024-01-04 14:53:44 +01:00