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

page_service: enable batching in Rust & Python Tests + Python benchmarks #9993

Merged

Conversation

problame
Copy link
Contributor

@problame problame commented Dec 3, 2024

This is the first step towards batching rollout.

Refs

- rollout neondatabase/cloud#20620
- task #9377
- uber-epic: #9376
@problame problame enabled auto-merge December 3, 2024 16:52
Copy link

github-actions bot commented Dec 3, 2024

7029 tests run: 6721 passed, 0 failed, 308 skipped (full report)


Flaky tests (5)

Postgres 17

Postgres 16

Postgres 14

Code coverage* (full report)

  • functions: 30.8% (8260 of 26844 functions)
  • lines: 47.8% (65160 of 136378 lines)

* collected from Rust tests only


The comment gets automatically updated with the latest test results
1c69a18 at 2024-12-04T00:06:05.717Z :recycle:

@problame problame added this pull request to the merge queue Dec 4, 2024
Merged via the queue into main with commit 8d93d02 Dec 4, 2024
82 checks passed
@problame problame deleted the problame/batching-enable-benchmarks-and-tests-forreal branch December 4, 2024 00:10
awarus pushed a commit that referenced this pull request Dec 5, 2024
…rks (#9993)

This is the first step towards batching rollout.

Refs

- rollout plan: neondatabase/cloud#20620
- task #9377
- uber-epic: #9376
github-merge-queue bot pushed a commit that referenced this pull request Jan 22, 2025
…10472)

## Problem

PR #9993 was supposed to enable `page_service_pipelining` by default for
all `NeonEnv`s, but this was ineffective in our CI environment.

Thus, CI Python-based tests and benchmarks, unless explicitly
configuring pipelining, were still using serial protocol handling.

## Analysis

The root cause was that in our CI environment,
`config.compatibility_neon_binpath` is always Truthy.
It's not in local environments, which is why this slipped through in
local testing.

Lesson: always add a log line ot pageserver startup and spot-check tests
to ensure the intended default is picked up.

## Summary of changes

Fix it. Since enough time has passed, the compatiblity snapshot contains
a recent enough software version so we don't need to worry about
`compatibility_neon_binpath` anymore.

## Future Work

The question how to add a new default except for compatibliity tests,
which is what the broken code was supposed to do, is still unsolved.

Slack discussion:
https://neondb.slack.com/archives/C059ZC138NR/p1737490501941309
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.

2 participants