Commit Graph

22676 Commits

Author SHA1 Message Date
845a330e46 Implement Kubernetes like compaction
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2025-01-21 12:03:04 +01:00
86a31702c4 Ensure all goroutines created by StartEtcd to complete before closing the errc
Signed-off-by: Benjamin Wang <benjamin.ahrtr@gmail.com>
2025-01-21 10:52:35 +00:00
3527b3b224 Enhance method (*serveCtx) serve to wait for all goroutines to complete before it returns
Signed-off-by: Benjamin Wang <benjamin.ahrtr@gmail.com>
2025-01-21 10:52:35 +00:00
0dcd015147 Merge pull request #19239 from etcd-io/dependabot/github_actions/github/codeql-action-3.28.1
build(deps): bump github/codeql-action from 3.28.0 to 3.28.1
2025-01-21 08:07:33 +00:00
9f9d2c1d6c Merge pull request #19240 from etcd-io/dependabot/github_actions/actions/upload-artifact-4.6.0
build(deps): bump actions/upload-artifact from 4.5.0 to 4.6.0
2025-01-21 07:52:34 +00:00
5ccbeec769 Merge pull request #19218 from serathius/fix-selecting-experimental-flag
Fix passing compaction-batch-limit to etcd v3.4 and v3.5
2025-01-20 18:45:38 +01:00
06f77b96fb build(deps): bump actions/upload-artifact from 4.5.0 to 4.6.0
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.5.0 to 4.6.0.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](6f51ac03b9...65c4c4a1dd)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-20 17:29:34 +00:00
8127b0da9e build(deps): bump github/codeql-action from 3.28.0 to 3.28.1
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.28.0 to 3.28.1.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](48ab28a6f5...b6a472f63d)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-20 17:29:30 +00:00
8c989a1e37 Fix passing compaction-batch-limit to etcd v3.4 and v3.5
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2025-01-20 17:14:21 +01:00
52061becca build(deps): bump github.com/golang-jwt/jwt from v4 to v5
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>

Co-authored-by: Benjamin Wang <benjamin.wang@broadcom.com>
2025-01-20 11:42:40 +00:00
83cf7bb4fc Merge pull request #19188 from fuweid/fix-19179
mvcc: restore tombstone index if it's first revision
2025-01-20 09:18:24 +00:00
bae527c3cd Merge pull request #19230 from ahrtr/test_20250118
wait for the member to get started
2025-01-20 09:26:43 +01:00
d8b4192574 mvcc: restore tombstone index if it's first revision
The tombstone could be the only one available revision in database.
It happens when all historical revisions have been deleted in previous
compactions. Since tombstone revision is still in database, we should
restore it as valid key index. Otherwise, we lost that event.

Signed-off-by: Wei Fu <fuweid89@gmail.com>
2025-01-19 18:12:25 -05:00
88b39386b4 Merge pull request #19152 from mmorel-35/revive/superfluous-else
chore: enable early-return and superfluous-else from revive
2025-01-19 08:49:14 +00:00
bc4669c90d wait for the member to get started
Signed-off-by: Benjamin Wang <benjamin.ahrtr@gmail.com>
2025-01-18 18:50:47 +00:00
7da675a327 docs: correct compaction period comments for 24-hour window
Update compaction period logic in periodic compactor to consistently
use 24-hour intervals instead of 1-hour. This fixes incorrect time
calculations where:
- Compaction period now correctly uses 24-hour instead of 1-hour
- Revision recording interval updated to 144-minute (1/10 of 24-hour)
  instead of 6-minute
- Retry interval on compaction failure adjusted to 144-minute to
  match the new period

This ensures consistent time-based compaction behavior for 24-hour
windows as originally intended.

Fixes #[issue-19017]

Signed-off-by: wodeyoulai <106662970@qq.com>
2025-01-18 17:39:30 +08:00
2f37f4841e Merge pull request #19201 from arturmelanchyk/optimise-mem-alloc
flags: optimise memory allocation
2025-01-18 08:52:06 +00:00
10d7cea552 chore: enable early-return and superfluous-else from revive
Signed-off-by: Matthieu MOREL <matthieu.morel35@gmail.com>

Co-authored-by: Iván Valdés Castillo <iv@nvald.es>
2025-01-18 09:44:58 +01:00
831fa7a38e Merge pull request #19198 from callthingsoff/reuse_addr_in_TCPProxy_Run
server/proxy/tcpproxy: reuse addr in TCPProxy.Run
2025-01-18 08:44:26 +00:00
6187c95689 Merge pull request #19214 from ajaysundark/bump-etcd-golang-toolchain-1.23.5
Update golang toolchain to 1.23.5
2025-01-18 08:40:25 +00:00
74ffe2e783 etcd: update golang toolchain to 1.23.5
Signed-off-by: ajaysundar.k <ajaysundar.k@gmail.com>
2025-01-18 00:08:48 +00:00
ecd7cfc072 Merge pull request #19226 from siyuanfoundation/downgrade-robust-2
robustness: do not panic when parsing unknown versions.
2025-01-17 19:27:48 +00:00
2fb77c0ff1 Merge pull request #19224 from ivanvc/changelog-go-1.22.11
changelog: update Go entry to reflect 1.22.11 update
2025-01-17 19:23:51 +00:00
b4e9d81fdd Merge pull request #19209 from henrybear327/dependencies/25_01_16
[2025-01-16] Bump dependency updates identified by dependabot
2025-01-17 18:22:43 +00:00
672ba742ff robustness: do not panic when parsing unknown versions.
Signed-off-by: Siyuan Zhang <sizhang@google.com>
2025-01-17 09:47:01 -08:00
1898aeceb8 changelog: update Go entry to reflect 1.22.11 update
Signed-off-by: Ivan Valdes <ivan@vald.es>
2025-01-17 09:35:28 -08:00
5d47d7fc2e Merge pull request #19093 from serathius/snapshot-leak
Prevent leaking file descriptor during snapshotting and provide better logging of errors
2025-01-17 14:50:34 +01:00
c504fed58c Prevent leaking file descriptor during snapshotting and provide better logging of errors
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2025-01-17 10:41:26 +01:00
9da01a8275 Merge pull request #19196 from gangli113/main
migrate flag experimental-compaction-batch-limit to use compaction-batch-limit
2025-01-17 07:43:22 +00:00
b33855055a dependency: bump go.opentelemetry.io/proto/otlp from 1.4.0 to 1.5.0, google.golang.org/genproto/googleapis/api from v0.0.0-20241219192143-6b3ec007d9bb to v0.0.0-20250102185135-69823020774d, and google.golang.org/genproto/googleapis/rpc from v0.0.0-20241219192143-6b3ec007d9bb to v0.0.0-20250102185135-69823020774d
Reference:
- https://github.com/etcd-io/etcd/pull/19182

