mirror of
https://github.com/neondatabase/neon.git
synced 2026-05-25 09:00:37 +00:00
## Problem When investigating test failures (https://github.com/neondatabase/neon/issues/6813) I noticed we were doing a bunch of Reconciler runs right after splitting a tenant. It's because the splitting test does a pageserver restart, and there was a bug in /re-attach handling, where we would update the generation correctly in the database and intent state, but not observed state, thereby triggering a reconciliation on the next call to maybe_reconcile. This didn't break anything profound (underlying rules about generations were respected), but caused the storage controller to do an un-needed extra round of bumping the generation and reconciling. ## Summary of changes - Start adding metrics to the storage controller - Assert on the number of reconciles done in test_sharding_split_smoke - Fix /re-attach to update `observed` such that we don't spuriously re-reconcile tenants.
42 lines
1.0 KiB
TOML
42 lines
1.0 KiB
TOML
[package]
|
|
name = "attachment_service"
|
|
version = "0.1.0"
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
|
|
[features]
|
|
default = []
|
|
# Enables test-only APIs and behaviors
|
|
testing = []
|
|
|
|
[dependencies]
|
|
anyhow.workspace = true
|
|
aws-config.workspace = true
|
|
aws-sdk-secretsmanager.workspace = true
|
|
camino.workspace = true
|
|
clap.workspace = true
|
|
futures.workspace = true
|
|
git-version.workspace = true
|
|
hyper.workspace = true
|
|
once_cell.workspace = true
|
|
pageserver_api.workspace = true
|
|
pageserver_client.workspace = true
|
|
postgres_connection.workspace = true
|
|
reqwest.workspace = true
|
|
serde.workspace = true
|
|
serde_json.workspace = true
|
|
thiserror.workspace = true
|
|
tokio.workspace = true
|
|
tokio-util.workspace = true
|
|
tracing.workspace = true
|
|
|
|
diesel = { version = "2.1.4", features = ["serde_json", "postgres", "r2d2"] }
|
|
diesel_migrations = { version = "2.1.0" }
|
|
r2d2 = { version = "0.8.10" }
|
|
|
|
utils = { path = "../../libs/utils/" }
|
|
metrics = { path = "../../libs/metrics/" }
|
|
control_plane = { path = ".." }
|
|
workspace_hack = { version = "0.1", path = "../../workspace_hack" }
|
|
|