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

Long-running replication tests #7896

Merged
merged 5 commits into from
Jul 8, 2024
Merged

Long-running replication tests #7896

merged 5 commits into from
Jul 8, 2024

Conversation

save-buffer
Copy link
Contributor

@save-buffer save-buffer commented May 28, 2024

Problem

We need long-running stress tests for replication.

Summary of changes

Add them

Related to neondatabase/cloud#13390, neondatabase/cloud#14490, neondatabase/cloud#14724

@save-buffer save-buffer marked this pull request as draft May 28, 2024 15:44
Copy link

github-actions bot commented May 28, 2024

3092 tests run: 2977 passed, 0 failed, 115 skipped (full report)


Flaky tests (3)

Postgres 16

  • test_lsn_lease_size[False]: debug

Postgres 14

  • test_subscriber_restart: release
  • test_lsn_lease_size[False]: debug

Code coverage* (full report)

  • functions: 32.6% (6935 of 21279 functions)
  • lines: 50.0% (54525 of 109034 lines)

* collected from Rust tests only


The comment gets automatically updated with the latest test results
5e10906 at 2024-07-07T09:34:33.528Z :recycle:

test_runner/fixtures/neon_fixtures.py Outdated Show resolved Hide resolved
test_runner/fixtures/neon_fixtures.py Outdated Show resolved Hide resolved
test_runner/fixtures/neon_fixtures.py Show resolved Hide resolved
test_runner/performance/neon_api.py Outdated Show resolved Hide resolved
test_runner/performance/test_physical_replication.py Outdated Show resolved Hide resolved
test_runner/performance/test_physical_replication.py Outdated Show resolved Hide resolved
@andreasscherbaum
Copy link
Contributor

Let's merge this one, then change it to use the same project every time.

Use long-running queries, "start a transaction, query some tables, then use pg_sleep()".
Change transaction isolation level in tests.

test_runner/fixtures/neon_fixtures.py Outdated Show resolved Hide resolved
test_runner/performance/neon_api.py Outdated Show resolved Hide resolved
@save-buffer save-buffer marked this pull request as ready for review June 4, 2024 19:54
Copy link
Member

@tristan957 tristan957 left a comment

Choose a reason for hiding this comment

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

From my perspective, this looks good.

@bayandin bayandin self-requested a review June 5, 2024 20:43
test_runner/performance/neon_api.py Outdated Show resolved Hide resolved
test_runner/performance/test_physical_replication.py Outdated Show resolved Hide resolved
test_runner/performance/test_physical_replication.py Outdated Show resolved Hide resolved
test_runner/performance/test_physical_replication.py Outdated Show resolved Hide resolved
test_runner/performance/test_physical_replication.py Outdated Show resolved Hide resolved
@save-buffer save-buffer requested review from a team as code owners June 17, 2024 18:45
@save-buffer save-buffer removed the request for review from a team June 17, 2024 18:53
@bayandin bayandin requested a review from a-masterov July 1, 2024 14:11
@kelvich
Copy link
Contributor

kelvich commented Jul 1, 2024

@save-buffer is OOO for few days, so feel free to merge this

@tristan957
Copy link
Member

I'll take this over for Sasha while he is out.

@tristan957
Copy link
Member

I cleaned up the commit history, and I think got to all of the review comments. I also rebased on main. How can we test this to make sure I didn't screw it up touching everything up?

@bayandin

This comment was marked as outdated.

@bayandin bayandin force-pushed the tristan957/replication branch 3 times, most recently from 6dc04d0 to 9ced616 Compare July 3, 2024 22:18
@bayandin
Copy link
Member

bayandin commented Jul 3, 2024

Fixed bad merge, a couple of missed issues and retriggered it here: https://github.com/neondatabase/neon/actions/runs/9785504530/job/27018662789

UPD: the test run looks good!

@bayandin bayandin requested a review from a-masterov July 4, 2024 08:56
Copy link
Contributor

@a-masterov a-masterov left a comment

Choose a reason for hiding this comment

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

No problems found

@tristan957
Copy link
Member

Good work on this everybody!

@tristan957 tristan957 enabled auto-merge (rebase) July 5, 2024 18:07
tristan957 and others added 4 commits July 5, 2024 13:08
No need to import it if we aren't type checking anything.
This is a Python binding to the Neon HTTP API. It isn't complete, but
can be extended as necessary.

Co-authored-by: Sasha Krassovsky <sasha@neon.tech>
Useful for debugging situations like connecting to databases.

Co-authored-by: Sasha Krassovsky <sasha@neon.tech>
Allows a process to run without blocking program execution, which can be
useful for certain test scenarios.

Co-authored-by: Sasha Krassovsky <sasha@neon.tech>
@tristan957
Copy link
Member

Ugh. @bayandin I just overwrote your commits rebasing on main to get the conclusion job. Can you add them back when you get a chance. I am such an idiot.

@bayandin
Copy link
Member

bayandin commented Jul 5, 2024

Can you add them back when you get a chance

No problem! Will do tomorrow (I'm afk for the rest of the day)

@tristan957
Copy link
Member

Please enjoy your weekend :)

These tests will help verify that replication, both physical and
logical, works as expected in Neon.

Co-authored-by: Sasha Krassovsky <sasha@neon.tech>
@tristan957 tristan957 enabled auto-merge (rebase) July 8, 2024 14:30
@tristan957 tristan957 merged commit 1c57f6b into main Jul 8, 2024
69 checks passed
@tristan957 tristan957 deleted the tristan957/replication branch July 8, 2024 14:30
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.

6 participants