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

Enable schedule rules by default in system tests #3722

Closed
patchwork01 opened this issue Nov 19, 2024 · 1 comment
Closed

Enable schedule rules by default in system tests #3722

patchwork01 opened this issue Nov 19, 2024 · 1 comment
Assignees
Labels
parent-issue An issue that is or should be split into multiple sub-issues
Milestone

Comments

@patchwork01
Copy link
Collaborator

patchwork01 commented Nov 19, 2024

Background

Split from:

A system test instance is currently paused by default, so the scheduled rules never invoke partition splitting. We invoke it explicitly, but this happens for the whole instance.

Description

Instead of explicitly invoking lambdas in system tests, we'd like to enable all the schedule rules by default. In the tests when we wait for an operation that is triggered this way, we can wait for the scheduled rule to run.

This should be more representative of how the system works in reality, and it should make the tests easier to parallelise.

Analysis

We can ensure that schedule rules are enabled when we connect to an instance in DeployedSleeperInstances.createInstanceIfMissing. We can avoid ever pausing the schedule rules in any tests.

There is currently code for working with schedule rules in SnapshotsDriver. We could move that to a separate driver for schedule rules. Note that the code to disable the snapshot rule there is not currently used, so it could be deleted.

Note that all instances are deployed paused in AwsSleeperInstanceDriver.deployInstanceIfNotPresent.

We can handle this separately for each type of rule, and perform the above changes gradually:

Once all of these are finished, we can ensure we deploy an instance unpaused, and check that every scheduled rule is enabled when we connect to an instance for the first time in a test suite.

@patchwork01
Copy link
Collaborator Author

Closing as all the child issues are done.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
parent-issue An issue that is or should be split into multiple sub-issues
Projects
None yet
Development

No branches or pull requests

1 participant