c37991cf8b
Validate watch even if event history cannot be created
...
Creation of event history requires each client to return consistent
events. If clients observed inconsistent view of some revision, merging
will fail and return diff between two clients. This however doesn't
provide hint on what kind of issue happend.
This PR helps cases where there is an error with single watch
stream (like event duplication) by running normal watch validation even
without full event history.
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com >
2024-01-16 16:04:03 +01:00
aea1cd0077
feat: enable unparam lint
...
Signed-off-by: Wei Fu <fuweid89@gmail.com >
2023-10-17 21:24:13 +08:00
4791964173
Merge pull request #16757 from serathius/minimal-time
...
Use the minimal time event was observed on watch
2023-10-16 11:25:30 +02:00
841731bbf0
Fix linearization failure not causing test failure
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com >
2023-10-13 18:56:22 +02:00
4c7b8dbc94
Use the minimal time event was observed on watch
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com >
2023-10-13 18:17:29 +02:00
b02798e946
Refactor and reorder validation to avoid reporting multiple corelated failures
...
It doesn't make sense to report watch failure if key value operations
are not linearizable.
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com >
2023-10-13 14:06:13 +02:00
c2655b4112
Fix watch validation assuming that client requesting older watch revision
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com >
2023-10-05 14:09:43 +02:00
07effc4d0a
*: fix revive linter
...
Remove old revive_pass in the bash scripts and migirate the revive.toml
into golangci linter_settings.
Signed-off-by: Wei Fu <fuweid89@gmail.com >
2023-09-24 14:21:11 +08:00
aa97484166
*: enable goimports in verify-lint
...
Signed-off-by: Wei Fu <fuweid89@gmail.com >
2023-09-21 21:14:09 +08:00
700411d838
Merge pull request #16601 from fuweid/fix-nakedret-lint
...
*: fix nakedret lint
2023-09-18 10:00:25 +01:00
e72c2c40d4
*: fix nakedret lint
...
Signed-off-by: Wei Fu <fuweid89@gmail.com >
2023-09-17 23:52:41 +08:00
c0aa3b613b
Use any instead of interface{}
...
Signed-off-by: chenyahui <cyhone@qq.com >
2023-09-17 17:41:58 +08:00
11da84a1d1
tests/robustness: Implement loading client reports
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com >
2023-06-28 15:35:17 +02:00
09c462e2ea
tests/robustness: Add resumable validation and improve reliable validation
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com >
2023-06-26 12:12:39 +02:00
26cd2bc017
tests/robustness: Store whole watch operations
...
Want to keep watch requests to properly validate reliability of watch
stream.
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com >
2023-06-24 18:15:50 +02:00
31b20ef40f
Merge pull request #16129 from serathius/robustness-fix-patch-txn-onfailure
...
Robustness fix patch txn onfailure
2023-06-24 17:32:31 +02:00
1f6e1102a2
tests/robustness: Fix operation patching for txn with onFailure operations
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com >
2023-06-24 11:20:12 +02:00
0ae8f26f06
tests/robustness: Refactor patch operation functions
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com >
2023-06-24 11:19:24 +02:00
78ca04a94a
tests/robustness: Combine watch histories
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com >
2023-06-23 18:40:07 +02:00
f7831e2607
tests/robustness: Move key into dedicated options to allow to implement proper ranges
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com >
2023-06-22 18:27:54 +02:00
3f09a51c60
tests/robustness: Make watch event independent from etcd operation
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com >
2023-06-22 15:43:27 +02:00
1663600bec
tests/robustness: Validate stale get requests by replaying etcd state
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com >
2023-06-19 14:17:38 +02:00
96987d8b5e
tests/robustness: Implement stale reads without validation
...
For now we just validate stale read revision, but not response content.
Reason is that etcd model only stores latest version of keys, and no
history like real etcd.
Validating stale read contents needs to be done outside of model
as storing whole history is just to costly for linearization validation.
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com >
2023-06-16 21:17:37 +02:00
34cbf4cd6f
tests/robustness: Allow errors and unknown responses in deterministic model
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com >
2023-06-15 22:25:48 +02:00
6979318108
tests/robustness: Make Range a proper request type to allow setting Range.Revision != 0 for stale reads
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com >
2023-06-14 13:55:45 +02:00
974655e02c
tests/robustness: Rename operations const to separate from RequestType
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com >
2023-06-14 13:24:14 +02:00
7bbc738ec4
tests/robustness: Extract validation to separate package
...
Signed-off-by: Marek Siarkowicz <siarkowicz@google.com >
2023-06-14 09:14:27 +02:00