18943 Commits

Author SHA1 Message Date
Benjamin Wang
6d0bf24e54
Merge pull request #14907 from fuweid/chore-reduce-ifelse
chore: use Getter in WarnOfExpensiveReadOnlyTxnRequest
2022-12-07 19:57:39 +08:00
Wei Fu
f59896c735 chore: use Getter in WarnOfExpensiveReadOnlyTxnRequest
The pb provides an accessor method to get field and it will not panic if
the owner is nil. And add non-empty RangeRespone into the test case.

Signed-off-by: Wei Fu <fuweid89@gmail.com>
2022-12-07 17:54:52 +08:00
Benjamin Wang
d59c9b82d0
Merge pull request #14901 from ahrtr/changelog_readonly_txn_panic_20221206
changelog: add items for the nil pointer panic of readonly txn
2022-12-07 04:27:07 +08:00
Benjamin Wang
b44c2d9afc changelog: add items for the nil pointer panic of readonly txn
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-12-06 19:26:56 +08:00
Marek Siarkowicz
a4c6d1bbce
Merge pull request #14880 from serathius/linearizability-failed
Improve support for failed requests in linearizability tests
2022-12-06 11:11:47 +01:00
Benjamin Wang
e6ef3c0bc5
Merge pull request #14895 from ahrtr/fix_readyonly_txn_panic_20221205
etcdserver: fix nil pointer panic for readonly txn
2022-12-06 17:29:39 +08:00
Marek Siarkowicz
5ff9202027 tests: Refactor append failed requests
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2022-12-06 10:21:07 +01:00
Marek Siarkowicz
619ca4f5cf tests: Add comments explaning handling failed requests
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2022-12-06 10:11:22 +01:00
Marek Siarkowicz
d8da98c49f tests: Fix return time for failed requests globally
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2022-12-06 10:11:22 +01:00
Marek Siarkowicz
45fdc2bbac tests: Extract history from client
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2022-12-06 10:11:22 +01:00
Marek Siarkowicz
c5c2ea6aad tests: Enforce that revision doesn't skips without error
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2022-12-06 10:11:22 +01:00
Marek Siarkowicz
fe6e42d411 tests: Improve tests by expending on scenarios
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2022-12-06 10:11:22 +01:00
Marek Siarkowicz
1d31e5e958 tests: Consider only latest failed request
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2022-12-06 10:11:22 +01:00
Marek Siarkowicz
b922afc0a3 tests: Make etcdRequest and etcdResponse public to make it serializable
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2022-12-06 10:11:22 +01:00
Marek Siarkowicz
68fd863c87 tests: Mark failed requests as timed out
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2022-12-06 10:11:22 +01:00
Marek Siarkowicz
6a68141db5 tests: Allow dynamic number of clients
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2022-12-06 10:11:22 +01:00
Marek Siarkowicz
42bb543315
Merge pull request #14897 from serathius/linearizability-trigger-exit
Allow failpoint requests to fail assuming that process exists within 1 second
2022-12-06 09:31:21 +01:00
Marek Siarkowicz
2263315871
Merge pull request #14802 from geetasg/delete_api
linearizability tests - Add support for delete api
2022-12-06 09:30:59 +01:00
Marek Siarkowicz
f2bc0823f6 tests: Make it explicit that we only suppurt panic failpoints
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2022-12-06 09:08:36 +01:00
Marek Siarkowicz
738ee3687a tests: Allow failpoint requests to fail assuming that process exists within 1 second
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2022-12-06 09:08:36 +01:00
Marek Siarkowicz
a5cfc089fa tests: Refactor picking a member function
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2022-12-06 09:08:36 +01:00
Benjamin Wang
daad3a2154 etcdserver: fix nil pointer panic for readonly txn
FYI. https://github.com/etcd-io/etcd/issues/14891#issuecomment-1337191993

Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-12-06 14:53:47 +08:00
Benjamin Wang
da7708d528
Merge pull request #14898 from mehvaibh/main
changelog: added non mutating requests pass through quotaKVServer when NOSPACE in 3.7
2022-12-06 08:36:32 +08:00
Vaibhav Mehta
898c6e867c changelog: added non mutating requests pass through quotaKVServer when NOSPACE in 3.7
Signed-off-by: Vaibhav Mehta <mehvaibh@amazon.com>
2022-12-05 15:15:31 -08:00
Benjamin Wang
b851eac5b9
Merge pull request #14872 from HeavenTonight/fix-makefile
Make sure shellcheck exist
2022-12-06 05:58:24 +08:00
Benjamin Wang
f1f82d86bc
Merge pull request #14892 from ahrtr/changelog_decouple_raft
changelog: added item for the decoupling raft from etcd in 3.6
2022-12-06 05:49:09 +08:00
Marek Siarkowicz
5baf8377bb
Merge pull request #14885 from serathius/linearizability-recreate-cluster
Linearizability recreate cluster
2022-12-05 12:16:00 +01:00
Benjamin Wang
812128c447
Merge pull request #14882 from ahrtr/remove_raft_20221202
Remove raft from etcd
2022-12-05 17:58:31 +08:00
guiyong.ou
4f238837aa Make sure shellcheck exist
Signed-off-by: guiyong.ou <guiyong.ou@daocloud.io>
2022-12-05 15:36:16 +08:00
Benjamin Wang
5d32ea51e5 changelog: added item for the decoupling raft from etcd in 3.6
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-12-05 13:38:18 +08:00
Piotr Tabor
40cc73c22e
Merge pull request #14889 from halegreen/fix-typo
test: fix typo
2022-12-04 16:33:35 +01:00
WangXiaoxiao
f7f5474515 test:fix typo
Signed-off-by: WangXiaoxiao <1141195807@qq.com>
2022-12-04 21:11:12 +08:00
Benjamin Wang
1608659746
Merge pull request #14887 from Bhargav-InfraCloud/update-doc-svg
docs: Update raft package to go.etcd.io/raft/v3 in modules SVG
2022-12-04 12:57:11 +08:00
Bhargav Ravuri
377dffd51d docs: Update raft package to go.etcd.io/raft/v3 in modules SVG
Replace raft package path go.etcd.io/etcd/raft/v3 with
go.etcd.io/raft/v3 in modules SVG in documentation

