Skip to content

Commit

Permalink
tests: allow list breaching min resident size in statvfs test (#8358)
Browse files Browse the repository at this point in the history
## Problem
This test would sometimes violate the min resident size during disk
eviction and fail due to the generate warning log.

Disk usage candidate collection only takes into account active tenants.
However, the statvfs call takes into account the entire tenants
directory, which includes tenants which haven't become active yet.

After re-starting the pageserver, disk usage eviction may kick in
*before* both tenants have become active. Hence, the logic will try to satisfy
thedisk usage requirements by evicting everything belonging to the active
tenant, and hence violating the tenant minimum resident size.

## Summary of changes

Allow the warning
  • Loading branch information
VladLazar authored Jul 12, 2024
1 parent 4184685 commit b329b1c
Showing 1 changed file with 10 additions and 0 deletions.
10 changes: 10 additions & 0 deletions test_runner/regress/test_disk_usage_eviction.py
Original file line number Diff line number Diff line change
Expand Up @@ -794,6 +794,16 @@ def less_than_max_usage_pct():

wait_until(2, 2, less_than_max_usage_pct)

# Disk usage candidate collection only takes into account active tenants.
# However, the statvfs call takes into account the entire tenants directory,
# which includes tenants which haven't become active yet.
#
# After re-starting the pageserver, disk usage eviction may kick in *before*
# both tenants have become active. Hence, the logic will try to satisfy the
# disk usage requirements by evicting everything belonging to the active tenant,
# and hence violating the tenant minimum resident size.
env.neon_env.pageserver.allowed_errors.append(".*" + GLOBAL_LRU_LOG_LINE)


def test_statvfs_pressure_min_avail_bytes(eviction_env: EvictionEnv):
"""
Expand Down

1 comment on commit b329b1c

@github-actions
Copy link

Choose a reason for hiding this comment

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

3141 tests run: 3011 passed, 3 failed, 127 skipped (full report)


Failures on Postgres 14

  • test_storage_controller_many_tenants[github-actions-selfhosted]: release
  • test_basebackup_with_high_slru_count[github-actions-selfhosted-sequential-10-13-30]: release
  • test_basebackup_with_high_slru_count[github-actions-selfhosted-vectored-10-13-30]: release
# Run all failed tests locally:
scripts/pytest -vv -n $(nproc) -k "test_storage_controller_many_tenants[release-pg14-github-actions-selfhosted] or test_basebackup_with_high_slru_count[release-pg14-github-actions-selfhosted-sequential-10-13-30] or test_basebackup_with_high_slru_count[release-pg14-github-actions-selfhosted-vectored-10-13-30]"
Flaky tests (2)

Postgres 16

Postgres 14

  • test_tenant_creation_fails: debug

Code coverage* (full report)

  • functions: 32.7% (6982 of 21338 functions)
  • lines: 50.1% (54984 of 109719 lines)

* collected from Rust tests only


The comment gets automatically updated with the latest test results
b329b1c at 2024-07-12T17:57:53.450Z :recycle:

Please sign in to comment.