19677 Commits

Author SHA1 Message Date
Marek Siarkowicz
165a76b506 tests/robustness: Fix pointer causing all cluster tests using kubernetes traffic
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-05-10 16:08:08 +02:00
Marek Siarkowicz
2bb9930ffa
Merge pull request #15869 from serathius/robustness-watch-config
tests/robustness: Move request progress field from traffic to watch c…
2023-05-10 13:05:04 +02:00
Marek Siarkowicz
dd248518d1 tests/robustness: Move request progress field from traffic to watch config and pass testScenario to reduce number of arguments
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-05-10 11:43:02 +02:00
Benjamin Wang
7f6d0d04ac
Merge pull request #15839 from Rajalakshmi-Girish/keep_going_module_testing2
Add an option to keep_going with run for modules on failure
2023-05-10 08:14:37 +08:00
Benjamin Wang
b404d25d84
Merge pull request #15741 from AngstyDuck/set-default-value-for-AutoCompactionMode
server: default value for config file field auto-compaction-mode is n…
2023-05-10 05:44:16 +08:00
AngstyDuck
a7344da7d3 server: default value for config file field auto-compaction-mode is now 'periodic'; added additional checks if auto-compaction-mode is undefined
Signed-off-by: AngstyDuck <solsticedante@gmail.com>
2023-05-09 23:10:44 +08:00
Marek Siarkowicz
d81d3c3487
Merge pull request #15845 from serathius/robustness-traffic
test/robustness: Create dedicated traffic package
2023-05-09 15:38:28 +02:00
Marek Siarkowicz
1e479f8c3c
Merge pull request #15859 from serathius/go-version
Move go version to dedicated .go-version file
2023-05-09 14:54:45 +02:00
Marek Siarkowicz
aa373e54df Move go version to dedicated .go-version file
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-05-09 12:32:25 +02:00
Marek Siarkowicz
ad20230e07 test/robustness: Create dedicated traffic package
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-05-09 10:50:13 +02:00
Marek Siarkowicz
f6161673af
Merge pull request #15851 from serathius/robustness-generic
tests/robustness: Make weighted pick random generic
2023-05-09 10:36:11 +02:00
Benjamin Wang
b7ad0382ad
Merge pull request #15844 from mitake/style
server/etcdserver: swap order of return types
2023-05-09 06:34:34 +08:00
Benjamin Wang
3024d9461d
Merge pull request #15842 from qsyqian/main
log time when open backend db took too long
2023-05-09 06:06:21 +08:00
Marek Siarkowicz
b14b468661 tests/robustness: Make weighted pick random generic
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-05-08 19:58:38 +02:00
Hitoshi Mitake
a0cffb6a1f server/etcdserver: swap order of return types
Signed-off-by: Hitoshi Mitake <h.mitake@gmail.com>
2023-05-08 22:53:04 +09:00
qsyqian
0cd1b7beaa log time when open backend db took too long
Signed-off-by: qsyqian <qsyqian@gmail.com>
2023-05-08 15:23:29 +08:00
Benjamin Wang
0a7dd2186b
Merge pull request #15841 from jmhbnz/update-changelog
Update 3.4 and 3.5 changelogs for compile with 1.19.9.
2023-05-08 07:50:37 +08:00
James Blair
bb057ddae6
Update 3.4 and 3.5 changelogs for compile with 1.19.9.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-05-08 10:58:02 +12:00
Marek Siarkowicz
767b59f0b0
Merge pull request #15840 from serathius/robustness-limit-count
tests/robustness: Implement Range limit and count
2023-05-07 19:59:27 +02:00
Rajalakshmi Girish
ac61b36e06 Add an option to keep_going with run for modules on failure
Signed-off-by: Rajalakshmi Girish <rajalakshmi.girish1@ibm.com>
2023-05-07 00:43:30 -07:00
Marek Siarkowicz
7c68be4cf3 tests/robustness: Implement Range limit and count
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-05-07 09:32:07 +02:00
Marek Siarkowicz
249c0d71d4
Merge pull request #15827 from serathius/robustness-k8s-2
tests/robustness: Implement delete request for kubernetes scenario
2023-05-05 17:40:47 +02:00
Marek Siarkowicz
40f71ef3c6 tests/robustness: Implement delete request for kubernetes scenario
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-05-05 13:40:46 +02:00
Marek Siarkowicz
79eabc1cbf
Merge pull request #15819 from serathius/robustness-non-deterministic
tests/robustness: Split model code into deterministic and non-deterministic
2023-05-05 13:16:28 +02:00
Marek Siarkowicz
92366a5338 tests/robustness: Split model code into deterministic and non-deterministic
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
Co-authored-by: Benjamin Wang <wachao@vmware.com>
Co-authored-by: chao <54131596+chaochn47@users.noreply.github.com>
2023-05-05 12:25:10 +02:00
Benjamin Wang
08d25b2e3e
Merge pull request #15830 from etcd-io/dependabot/github_actions/actions/upload-artifact-3
build(deps): bump actions/upload-artifact from 2 to 3
2023-05-05 08:53:56 +08:00
Benjamin Wang
8a17ed10bd
Merge pull request #15831 from etcd-io/dependabot/github_actions/github/codeql-action-2.3.3
build(deps): bump github/codeql-action from 2.3.2 to 2.3.3
2023-05-05 08:53:42 +08:00
dependabot[bot]
d10cabd3f9
build(deps): bump github/codeql-action from 2.3.2 to 2.3.3
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.3.2 to 2.3.3.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](f3feb00acb...29b1f65c5e)

