-
Notifications
You must be signed in to change notification settings - Fork 729
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
Split dual-channel COB overrun tests to separate servers #1374
Split dual-channel COB overrun tests to separate servers #1374
Conversation
1. The test isn't waiting long enough for the output buffer to overrun. This problem is happening because an error from the previous test is bleeding into the current test's logs. The simplest fix would be to split these tests. 2. Increased replication timeout to ensure sync fails due to output buffer overrun before a timeout occurs. Solve valkey-io#1367 Signed-off-by: naglera <[email protected]>
Notice from the master test logs, the client which reached COB limit is client 11 which was created in
|
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## unstable #1374 +/- ##
============================================
+ Coverage 70.59% 70.62% +0.02%
============================================
Files 117 117
Lines 63324 63324
============================================
+ Hits 44704 44722 +18
+ Misses 18620 18602 -18 |
} | ||
} | ||
|
||
start_server {tags {"dual-channel-replication external:skip"}} { |
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.
Can restart_instance
be used instead?
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.
restart_instance
could be used here, but splitting tests to different servers simplifies debugging by separating logs and avoids unnecessary test coupling. These tests don't require shared server state.
is splitting the test really the only option? we can fetch the replica client ID and use it to search the log. I generally prefer we avoid spawning many servers if no real need |
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.
Good job! This test case has been haunting us for a while.
To start many servers take some time, so it's good to avoid it to keep total test time shorter. But in this case maybe it's not a problem. I also agree that separating them is better for isolation of tests where we check for log messages.
@ranshid @xbasel Do you want to try to find other alternatives?
I also suffered this when dealing with #1297, i think split it is a good idea though it will increase the test time. |
Fixes #1367