Benjamin Wang
05d32d4d1b
Merge pull request #21122 from zhijun42/fix-lease-keep-alive-unavailable
...
lease: Fix incorrect gRPC Unavailable on client cancel during LeaseKeepAlive forwarding
2026-02-03 09:50:05 +00:00
Zhijun
b54c88406f
Helps solve the leaseKeepAlive grpc Unavailable issue while maintaining existing behavior
...
Signed-off-by: Zhijun <dszhijun@gmail.com >
2026-02-03 09:14:04 +08:00
Benjamin Wang
b666323e11
Bump go version to 1.25.6
...
Signed-off-by: Benjamin Wang <benjamin.ahrtr@gmail.com >
2026-01-30 10:07:17 +00:00
Chun-Hung Tseng
5d4ef72c13
dependency: bump github.com/grpc-ecosystem/grpc-gateway/v2 from 2.27.4 to 2.27.5 and bump github.com/grpc-ecosystem/grpc-gateway/v2 from 2.27.4 to 2.27.5
...
Reference:
- #21194
- #21192
Signed-off-by: Chun-Hung Tseng <henrytseng@google.com >
2026-01-27 14:17:27 +00:00
Sharath P J
0988325ed5
server: refactor btree usage to generics-based k8s.io/utils
...
Signed-off-by: Sharath P J <pjsharath28@gmail.com >
2026-01-21 23:01:24 +05:30
Benjamin Wang
8787fe8e03
Keep the --snapshot-count flag
...
We won't generate v2 snapshot files in 3.8 anymore, but etcd is
still generating snapshot periodically and will keep this behaviour.
During etcd generating snapshot, it does the following two things:
1. generate a snapshot entry in WAL file
2. purge old raft entries
So we need to keep the flag --snapshot-count so that users can
configure how frequently the snapshot is generated.
Signed-off-by: Benjamin Wang <benjamin.ahrtr@gmail.com >
2026-01-19 12:14:36 +00:00
Benjamin Wang
315f3da189
Remove flag --max-snapshots in 3.8 rather than 3.7
...
We still need to generate the v2 snapshot files in 3.7
to keep backward compatible with 3.6. We plan to remove
this flag in v3.8.
Signed-off-by: Benjamin Wang <benjamin.ahrtr@gmail.com >
2026-01-19 11:23:17 +00:00
Benjamin Wang
e26dd624ae
Merge pull request #21144 from fuweid/fix-TestV2DeprecationCase
...
*: fix TestV2DeprecationSnapshotMatches case
2026-01-17 12:21:12 +00:00
Benjamin Wang
25a5bb2875
Initialize confState from v3 store on bootstrap
...
Signed-off-by: Benjamin Wang <benjamin.ahrtr@gmail.com >
2026-01-16 19:01:40 +00:00
Wei Fu
a5e37a077d
*: fix TestV2DeprecationSnapshotMatches case
...
Signed-off-by: Wei Fu <fuweid89@gmail.com >
2026-01-16 10:30:56 -05:00
Chun-Hung Tseng
125173b33c
dependency: bump golang.org/x/tools from 0.40.0 to 0.41.0, golang.org/x/text from 0.32.0 to 0.33.0, golang.org/x/net from v0.48.0 to v0.49.0, golang.org/x/crypto from v0.46.0 to v0.49.0, golang.org/x/mod from v0.31.0 to v0.32.0
...
Reference:
- https://github.com/etcd-io/etcd/pull/21118
- https://github.com/etcd-io/etcd/pull/21117
- https://github.com/etcd-io/etcd/pull/21113
- https://github.com/etcd-io/etcd/pull/21110
Signed-off-by: Chun-Hung Tseng <henrytseng@google.com >
2026-01-16 01:20:13 +09:00
Chun-Hung Tseng
f2bab39a4a
dependency: bump golang.org/x/sys from 0.39.0 to 0.40.0
...
Reference:
- https://github.com/etcd-io/etcd/pull/21115
Signed-off-by: Chun-Hung Tseng <henrytseng@google.com >
2026-01-16 01:20:13 +09:00
Benjamin Wang
e74bb6a0ea
do not load v2 snapshot on bootstrap
...
In this commit, we don't load v2 snapshot files (*.snap) anymore,
instead we just pick the latest snapshot entry from WAL. We don't
need the raftpb.Snapshot.Data anymore, so it's correct to just
read the latest snapshot entry from WAL.
The end goal is to completely get rid of v2 snapshot, which means
we don't read v2 snapshot, nor write it. But in order to be compatible
with 3.6, we still need to write v2 snapshot. This PR just stops
reading v2 snapshot, so that it's safe to completely remove it in 3.8.
Signed-off-by: Benjamin Wang <benjamin.ahrtr@gmail.com >
2026-01-13 10:38:04 +00:00
Zhijun
86bd05c37b
Add an integration test to reproduce incorrect gRPC Unavailable on client cancel during LeaseKeepAlive forwarding
...
Signed-off-by: Zhijun <dszhijun@gmail.com >
Address feedback
Signed-off-by: Zhijun <dszhijun@gmail.com >
Rename sleep function and pass duration
Signed-off-by: Zhijun <dszhijun@gmail.com >
Use require.Positive instead
Signed-off-by: Zhijun <dszhijun@gmail.com >
Assert client's canceled error code
Signed-off-by: Zhijun <dszhijun@gmail.com >
2026-01-13 09:34:22 +08:00
Antonio Ojea
87de8541ae
enable linter for deprecated functions
...
enable the linter and just tag each exception with a TODO so we
have identified the existing ones but we can gate to avoid adding
new deprecated functions.
Signed-off-by: Antonio Ojea <aojea@google.com >
2026-01-09 16:35:01 +00:00
Marek Siarkowicz
fdedec1edb
Remove v2 store
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com >
2026-01-08 12:35:10 +01:00
Marek Siarkowicz
f79c917a40
Handle non-existent member in v3 backend and implement matching membership tests for v3 backend
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com >
2026-01-07 20:18:42 +01:00
Chun-Hung Tseng
0d48346677
dependency: bump go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc from 0.63.0 to 0.64.0
...
Reference:
- https://github.com/etcd-io/etcd/pull/21087
Signed-off-by: Chun-Hung Tseng <henrytseng@google.com >
2026-01-06 16:04:35 +09:00
Chun-Hung Tseng
f4839eeac2
dependency: bump github.com/prometheus/common from 0.67.4 to 0.67.5
...
Reference:
- https://github.com/etcd-io/etcd/pull/21088
Signed-off-by: Chun-Hung Tseng <henrytseng@google.com >
2026-01-06 16:04:35 +09:00
Chun-Hung Tseng
a030f7ec51
dependency: bump github.com/grpc-ecosystem/grpc-gateway/v2 from 2.27.3 to 2.27.4
...
Also bumped automatically:
- google.golang.org/genproto/googleapis/rpc from v0.0.0-20251202230838-ff82c1b0f217 to v0.0.0-20251222181119-0a764e51fe1b
- google.golang.org/genproto/googleapis/api from v0.0.0-20251202230838-ff82c1b0f217 to v0.0.0-20251222181119-0a764e51fe1b
- google.golang.org/grpc from v1.77.0 to v1.78.0
Reference:
- https://github.com/etcd-io/etcd/pull/21059
- https://github.com/etcd-io/etcd/pull/21055
Signed-off-by: Chun-Hung Tseng <henrytseng@google.com >
2026-01-03 12:42:31 +09:00
Chun-Hung Tseng
36fe7f9cc4
dependency: bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc from 1.38.0 to 1.39.0
...
Also bumped automatically:
- google.golang.org/genproto/googleapis/api from v0.0.0-20251022142026-3a174f9686a8 to v0.0.0-20251202230838-ff82c1b0f217
- google.golang.org/genproto/googleapis/rpc from v0.0.0-20251022142026-3a174f9686a8 to v0.0.0-20251202230838-ff82c1b0f217
- go.opentelemetry.io/otel/exporters/otlp/otlptrace from 1.38.0 to 1.39.0
Reference:
- https://github.com/etcd-io/etcd/pull/21060
- https://github.com/etcd-io/etcd/pull/21057
Signed-off-by: Chun-Hung Tseng <henrytseng@google.com >
2026-01-03 12:42:31 +09:00
Chun-Hung Tseng
be7a2e4a68
dependency: bump google.golang.org/protobuf from 1.36.10 to 1.36.11
...
Reference:
- https://github.com/etcd-io/etcd/pull/21056
Signed-off-by: Chun-Hung Tseng <henrytseng@google.com >
2026-01-03 12:42:31 +09:00
Benjamin Wang
aef0361938
Merge pull request #21038 from ahrtr/20251219_metrics
...
Add a new metrics etcd_server_request_duration_seconds to track e2e duration for each request
2025-12-30 12:05:05 +00:00
A.D
3553655ff5
cleanup: remove redundant panicAlternativeStringer
...
Signed-off-by: A.D <1695316070@qq.com >
2025-12-23 20:27:56 +08:00
Ivan Valdes
c6ead5fcc3
build(deps): bump golang.org/x/tools from 0.39.0 to 0.40.0 in /tools/mod
...
Bumps [golang.org/x/tools](https://github.com/golang/tools ) from 0.39.0 to 0.40.0.
- [Release notes](https://github.com/golang/tools/releases )
- [Commits](golang/tools@v0.39 .0...v0.40.0)
---
updated-dependencies:
- dependency-name: golang.org/x/tools
dependency-version: 0.40.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Reference: https://github.com/etcd-io/etcd/pull/21018
Signed-off-by: Ivan Valdes <ivan@vald.es >
2025-12-22 22:45:00 -08:00
Ivan Valdes
8505dec782
build(deps): bump go.opentelemetry.io/otel/sdk from 1.38.0 to 1.39.0
...
Bumps [go.opentelemetry.io/otel/sdk](https://github.com/open-telemetry/opentelemetry-go ) from 1.38.0 to 1.39.0.
- [Release notes](https://github.com/open-telemetry/opentelemetry-go/releases )
- [Changelog](https://github.com/open-telemetry/opentelemetry-go/blob/main/CHANGELOG.md )
- [Commits](open-telemetry/opentelemetry-go@v1.38 .0...v1.39.0)
---
updated-dependencies:
- dependency-name: go.opentelemetry.io/otel/sdk
dependency-version: 1.39.0
dependency-type: indirect
update-type: version-update:semver-minor
...
Reference: https://github.com/etcd-io/etcd/pull/21002
Signed-off-by: Ivan Valdes <ivan@vald.es >
2025-12-22 22:44:56 -08:00
Ivan Valdes
4f99d2c03a
build(deps): bump github.com/golangci/golangci-lint/v2 in /tools/mod
...
Bumps [github.com/golangci/golangci-lint/v2](https://github.com/golangci/golangci-lint ) from 2.6.2 to 2.7.2.
- [Release notes](https://github.com/golangci/golangci-lint/releases )
- [Changelog](https://github.com/golangci/golangci-lint/blob/main/CHANGELOG.md )
- [Commits](golangci/golangci-lint@v2.6.2...v2.7.2)
---
updated-dependencies:
- dependency-name: github.com/golangci/golangci-lint/v2
dependency-version: 2.7.2
dependency-type: direct:production
update-type: version-update:semver-minor
...
Reference: https://github.com/etcd-io/etcd/pull/21001
Signed-off-by: Ivan Valdes <ivan@vald.es >
2025-12-22 22:44:48 -08:00
Ivan Valdes
ff30e0dcdd
Fix revive var-naming warning in errors package
...
Updating github.com/golangci/golangci-lint/v2 to 2.7.2 raises the
following error:
% 'golangci-lint' 'run' '--config'
'/var/home/ivan/Code/Personal/etcd/etcd/tools/.golangci.yaml' '--fix'
'./...' './api/...' './cache/...' './client/pkg/...' './client/v3/...'
'./ etcdctl/...' './etcdutl/...' './pkg/...' './server/...'
'./tests/...' './tools/mod/...' './tools/rw-heatmaps/...'
'./tools/testgrid-analysis/...'
../server/etcdserver/errors/errors.go:15:9: var-naming: avoid package
names that conflict with Go standard library package names (revive)
package errors ^ 1 issues:
* revive: 1
Signed-off-by: Ivan Valdes <ivan@vald.es >
2025-12-22 22:44:48 -08:00
Benjamin Wang
9cdb1cf8fb
Add a new metrics etcd_server_request_duration_seconds to track e2e duration for each request
...
Signed-off-by: Benjamin Wang <benjamin.ahrtr@gmail.com >
2025-12-20 09:16:28 +00:00
Thomas Jungblut
71a9ffe87e
Instrument watchstream send loop
...
This PR adds a few more timing metrics to the watch send loop.
We're currently trying to track down some sort of contention affecting
all gRPC endpoints, we see a hard QPS ceiling when the apiserver restarts with
watch cache inits.
There's currently no metric to help us pinpoint where the time is going
to create such a ceiling, thus adding some more metrics here.
Somewhat related to #15402 .
Signed-off-by: Thomas Jungblut <tjungblu@redhat.com >
2025-12-19 15:16:11 +01:00
boqishan
505f69dd11
build(deps): update go version to 1.25.5
...
Signed-off-by: boqishan <boqishan@126.com >
2025-12-04 00:32:54 +08:00
ArkaSaha30
7afc900659
dependency: bump google.golang.org/grpc from 1.76.0 to 1.77.0
...
This commit will bump google.golang.org/grpc from 1.76.0 to 1.77.0
Signed-off-by: ArkaSaha30 <arkasaha30@gmail.com >
2025-11-28 23:01:30 +05:30
ArkaSaha30
7d6eb9616a
dependency: bump github.com/prometheus/common from 0.67.2 to 0.67.4
...
This commit will bump github.com/prometheus/common from 0.67.2 to 0.67.4
Signed-off-by: ArkaSaha30 <arkasaha30@gmail.com >
2025-11-28 22:43:39 +05:30
ArkaSaha30
5110a8c633
dependency: bump go.uber.org/zap from 1.27.0 to 1.27.1
...
This commit will bump go.uber.org/zap from 1.27.0 to 1.27.1
Signed-off-by: ArkaSaha30 <arkasaha30@gmail.com >
2025-11-27 15:41:41 +05:30
Ivan Valdes
52a82c7fe9
build(deps): bump golang.org/x/crypto from 0.44.0 to 0.45.0
...
Bumps [golang.org/x/crypto](https://github.com/golang/crypto ) from 0.44.0 to 0.45.0.
- [Commits](golang/crypto@v0.44 .0...v0.45.0)
Signed-off-by: Ivan Valdes <ivan@vald.es >
---
updated-dependencies:
- dependency-name: golang.org/x/crypto
dependency-version: 0.45.0
dependency-type: direct:production
...
Addresses CVE-2025-58181 and CVE-2025-47914.
Reference: https://github.com/etcd-io/etcd/pull/20956 .
Signed-off-by: Ivan Valdes <ivan@vald.es >
2025-11-19 15:19:44 -08:00
Ivan Valdes
a79b176fcd
build(deps): bump github.com/grpc-ecosystem/go-grpc-middleware/v2
...
Bumps [github.com/grpc-ecosystem/go-grpc-middleware/v2](https://github.com/grpc-ecosystem/go-grpc-middleware ) from 2.1.0 to 2.3.3.
- [Release notes](https://github.com/grpc-ecosystem/go-grpc-middleware/releases )
- [Commits](grpc-ecosystem/go-grpc-middleware@v2.1.0...v2.3.3)
Signed-off-by: Ivan Valdes <ivan@vald.es >
---
updated-dependencies:
- dependency-name: github.com/grpc-ecosystem/go-grpc-middleware/v2
dependency-version: 2.3.3
dependency-type: indirect
update-type: version-update:semver-minor
...
Reference: https://github.com/etcd-io/etcd/pull/20911
Signed-off-by: Ivan Valdes <ivan@vald.es >
2025-11-19 15:11:54 -08:00
ArkaSaha30
dcfb9fed86
dependency: bump golang.org/x/net from 0.46.0 to 0.47.0
...
This PR will bump golang.org/x/net from 0.46.0 to 0.47.0
Additioanlly also updates the following dependent modules:
- golang.org/x/sys v0.38.0
- golang.org/x/text v0.31.0
- golang.org/x/crypto v0.44.0
- golang.org/x/sync v0.18.0
Signed-off-by: ArkaSaha30 <arkasaha30@gmail.com >
2025-11-19 20:40:33 +05:30
Benjamin Wang
7cc7eaaf6f
Print token fingerpriont instead of the original tokens
...
Signed-off-by: Benjamin Wang <benjamin.ahrtr@gmail.com >
2025-11-17 11:12:12 +00:00
Ivan Valdes
f20a950d14
build(deps): bump github.com/prometheus/common from 0.67.1 to 0.67.2
...
Reference: https://github.com/etcd-io/etcd/pull/20883
Signed-off-by: Ivan Valdes <ivan@vald.es >
2025-11-08 20:50:57 -08:00
Ivan Valdes
430cd02b96
build(deps): bump go.opentelemetry.io/proto/otlp from 1.8.0 to 1.9.0
...
Reference: https://github.com/etcd-io/etcd/pull/20882
Signed-off-by: Ivan Valdes <ivan@vald.es >
2025-11-08 20:50:57 -08:00
Ivan Valdes
483c98fd86
build(deps): bump google.golang.org/grpc from 1.75.1 to 1.76.0
...
Reference: https://github.com/etcd-io/etcd/pull/20866
Signed-off-by: Ivan Valdes <ivan@vald.es >
2025-11-08 20:50:57 -08:00
mingl1
230db05c24
v3rpc: add and use getServerMetrics() with global metricsServerCached
...
Signed-off-by: mingl1 <minglin.me@gmail.com >
2025-11-07 09:31:21 -05:00
ronaldngounou
013692c0f1
Bump Go from 1.25.3 to 1.25.4
...
Signed-off-by: ronaldngounou <ronald.ngounou@yahoo.com >
2025-11-06 21:01:19 -08:00
Benjamin Wang
c9d06e91e3
Fix the '--force-new-cluster' can't clean up learners issue
...
Signed-off-by: Benjamin Wang <benjamin.ahrtr@gmail.com >
2025-11-06 12:31:57 +00:00
Fu Wei
8a4955b2ef
Merge pull request #20589 from aaronjzhang/improve-lease-renew
...
etcdserver: improve linearizable renew lease
2025-10-30 22:22:11 -04:00
Fu Wei
37531e62f6
Merge pull request #20792 from xUser5000/fix/cannot-promote-member-from-follower-when-auth-is-enabled
...
etcdserver: Fix: cannot promote member from follower when auth is enabled
2025-10-30 21:20:08 -04:00
Aaron Zhang
ec3bc3c74e
etcdserver: improve linearizable renew lease
...
- Add FastLeaseKeepAlive feature gate that allows skipping the wait for the applied index when renewing an existing lease.
- Update 3.7 changelog, add support for faster lease renewal.
- Update e2e tests for lease keep-alive to run each case with FastLeaseKeepAlive enabled and disabled.
Signed-off-by: Aaron Zhang <aaron.zhang@mavenir.com >
2025-10-30 01:35:50 -05:00
xUser5000
179f3e8391
etcdserver: follow convention to extract auth token in cluster_util.go
...
Signed-off-by: xUser5000 <abdallahar1974@gmail.com >
2025-10-29 00:29:16 +03:00
EduardoVega
04013ea8ca
etcdutl: enable global timeout flag for all cmds that open etcd's db file using bolt
...
Signed-off-by: EduardoVega <edvegavalerio@gmail.com >
2025-10-27 21:04:07 -06:00
Benjamin Wang
7236a23769
Merge pull request #20802 from sneaky-potato/client-auth-status
...
etcdserver: remove permission check on AuthStatus api
2025-10-23 11:29:07 +01:00