-
Notifications
You must be signed in to change notification settings - Fork 10k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Reproduce revision inconsistency issue #14724
Conversation
Signed-off-by: Benjamin Wang <[email protected]>
Signed-off-by: Benjamin Wang <[email protected]>
Codecov Report
@@ Coverage Diff @@
## main #14724 +/- ##
==========================================
- Coverage 75.65% 75.28% -0.37%
==========================================
Files 457 457
Lines 37317 37317
==========================================
- Hits 28232 28095 -137
- Misses 7324 7443 +119
- Partials 1761 1779 +18
Flags with carried forward coverage won't be shown. Click here to find out more.
📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
@@ -33,7 +33,7 @@ type Traffic interface { | |||
type putGetTraffic struct{} | |||
|
|||
func (t putGetTraffic) Run(ctx context.Context, c *recordingClient, limiter *rate.Limiter) { | |||
maxOperationsPerClient := 1000000 | |||
maxOperationsPerClient := 10 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Any reason to set this? This number is used to ensure each client write has unique value. This is done by shifting starting id value for each client and limiting number of writes. For example first client writes values 0...1000000
, second client writes 1000000...2000000
and so forth.
Lowering this number just results in clients making 10 requests and finishing.
err := triggerFailpoints(ctx, t, clus, failpoint) | ||
if err != nil { | ||
t.Error(err) | ||
} | ||
}() | ||
operations := simulateTraffic(ctx, t, clus, traffic) | ||
clus.Close() | ||
time.Sleep(10 * time.Second) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would not recommend removing cluster.Stop here as this is needed to saftly copy out the data dir.
} | ||
|
||
path, err := filepath.Abs(filepath.Join(resultsDirectory, strings.Replace(t.Name(), "/", "_", -1)+".html")) | ||
path, err := filepath.Abs(filepath.Join("/Users/wachao/tmp/etcd/test/", strings.Replace(t.Name(), "/", "_", -1)+".html")) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You can just use RESULTS_DIR
environment variable
Strange that you are able to reproduce issue locally as I don't see any changes that influences the test itself. |
This PR isn't targeting for merge. It's just show you how I reproduced the issue with simplified test case. |
Please read https://github.com/etcd-io/etcd/blob/main/CONTRIBUTING.md#contribution-flow.