Refactor SLRU download interface between Postgres and the neon extension#12799
Refactor SLRU download interface between Postgres and the neon extension#12799
Conversation
Move the responsibility of writing the SLRU segment contents to the neon extension. The neon extension hook now downloads the file and places it to the correct path, and returns a true/false to the caller to indicate if the file existed. On successful download, the caller retries opening the file.
|
If this PR added a GUC in the Postgres fork or If you're an external contributor, a Neon employee will assist in |
|
This is in preparation for the new communicator implementation. That implementation will write the downloaded segment directly to the file, rather than a palloc'd buffer. This refactors the API to be like that even with the current communicator implementation, to keep minimize the differences between the two. (The current implementation was slightly broken with the new communicator: SimpleLruDownloadSegment did |
9119 tests run: 8465 passed, 0 failed, 654 skipped (full report)Code coverage* (full report)
* collected from Rust tests only The comment gets automatically updated with the latest test results
1d59754 at 2025-07-31T16:35:36.670Z :recycle: |
|
Hello, The PR needs to merge quickly or else compile failed when use newest REL_14_STABLE_neon, |
Move the responsibility of writing the SLRU segment contents to the neon extension. The neon extension hook now downloads the file and places it to the correct path, and returns a true/false to the caller to indicate if the file existed. On successful download, the caller retries opening the file.
Corresponding Postgres PRs: