21171 Commits

Author SHA1 Message Date
Wei Fu
ac95dd7391 *: fix GracefulStop issue when using cmux for TLS
The gRPC server supports to use GracefulStop to drain all the inflight RPCs,
including streaming RPCs.

When we use non-cmux mode to start gRPC server (non-TLS or
TLS+gRPC-only), we always invoke GracefulStop to drain requests.

For cmux mode (gRPC.ServeHTTP), since the connection is maintained by http
server, gRPC server is unable to send GOAWAY control frame to client.
So, it's always force close all the connections and doesn't drain
requests by default.

In gRPC v1.61.0 version, it introduces new experimental feature
`WaitForHandlers` to block gRPC.Stop() until all the RPCs finish. This patch
is to use `WaitForHandlers` for cmux mode's graceful shutdown.

This patch also introduces `v3rpcBeforeSnapshot` failpoint. That's used
to verify cmux mode's graceful shutdown behaviour.

For TestAuthGracefulDisable (tests/common) case, increased timeout from
10s to 15s because we try to graceful shutdown after connection closed
and it takes more time than before.

Signed-off-by: Wei Fu <fuweid89@gmail.com>
2024-04-15 15:42:02 +08:00
Marek Siarkowicz
a7f5d4b4e4
Merge pull request #16761 from serathius/robustness-wal
Robustness wal
2024-04-14 12:52:35 +02:00
Marek Siarkowicz
569693be8d Utilize WAL to patch operation history
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2024-04-14 12:09:38 +02:00
Marek Siarkowicz
452445e2d8
Merge pull request #17781 from serathius/robustness-read-limit
Remove limit from read requests after a failed write
2024-04-14 12:05:23 +02:00
Marek Siarkowicz
0d9d7451b5
Merge pull request #17788 from ahrtr/db_tool_20240413
Enhance the etcd-dump-db: reuse revision in package mvcc
2024-04-14 10:15:49 +02:00
Benjamin Wang
7ded2ac8de
Merge pull request #17785 from siyuanfoundation/flaky
testgrid: print out all failed tests for visibility.
2024-04-13 14:24:04 +01:00
Benjamin Wang
2e900c3047 Enhance the etcd-dump-db: reuse revision in package mvcc
Signed-off-by: Benjamin Wang <benjamin.ahrtr@gmail.com>
2024-04-13 13:56:56 +01:00
Benjamin Wang
9420f27ea9
Merge pull request #17762 from Fube/better-prevote-doc
etcdserver: updated pre-vote flag description
2024-04-13 08:31:58 +01:00
Marek Siarkowicz
2e6eebef85
Merge pull request #17759 from serathius/robustness-assumptions
Add explicit checks for assumptions in robustness test validation
2024-04-13 00:19:25 +02:00
Marek Siarkowicz
313b562f01
Merge pull request #17783 from serathius/robustness-cas-description
Improve description for Kubernetes CAS operations
2024-04-12 23:31:21 +02:00
Fube
cf66d0f64f etcdserver: updated pre-vote flag description
To better communicate what the pre-vote phase in Raft is.