Signed-off-by: Chun-Hung Tseng <henrybear327@gmail.com>
2025-01-16 22:27:52 +01:00
ca1b6560ff dependency: bump google.golang.org/protobuf from 1.36.1 to 1.36.2
Reference:
- https://github.com/etcd-io/etcd/pull/19184

Signed-off-by: Chun-Hung Tseng <henrybear327@gmail.com>
2025-01-16 22:27:52 +01:00
9b30e122e5 dependency: bump google.golang.org/grpc from 1.69.2 to 1.69.4
Reference:
- https://github.com/etcd-io/etcd/pull/19185

Signed-off-by: Chun-Hung Tseng <henrybear327@gmail.com>
2025-01-16 22:27:52 +01:00
0686a239fd dependency: bump github.com/google/yamlfmt from 0.14.0 to 0.15.0
Reference:
- https://github.com/etcd-io/etcd/pull/19186

Signed-off-by: Chun-Hung Tseng <henrybear327@gmail.com>
2025-01-16 22:27:52 +01:00
ab819b5a4b Merge pull request #19207 from ahrtr/migrate_command_20250116
Minor refactor on the etcdutl migrate command
2025-01-16 15:17:11 +00:00
76aadeff38 Merge pull request #19169 from jmao-dd/jmao/robusttest-18089
Add Robustness test to reproduce issue 18089
2025-01-16 16:08:07 +01:00
39ccd99efb Minor refactor on the etcdutl migrate command
Signed-off-by: Benjamin Wang <benjamin.ahrtr@gmail.com>
2025-01-16 13:24:38 +00:00
7590a7ebae tests: Reproduce #18089 in robustness tests
1) Use SleepBeforeSendWatchResponse failpoint to simulate slow watch
2) Decrease compact period from 200ms to 100ms to increase the probability of compacting on Delete
3) Introduce a new traffic pattern of 50/50 Put and Delete

With these three changes the `make test-robustness-issue18089` command can reproduce issue 18089.

Signed-off-by: Jiayin Mao <jiayin.mao@datadoghq.com>
2025-01-16 12:49:05 +00:00
1ef973c27e fix lint error
Signed-off-by: Gang Li <gangligit@gmail.com>
2025-01-15 15:10:12 -08:00
92673d196c Merge pull request #19200 from ahrtr/cluster_20250115
Minor refactor on RaftCluster.Recover()
2025-01-15 21:35:40 +00:00
2dbb689433 Merge pull request #19120 from mmorel-35/golangci-lint/revive/use-any
chore: enable use-any rule from revive
2025-01-16 08:25:00 +13:00
1346f36388 Merge pull request #19199 from ahrtr/etcdutl_test_20250115
Rename migrate_command_test.go to common_test.go
2025-01-15 19:02:32 +00:00
dcbd309945 flags: optimise memory allocation
Signed-off-by: Artur Melanchyk <arturmelanchyk@imail.name>
2025-01-15 19:39:00 +01:00
8d0f165fd5 Minor refactor on RaftCluster.Recover()
Signed-off-by: Benjamin Wang <benjamin.ahrtr@gmail.com>
2025-01-15 16:26:47 +00:00
a908d35544 Rename migrate_command_test.go to common_test.go
Signed-off-by: Benjamin Wang <benjamin.ahrtr@gmail.com>
2025-01-15 16:21:29 +00:00
88a1bc3170 server/proxy/tcpproxy: reuse addr in TCPProxy.Run
"addr" is the result of net.JoinHostPort which supports IPv6 address.

Rather than ranging "tp.Endpoints" again, it's better to reuse
"addr" in the first loop to collect "eps".

See #7942 and #7943 for context.

Signed-off-by: Jes Cok <xigua67damn@gmail.com>
2025-01-15 22:08:23 +08:00
ce4b4e533d Merge pull request #19125 from siyuanfoundation/downgrade-robust-2
add MemberDowngradeUpgrade failpoint
2025-01-15 10:30:00 +01:00
99aab24cd5 Merge pull request #19194 from fuweid/update-robustness-traffic
tests/robustness/traffic: should use rev=0 for create
2025-01-15 10:16:38 +01:00
8f51613574 add MemberDowngradeUpgrade failpoint
Signed-off-by: Siyuan Zhang <sizhang@google.com>
2025-01-15 01:06:39 +00:00
33d65fc90b TestConfigFileDeprecatedOptions
Signed-off-by: Gang Li <gangligit@gmail.com>
2025-01-14 16:26:50 -08:00
d9d60be322 tests/robustness/traffic: should use rev=0 for create
Signed-off-by: Wei Fu <fuweid89@gmail.com>
2025-01-14 14:08:30 -05:00