Skip to content
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

Make wait_until faster by ignoring backoff_sec on success #16

Merged
merged 1 commit into from
Aug 12, 2022

Conversation

rystsov
Copy link

@rystsov rystsov commented Aug 5, 2022

it isn't uncommon to have dozens of wait_until in a test. With backoff_sec set to 2 seconds 30 successful wait_until sums up to a minute of wasted CI time.

@rystsov rystsov requested a review from jcsp August 5, 2022 19:56
@jcsp
Copy link

jcsp commented Aug 8, 2022

LGTM. I guess we should test that this doesn't destabilize any existing tests which might have implicit dependency on that extra sleep: probably need a throwaway vtools PR with ducktape pointed at this sha1 to check that.

@rystsov
Copy link
Author

rystsov commented Aug 12, 2022

I've done it locally

Without the fix

ducktape version: 0.8.8
session_id:       2022-08-11--001
run time:         426 minutes 33.727 seconds
tests run:        729
passed:           503
failed:           185
ignored:          32
opassed:          8
ofailed:          1

With the fix

ducktape version: 0.8.8
session_id:       2022-08-12--001
run time:         299 minutes 42.224 seconds
tests run:        729
passed:           496
failed:           192
ignored:          32
opassed:          8
ofailed:          1

Look at the reduced duration!

Test failures missing in the first run:

rptest.tests.maintenance_test.MaintenanceTest.test_maintenance.use_rpk=True
rptest.tests.consumer_group_test.ConsumerGroupTest.test_dead_group_recovery.static_members=True
rptest.tests.maintenance_test.MaintenanceTest.test_exclusive_maintenance.use_rpk=False
rptest.tests.offset_for_leader_epoch_test.OffsetForLeaderEpochTest.test_offset_for_leader_epoch
rptest.tests.maintenance_test.MaintenanceTest.test_maintenance_sticky.use_rpk=True
rptest.tests.maintenance_test.MaintenanceTest.test_maintenance_sticky.use_rpk=False
rptest.tests.wasm_redpanda_failure_recovery_test.WasmRPMeshFailureRecoveryTest.verify_materialized_topics_test
rptest.tests.consumer_group_test.ConsumerGroupTest.test_dead_group_recovery.static_members=False
rptest.tests.cluster_features_test.FeaturesMultiNodeTest.test_explicit_activation
rptest.tests.maintenance_test.MaintenanceTest.test_exclusive_maintenance.use_rpk=True

I looked at them and it may be an effect of implicit dependency of extra sleep. But it seems that the change doesn't destabilize but reveals previously hidden flakiness; working on identifying them.

@rystsov rystsov merged commit e1e19d4 into redpanda-data:master Aug 12, 2022
rystsov added a commit to rystsov/redpanda that referenced this pull request Aug 12, 2022
The latest version improved performace of wait_until and reduced
the full test run by 30%. See details in

redpanda-data/ducktape#16
rystsov added a commit to rystsov/redpanda that referenced this pull request Aug 12, 2022
The latest version improved performance of wait_until and reduced
the full test run by 30%. See details in

redpanda-data/ducktape#16
Copy link
Member

@dotnwat dotnwat left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

so good

rystsov added a commit to rystsov/redpanda that referenced this pull request Aug 18, 2022
The latest version improved performance of wait_until and reduced
the full test run by 30%. See details in

redpanda-data/ducktape#16
rystsov added a commit to rystsov/redpanda that referenced this pull request Aug 19, 2022
The latest version improved performance of wait_until and reduced
the full test run by 30%. See details in

redpanda-data/ducktape#16
rystsov added a commit to rystsov/redpanda that referenced this pull request Aug 21, 2022
The latest version improved performance of wait_until and reduced
the full test run by 30%. See details in

redpanda-data/ducktape#16
rystsov added a commit to rystsov/redpanda that referenced this pull request Aug 21, 2022
The latest version improved performance of wait_until and reduced
the full test run by 30%. See details in

redpanda-data/ducktape#16
rystsov added a commit to rystsov/redpanda that referenced this pull request Aug 22, 2022
The latest version improved performance of wait_until and reduced
the full test run by 30%. See details in

redpanda-data/ducktape#16
jcsp pushed a commit to jcsp/redpanda that referenced this pull request Aug 22, 2022
The latest version improved performance of wait_until and reduced
the full test run by 30%. See details in

redpanda-data/ducktape#16
rystsov added a commit to rystsov/redpanda that referenced this pull request Aug 23, 2022
The latest version improved performance of wait_until and reduced
the full test run by 30%. See details in

redpanda-data/ducktape#16
rystsov added a commit to rystsov/redpanda that referenced this pull request Aug 23, 2022
The latest version improved performance of wait_until and reduced
the full test run by 30%. See details in

redpanda-data/ducktape#16
jcsp pushed a commit to jcsp/redpanda that referenced this pull request Aug 24, 2022
The latest version improved performance of wait_until and reduced
the full test run by 30%. See details in

redpanda-data/ducktape#16
rystsov added a commit to rystsov/redpanda that referenced this pull request Aug 25, 2022
The latest version improved performance of wait_until and reduced
the full test run by 30%. See details in

redpanda-data/ducktape#16
rystsov added a commit to rystsov/redpanda that referenced this pull request Aug 26, 2022
The latest version improved performance of wait_until and reduced
the full test run by 30%. See details in

redpanda-data/ducktape#16
rystsov added a commit to rystsov/redpanda that referenced this pull request Aug 26, 2022
The latest version improved performance of wait_until and reduced
the full test run by 30%. See details in

redpanda-data/ducktape#16
VladLazar pushed a commit to VladLazar/redpanda that referenced this pull request Aug 30, 2022
The latest version improved performance of wait_until and reduced
the full test run by 30%. See details in

redpanda-data/ducktape#16
rystsov added a commit to rystsov/redpanda that referenced this pull request Aug 30, 2022
The latest version improved performance of wait_until and reduced
the full test run by 30%. See details in

redpanda-data/ducktape#16
rystsov added a commit to rystsov/redpanda that referenced this pull request Aug 31, 2022
The latest version improved performance of wait_until and reduced
the full test run by 30%. See details in

redpanda-data/ducktape#16
rystsov added a commit to rystsov/redpanda that referenced this pull request Sep 7, 2022
The latest version improved performance of wait_until and reduced
the full test run by 30%. See details in

redpanda-data/ducktape#16
rystsov added a commit to rystsov/redpanda that referenced this pull request Sep 12, 2022
The latest version improved performance of wait_until and reduced
the full test run by 30%. See details in

redpanda-data/ducktape#16
rystsov added a commit to rystsov/redpanda that referenced this pull request Sep 26, 2022
The latest version improved performance of wait_until and reduced
the full test run by 30%. See details in

redpanda-data/ducktape#16
This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants