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

proxy: reintroduce dynamic limiter for compute lock #7737

Merged
merged 5 commits into from
May 29, 2024

Conversation

conradludgate
Copy link
Contributor

@conradludgate conradludgate commented May 13, 2024

Problem

Computes that are healthy can manage many connection attempts at a time. Unhealthy computes cannot. We initially handled this with a fixed concurrency limit, but it seems this inhibits pgbench.

Summary of changes

Support AIMD for connect_to_compute lock to allow varying the concurrency limit based on compute health

Checklist before requesting a review

  • I have performed a self-review of my code.
  • If it is a core feature, I have added thorough tests.
  • Do we need to implement analytics? if so did you add the relevant metrics to the dashboard?
  • If this PR requires public announcement, mark it with /release-notes label and add several sentences in this section.

Checklist before merging

  • Do not forget to reformat commit message to not include the above checklist

@conradludgate
Copy link
Contributor Author

I took our original AIMD impl but rewrote it considerably to be simpler. It should still work the same

Copy link

github-actions bot commented May 13, 2024

3168 tests run: 3034 passed, 1 failed, 133 skipped (full report)


Failures on Postgres 15

  • test_sharding_split_failures[failure19]: debug
# Run all failed tests locally:
scripts/pytest -vv -n $(nproc) -k "test_sharding_split_failures[debug-pg15-failure19]"
Flaky tests (2)

Postgres 15

  • test_vm_bit_clear_on_heap_lock: debug

Postgres 14

  • test_pageserver_restarts_under_worload: release

Code coverage* (full report)

  • functions: 31.4% (6490 of 20663 functions)
  • lines: 48.4% (50217 of 103724 lines)

* collected from Rust tests only


The comment gets automatically updated with the latest test results
e4d62ca at 2024-05-29T09:00:16.286Z :recycle:

@conradludgate conradludgate marked this pull request as ready for review May 28, 2024 16:19
@conradludgate conradludgate requested a review from a team as a code owner May 28, 2024 16:19
@conradludgate
Copy link
Contributor Author

Tested it in staging, seems to work fine. Will follow up with a PR to change the defaults in staging as appropriate

@conradludgate conradludgate merged commit c8cebec into main May 29, 2024
66 checks passed
@conradludgate conradludgate deleted the proxy-connect-lock-aimd branch May 29, 2024 10:17
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.

None yet

2 participants