Files
neon/pgxn/neon
Tristan Partin b623fbae0c Cancel PG query if stuck at refreshing configuration (#12717)
## Problem

While configuring or reconfiguring PG due to PageServer movements, it's
possible PG may get stuck if PageServer is moved around after fetching
the spec from StorageController.

## Summary of changes

To fix this issue, this PR introduces two changes:
1. Fail the PG query directly if the query cannot request configuration
for certain number of times.
2. Introduce a new state `RefreshConfiguration` in compute tools to
differentiate it from `RefreshConfigurationPending`. If compute tool is
already in `RefreshConfiguration` state, then it will not accept new
request configuration requests.

## How is this tested?
Chaos testing.

Co-authored-by: Chen Luo <chen.luo@databricks.com>
2025-07-25 00:01:59 +00:00
..
2025-06-05 11:27:14 +00:00
2025-06-05 11:27:14 +00:00
2025-04-29 06:44:28 +00:00
2023-11-23 18:53:03 +00:00
2025-06-05 11:27:14 +00:00

neon extension consists of several parts:

shared preload library neon.so

  • implements storage manager API and network communications with remote page server.

  • walproposer: implements broadcast protocol between postgres and WAL safekeepers.

  • control plane connector: Captures updates to roles/databases using ProcessUtility_hook and sends them to the control ProcessUtility_hook.

  • remote extension server: Request compute_ctl to download extension files.

  • file_cache: Local file cache is used to temporary store relations pages in local file system for better performance.

  • relsize_cache: Relation size cache for better neon performance.

SQL functions in neon--*.sql

Utility functions to expose neon specific information to user and metrics collection. This extension is created in all databases in the cluster by default.