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

tests: flush in test_isolation #10658

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open

tests: flush in test_isolation #10658

wants to merge 2 commits into from

Conversation

jcsp
Copy link
Collaborator

@jcsp jcsp commented Feb 4, 2025

Problem

This test occasionally fails while the test teardown tries to do a graceful shutdown, because the test has quickly written lots of data into the pageserver.

Closes: #10654

Summary of changes

  • Call post_checks at the end of test_isolation, as we already do for test_pg_regress -- this improves our detection of issues, and as a nice side effect flushes the pageserver.
  • Extend the list of pgdata files we will tolerate being different in check_restored_datadir_content. I am optimistically presuming that these differences (present in test_isolation) are okay, as as far as we know there's nothing critically broken here, but will get expert review.

@@ -104,7 +104,12 @@ def post_checks(env: NeonEnv, test_output_dir: Path, db_name: str, endpoint: End
if env.pg_version <= PgVersion.V15 and r[0] == "i":
unlogged_relation_files.append(f"{r[1]}_init")

ignored_files = unlogged_relation_files
ignored_files = unlogged_relation_files + [
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

@hlinnaka could you please think about whether it's expected that we see these files differ (by being absent) when doing a check_restored_datadir_content after test_isolation? These differences don't exist after a normal run of pg_regress, but I presume that's because they're just not being "touched" in test_isolation?

(I only have a vague grasp of what's going on inside these postgres suites)

Copy link

github-actions bot commented Feb 4, 2025

7414 tests run: 7061 passed, 0 failed, 353 skipped (full report)


Flaky tests (2)

Postgres 17

Postgres 14

Code coverage* (full report)

  • functions: 33.2% (8576 of 25805 functions)
  • lines: 49.0% (72128 of 147055 lines)

* collected from Rust tests only


The comment gets automatically updated with the latest test results
eff5aff at 2025-02-05T17:56:08.753Z :recycle:

@jcsp jcsp force-pushed the jcsp/issue-10654-tests branch from a523187 to f21fc65 Compare February 5, 2025 14:38
@jcsp jcsp marked this pull request as ready for review February 5, 2025 14:46
test_runner/regress/test_pg_regress.py Outdated Show resolved Hide resolved
test_runner/regress/test_pg_regress.py Outdated Show resolved Hide resolved
test_runner/regress/test_pg_regress.py Outdated Show resolved Hide resolved
@jcsp jcsp force-pushed the jcsp/issue-10654-tests branch from f21fc65 to 5407174 Compare February 5, 2025 15:27
@jcsp jcsp force-pushed the jcsp/issue-10654-tests branch from 5407174 to eff5aff Compare February 5, 2025 16:56
@jcsp jcsp requested a review from hlinnaka February 6, 2025 12:54
Comment on lines +4970 to +4971
filename.startswith("pg_xact")
or filename.startswith("pg_multixact")
Copy link
Contributor

Choose a reason for hiding this comment

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

Hmm. If a pg_xact or pg_multixact file is downloaded on-demand, then it might be missing from the running postgres cluster, but present in the pageserver. But how can it really happen the other way 'round? How can you have a file in the running postgres instance that's not present in the pageserver?

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.

Flush at end of test_isolation
2 participants