---
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>
2023-05-04 23:47:44 +00:00
dependabot[bot]
58ec96a6ce
build(deps): bump actions/upload-artifact from 2 to 3
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 2 to 3.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v2...0b7f8abb1508181956e8e162db84b466c27e18ce)

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

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-04 23:47:40 +00:00
Benjamin Wang
b75499437b
Merge pull request #15829 from chaochn47/remove_invalid_arm64_workflow_config
remove invalid arm64 workflow config
2023-05-05 07:47:17 +08:00
Chao Chen
e9b1a0e70f remove invalid arm64 workflow config
Signed-off-by: Chao Chen <chaochn@amazon.com>
2023-05-04 15:33:31 -07:00
Marek Siarkowicz
cfe154209c tests/robustness: Separate describe model functions to dedicated file
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-05-04 14:03:18 +02:00
Marek Siarkowicz
2c16812841
Merge pull request #15817 from serathius/robustness-k8s-1
tests/robustness: Implement first step in validating the Kubernetes-etcd contract
2023-05-04 13:52:25 +02:00
Marek Siarkowicz
9b5680c5f1 tests/robustness: Implement first step in validating the Kubernetes-etcd contract.
* Use mod revision for optimistic concurrency.
* Introduce range requests as more general then get
* Add kubernetes specific traffic generation, for now using pull, but
  expected to evolve to use watch.
* Introduce kubernetes specific test scenario

Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-05-04 13:26:54 +02:00
Benjamin Wang
ecb64030fb
Merge pull request #15821 from jmhbnz/upgrade-go-patch-release
Updated go to latest patch release 1.19.9
2023-05-04 07:56:42 +08:00
James Blair
b84e4273f7
Updated go to latest patch release 1.19.9.
Signed-off-by: James Blair <mail@jamesblair.net>
2023-05-04 11:00:08 +12:00
Benjamin Wang
3ef5985bcd
Merge pull request #15813 from Rajalakshmi-Girish/continue-on-failure
keep going with other test suite runs when failure with one
2023-05-04 05:54:05 +08:00
Rajalakshmi Girish
c9998a7e63 keep_going with other suites when failure with one
Signed-off-by: Rajalakshmi Girish <rajalakshmi.girish1@ibm.com>
2023-05-03 00:57:49 -07:00
Benjamin Wang
5021cd924c
Merge pull request #15816 from chaochn47/update_dependency_management
dependency_management.md: document go.opentelemetry.io/otel version update is blocked
2023-05-03 12:27:05 +08:00
Chao Chen
bb060586ce dependency_management.md: document go.opentelemetry.io/otel version update is blocked
Signed-off-by: Chao Chen <chaochn@amazon.com>
2023-05-02 20:40:06 -07:00
Hitoshi Mitake
49b59cc8e5
Merge pull request #15656 from mitake/lease-timetolive-auth
protect LeaseTimeToLive with RBAC
2023-05-02 23:02:29 +09:00
Benjamin Wang
4785f5a7ba
Merge pull request #15809 from etcd-io/dependabot/github_actions/github/codeql-action-2.3.2
build(deps): bump github/codeql-action from 2.3.0 to 2.3.2
2023-05-02 06:39:40 +08:00
Benjamin Wang
b089474b01
Merge pull request #15795 from jmhbnz/deflake-roundrobin-resolver-test
tests: Deflake TestEtcdGrpcResolverRoundRobin
2023-05-02 06:09:46 +08:00
dependabot[bot]
4c4bd63fa1
build(deps): bump github/codeql-action from 2.3.0 to 2.3.2
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.3.0 to 2.3.2.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](b2c19fb9a2...f3feb00acb)

---
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>
2023-05-01 18:03:06 +00:00
Benjamin Wang
0deaec0e4f
Merge pull request #15762 from aimuz/fix-logger
refactor(util): remove duplicate lg check
2023-04-30 05:52:11 +08:00
Marek Siarkowicz
7462c61b31
Merge pull request #15792 from fuweid/deflake-robustness-cases
tests/robustness: tune timeout policy
2023-04-29 09:04:38 +02:00
James Blair
b9533ca98b
Deflake TestEtcdGrpcResolverRoundRobin.
Increase request to 1000 to increase sample size/reduce variability and increase tolerance threshold from 10 to 15%.

Signed-off-by: James Blair <mail@jamesblair.net>
2023-04-29 14:14:16 +12:00
Wei Fu
09d053e035 tests/robustness: tune timeout policy
In a [scheduled test][1], the error shows

```
2023-04-19T11:16:15.8166316Z     traffic.go:96: rpc error: code = Unavailable desc = keepalive ping failed to receive ACK within timeout
```

According to [grpc-keepalive@v1.51.0][2], each frame from server will
fresh the `lastRead` and it won't file `Ping` frame to server. But the
client used by [`tombstone` request][3] might hit the race. Since we use
5ms as timeout, the client might not receive the result of `Ping` from
server in time. The keepalive will mark it timeout and close the
connection.

I didn't reproduce it in my local. If we add the sleep before update
`lastRead`, it can reproduce it sometimes. Still investigating this
part.

```diff
diff --git a/internal/transport/http2_client.go b/internal/transport/http2_client.go
index d518b07e..bee9c00a 100644
--- a/internal/transport/http2_client.go
+++ b/internal/transport/http2_client.go
@@ -1560,6 +1560,7 @@ func (t *http2Client) reader(errCh chan<- error) {
                t.controlBuf.throttle()
                frame, err := t.framer.fr.ReadFrame()
                if t.keepaliveEnabled {
+                       time.Sleep(2 * time.Millisecond)
                        atomic.StoreInt64(&t.lastRead, time.Now().UnixNano())
                }
                if err != nil {
```

`DialKeepAliveTime` is always >= [10s][4]. I think we should increase
the timeout to avoid flaky caused by unstable env.

And in a [scheduled test][5], the error shows

```
logger.go:130: 2023-04-22T10:45:52.646Z	INFO	Failed to trigger failpoint	{"failpoint": "blackhole", "error": "context deadline exceeded"}
```

Before sending `Status` to member, the client doesn't [pick][6] the
connection in time (100ms) and returns the error.

The `waitTillSnapshot` is used to ensure that it is good enough to
trigger snapshot transfer. And we have 1min timeout for
injectFailpoints, so I think we can remove the 100ms timeout to reduce
unnecessary stop.

```
injectFailpoints(1min timeout)
  failpoint.Inject
    triggerBlockhole.Trigger
      blackhole
        waitTillSnapshot
```

> NOTE: I didn't reproduce it either. :(

Reference:

[1]: <https://github.com/etcd-io/etcd/actions/runs/4741737098/jobs/8419176899>
[2]: <eeb9afa1f6/internal/transport/http2_client.go (L1647)>
[3]: <7450cd886d/tests/robustness/traffic.go (L94)>
[4]: <eeb9afa1f6/dialoptions.go (L445)>
[5]: <https://github.com/etcd-io/etcd/actions/runs/4772033408/jobs/8484334015>
[6]: <eeb9afa1f6/clientconn.go (L932)>

REF: #15763

Signed-off-by: Wei Fu <fuweid89@gmail.com>
2023-04-29 07:03:47 +08:00
Marek Siarkowicz
46ab121cb7
Merge pull request #15786 from etcd-io/serathius-patch-1
Provide release date for v3.5.8
2023-04-28 15:21:53 +02:00
Marek Siarkowicz
7e2e5c68de Provide release data for v3.5.8
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2023-04-28 15:21:06 +02:00