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

Create a nightly job for linearizability tests #14911

Merged
merged 1 commit into from
Dec 7, 2022
Merged

Conversation

tjungblu
Copy link
Contributor

@tjungblu tjungblu commented Dec 7, 2022

Start with a simple job against main that runs for 3h by repeating it more often than the PR job.

Signed-off-by: Thomas Jungblut tjungblu@redhat.com


fix for #14045

  • Add a periodic (once a day?) long running (1h?) github action that runs linearizability tests

I didn't find a much better way to make it run for longer, I basically just incremented the --count by two orders of manitude. Let me know if there's a nicer way, happy to implement that.

The caveat with the schedule is that this is only for the main branch, we have to maybe split the jobs up to checkout the respective release branches in parallel and run the tests.

make build
mkdir -p /tmp/linearizability
cat server/etcdserver/raft.fail.go
EXPECT_DEBUG=true GO_TEST_FLAGS='-v --count 6000 --failfast --run TestLinearizability' RESULTS_DIR=/tmp/linearizability make test-linearizability
Copy link
Member

Choose a reason for hiding this comment

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

6000 might be an overkill :P.
60 runs take up to 20 minutes, so 500 should be enough.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

haha fair enough

Start with a simple job against main that runs for 3h by repeating it
an order of magnitude more often than the PR job.

Signed-off-by: Thomas Jungblut <tjungblu@redhat.com>
on:
# schedules always run against the main branch
schedule:
- cron: '25 9 * * *'
Copy link
Member

Choose a reason for hiding this comment

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

Can you add a comment explaining the cron.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

will add on the next PR for testing the release branches

Copy link
Member

@serathius serathius left a comment

Choose a reason for hiding this comment

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

@ahrtr
Copy link
Member

ahrtr commented Dec 7, 2022

Thanks @tjungblu .

The only concern is the Linearizability is still under heavily development, so it may be flaky. I would suggest holding on enabling it or run it weekly instead of daily. WDYT? cc @ptabor @serathius @spzala

@serathius
Copy link
Member

serathius commented Dec 7, 2022

The only concern is the Linearizability is still under heavily development, so it may be flaky.

That's why enabling periodics is super useful, it allow us to qualify both etcd and linearizability tests while not blocking any PRs.

I would suggest holding on enabling it or run it weekly instead of daily. WDYT?

Don't see much impact of running daily, benefit would be faster feedback loop. If we are worried about occupying github action workers we might decide to move the job to CNCF provided larger workers.

Copy link
Member

@ahrtr ahrtr left a comment

Choose a reason for hiding this comment

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

The main concern is maintainers' and some contributors' bandwidth. Hopefully it will NOT add too much additional overhead.

@ahrtr ahrtr merged commit 4ba806a into etcd-io:main Dec 7, 2022
@tjungblu tjungblu deleted the linnight branch December 8, 2022 09:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

3 participants