Signed-off-by: Bhargav Ravuri <bhargav.ravuri@infracloud.io>
2022-12-03 18:44:57 +05:30
Marek Siarkowicz
a573d8af69 tests: Use golang count to repeat tests
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2022-12-03 11:21:07 +01:00
Marek Siarkowicz
7f70b8cf76 tests: Separate retries count from failure trigger count
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2022-12-03 11:21:07 +01:00
Marek Siarkowicz
df2d075e1a tests: Sleep between failpoint failure
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2022-12-03 11:21:07 +01:00
Marek Siarkowicz
11711fc007 tests: Recreate cluster for every failpoint trigger
This shortens operation history and avoids having to many failed requests.
Failed requests are problematic as too many of them can cause linearizability
verification complexity to become exponential.

Signed-off-by: Marek Siarkowicz <siarkowicz@google.com>
2022-12-03 11:21:07 +01:00
Benjamin Wang
56ca9efc57 Remove raft from etcd
Please use go.etcd.io/raft/v3 instead.

Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-12-02 17:19:43 +08:00
Benjamin Wang
26c0627793
Merge pull request #14881 from ahrtr/update_raft_for_etcdserver_20221202
Update etcd to use the new raft module go.etcd.io/raft/v3
2022-12-02 16:58:35 +08:00
Benjamin Wang
971e42d631 Resolve build and test errors
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-12-02 15:43:48 +08:00
Benjamin Wang
cc58edecf2 raft: add raft into the tools/mod
Previously etcdservers depends on raft/raftpb/raft.proto directly.
After moving raft to a separate repo, we need to add raft to the
tools/mod, and get raft included in the -I protc flags.

Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-12-02 15:36:41 +08:00
Benjamin Wang
b4709b20e2 cleanup top level go.mod and go.sum and Bill-of-materials.json
Just execute ./script/fix.sh after updating raftexample to use
the new raft module go.etcd.io/raft/v3.

Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-12-02 14:30:32 +08:00
Benjamin Wang
0775d36e53 raftexample: update etcdserver to use the new raft module go.etcd.io/raft/v3
Just replaced all go.etcd.io/etcd/raft/v3 with go.etcd.io/raft/v3
under directory contrib/raftexample.

Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-12-02 14:25:50 +08:00
Benjamin Wang
8651478ce2 raft: mark etcd/raft deprecated, and suggest users to use the new go.etcd.io/raft/v3 module
Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-12-02 14:17:58 +08:00
Benjamin Wang
394956ca4e doc: cleanup etcd/raft in all documents
TODO:
1. Update Documentation/contributor-guide/modules.svg;
2. Update bill-of-materials.json when raft and raftexample are removed in future;

Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-12-02 14:13:18 +08:00
Benjamin Wang
b1cdf16988 scripts: cleanup raft from all script files
No need to generate proto file;
No need to test coverage for raft;
No need to run any test for raft module;
NO need to run any test for raftexample;

Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-12-02 13:58:11 +08:00
Benjamin Wang
c2313de3ec cleanup top level go.mod and go.sum files
Executed commands below,
1. Removed go.etcd.io/raft/v3 => ../raft;
2. go get go.etcd.io/raft/v3@eaa6808e1f7ab2247c13778250f70520b0527ff1;
3. go mod tidy

Note that after execuing command `go mod tidy`, the dependency
"go.etcd.io/etcd/raft/v3 v3.5.6" was added automatically. When we
remove raft and the raftexample, and it will cleanup automatically
when executing `go mod tidy` again.

Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-12-02 13:49:21 +08:00
Benjamin Wang
5503a9484a test: cleanup go.mod and go.sum files
Executed commands below,
1. Removed go.etcd.io/raft/v3 => ../raft;
2. go get go.etcd.io/raft/v3@eaa6808e1f7ab2247c13778250f70520b0527ff1;
3. go mod tidy

Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-12-02 13:36:05 +08:00
Benjamin Wang
7ce21519fb test: update test to use the new raft module go.etcd.io/raft/v3
Just replaced all go.etcd.io/etcd/raft/v3 with go.etcd.io/raft/v3
under directory test.

Signed-off-by: Benjamin Wang <wachao@vmware.com>
2022-12-02 13:32:47 +08:00