Signed-off-by: Fube <fubeitch@gmail.com>
2024-04-12 17:14:19 -04:00
Siyuan Zhang
b03368485c testgrid: print out all failed tests for visibility.
Signed-off-by: Siyuan Zhang <sizhang@google.com>
2024-04-12 12:39:38 -07:00
Marek Siarkowicz
d0bf8ddca4 Improve description for Kubernetes CAS operations
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2024-04-12 16:18:31 +02:00
Marek Siarkowicz
cadfc407e9 Remove limit from read requests after a failed write
Limit can cause multiple request due to pagination.
For reads after a failed write we would like to return to normal write
request as soon as possible.

Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2024-04-12 15:01:17 +02:00
Marek Siarkowicz
f8de338ab2 Add explicit checks for assumptions in robustness test validation
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2024-04-12 14:18:22 +02:00
Marek Siarkowicz
bfbfee0afa
Merge pull request #17768 from serathius/robustness-success-rate
[Robustness] Collect failed read operations to calculate request success rate
2024-04-12 09:46:20 +02:00
Benjamin Wang
d7cf03874c
Merge pull request #17776 from siyuanfoundation/verify-test
test: refactor mix_version_test.
2024-04-12 08:40:27 +01:00
James Blair
fa08f0196a
Merge pull request #17729 from testwill/close_profile
fix: close profile in the mvccPutFunc func
2024-04-12 07:01:46 +12:00
Siyuan Zhang
d602b9f4a2 test: refactor mix_version_test.
Signed-off-by: Siyuan Zhang <sizhang@google.com>
2024-04-11 17:53:48 +00:00
Marek Siarkowicz
8d3abed266
Merge pull request #17756 from serathius/robustness-reports-disable-cache
Don't cache test-robustness-reports
2024-04-11 19:49:55 +02:00
Benjamin Wang
18fd7d67a3
Merge pull request #17767 from henrybear327/dependencies/04_10_2024
[2024-04-10] Bump dependency updates identified by dependabot
2024-04-11 09:35:23 +01:00
Marek Siarkowicz
718d5ba2b4 Calculate request success rate to provide signal to performance debugging
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2024-04-11 09:36:17 +02:00
Marek Siarkowicz
ae7f79fd63 Refactor append from appendFailed and appendSuccesfull
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2024-04-11 09:36:17 +02:00
Chun-Hung Tseng
64eaf5ef04
dependency: bump go.opentelemetry.io/otel/metric from 1.24.0 to 1.25.0
Reference:
- https://github.com/etcd-io/etcd/pull/17747

Signed-off-by: Chun-Hung Tseng <henrybear327@gmail.com>
2024-04-11 07:50:48 +02:00
Chun-Hung Tseng
ecfc139f06
dependency: bump go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc from 1.24.0 to 1.25.0
Reference:
- https://github.com/etcd-io/etcd/pull/17748

Signed-off-by: Chun-Hung Tseng <henrybear327@gmail.com>
2024-04-11 07:49:18 +02:00
James Blair
d1a1e74273
Merge pull request #17735 from etcd-io/dependabot/docker/distroless/static-debian12-41972110a1c1a5c0b6adb283e8aa092c43c31f7c5d79b8656fbffff2c3e61f05
build(deps): bump distroless/static-debian12 from `8cbe18a` to `4197211`
2024-04-11 13:44:49 +12:00
Marek Siarkowicz
65130c6d21 Refactor merge succesfull and failed operation in history
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2024-04-10 21:11:46 +02:00
Marek Siarkowicz
229275d46e Refactor appendSuccesful and appendFailed methods to match
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2024-04-10 10:33:19 +02:00
Chun-Hung Tseng
c8628919bb
dependency: bump google.golang.org/grpc from 1.63.0 to 1.63.2
Reference:
- https://github.com/etcd-io/etcd/pull/17766
- https://github.com/etcd-io/etcd/pull/17765

Signed-off-by: Chun-Hung Tseng <henrybear327@gmail.com>
2024-04-10 09:55:21 +02:00
James Blair
d3abeeca47
Merge pull request #17755 from ivanvc/rw-individual-benchmark
tools/rw-heatmaps: allow overriding running parameters
2024-04-10 19:48:53 +12:00
Benjamin Wang
c6395465bc
Merge pull request #17751 from henrybear327/dependencies/04_08_2024
[2024-04-08] Bump dependency updates identified by dependabot
2024-04-10 08:21:36 +01:00
Ivan Valdes
7dfcc60062
tools/rw-heatmaps: add local gitignore file
Signed-off-by: Ivan Valdes <ivan@vald.es>
2024-04-09 15:46:12 -07:00
Ivan Valdes
a956f8efad
tools/rw-heatmaps: allow overriding running parameters
Currently, the running parameters in the `rw-benchmark.sh` script are
hardcoded. Running this script end to end takes around 48 hours with
7 CPU cores. To split the load into smaller jobs, allow these
variables to be provided at run time.

Signed-off-by: Ivan Valdes <ivan@vald.es>
2024-04-09 15:37:25 -07:00
James Blair
5de6b76a9f
Merge pull request #17758 from henrybear327/doc/fix_typo_and_improve
Improve documentation
2024-04-10 09:56:44 +12:00
James Blair
9d6889d151
Merge pull request #17761 from ivanvc/update-artifacts-actions
dependency(gh_action): bump upload and download artifact from 3 to 4
2024-04-10 08:46:50 +12:00
Ivan Valdes
0a2d2f41e4
dependency(gh_action): bump upload and download artifact from 3 to 4
Signed-off-by: Ivan Valdes <ivan@vald.es>
2024-04-09 12:01:52 -07:00
Chun-Hung Tseng
ad86cb4d17
documentation: improve triage_prs.md
Signed-off-by: Chun-Hung Tseng <henrybear327@gmail.com>
2024-04-09 18:00:56 +02:00
Chun-Hung Tseng
60d9d8359b
documentation: improve triage_issues.md
Signed-off-by: Chun-Hung Tseng <henrybear327@gmail.com>
2024-04-09 18:00:56 +02:00
Chun-Hung Tseng
3d3be326a4
documentation: improve roadmap.md
Signed-off-by: Chun-Hung Tseng <henrybear327@gmail.com>
2024-04-09 18:00:56 +02:00
Chun-Hung Tseng
880e61f0ed
documentation: improve reporting_bugs.md
Signed-off-by: Chun-Hung Tseng <henrybear327@gmail.com>
2024-04-09 18:00:56 +02:00
Chun-Hung Tseng
6c8697fc65
documentation: improve release.md
Signed-off-by: Chun-Hung Tseng <henrybear327@gmail.com>
2024-04-09 18:00:56 +02:00
Chun-Hung Tseng
6c1cb348dc
documentation: improve modules.md
Signed-off-by: Chun-Hung Tseng <henrybear327@gmail.com>
2024-04-09 18:00:56 +02:00
Chun-Hung Tseng
fa1801cbc4
documentation: improve logging.md
Signed-off-by: Chun-Hung Tseng <henrybear327@gmail.com>
2024-04-09 18:00:56 +02:00
Chun-Hung Tseng
fade580c65
documentation: improve local_cluster.md
Signed-off-by: Chun-Hung Tseng <henrybear327@gmail.com>
2024-04-09 18:00:56 +02:00
Chun-Hung Tseng
7b77a00094
documentation: improve features.md
Signed-off-by: Chun-Hung Tseng <henrybear327@gmail.com>
2024-04-09 18:00:56 +02:00
Chun-Hung Tseng
241f234207
documentation: improve dependency_management.md
Signed-off-by: Chun-Hung Tseng <henrybear327@gmail.com>
2024-04-09 18:00:56 +02:00
Chun-Hung Tseng
4683de480a
documentation: improve community-membership.md
Signed-off-by: Chun-Hung Tseng <henrybear327@gmail.com>
2024-04-09 18:00:56 +02:00
Chun-Hung Tseng
c4b44c9e8a
documentation: improve branch_management.md
Signed-off-by: Chun-Hung Tseng <henrybear327@gmail.com>
2024-04-09 18:00:56 +02:00
Chun-Hung Tseng
39ccdb0b91
documentation: improve CONTRIBUTING.md
Signed-off-by: Chun-Hung Tseng <henrybear327@gmail.com>
2024-04-09 18:00:56 +02:00
Chun-Hung Tseng
6e0a4c7f82
documentation: fix typos in documentations and contribution guides
Signed-off-by: Chun-Hung Tseng <henrybear327@gmail.com>
2024-04-09 18:00:49 +02:00