mirror of
https://github.com/neondatabase/neon.git
synced 2026-01-06 13:02:55 +00:00
## Problem The storage controller treats durations in the tenant config as strings. These are loaded from the db. The pageserver maps these durations to a seconds only format and we always get a mismatch compared to what's in the db. ## Summary of changes Treat durations as durations inside the storage controller and not as strings. Nothing changes in the cross service API's themselves or the way things are stored in the db. I also added some logging which I would have made the investigation a 10min job: 1. Reason for why the reconciliation was spawned 2. Location config diff between the observed and wanted states
67 lines
1.7 KiB
TOML
67 lines
1.7 KiB
TOML
[package]
|
|
name = "storage_controller"
|
|
version = "0.1.0"
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
|
|
[[bin]]
|
|
name = "storage_controller"
|
|
path = "src/main.rs"
|
|
|
|
[features]
|
|
default = []
|
|
# Enables test-only APIs and behaviors
|
|
testing = []
|
|
|
|
[dependencies]
|
|
anyhow.workspace = true
|
|
bytes.workspace = true
|
|
chrono.workspace = true
|
|
clap.workspace = true
|
|
fail.workspace = true
|
|
futures.workspace = true
|
|
hex.workspace = true
|
|
hyper0.workspace = true
|
|
humantime.workspace = true
|
|
itertools.workspace = true
|
|
json-structural-diff.workspace = true
|
|
lasso.workspace = true
|
|
once_cell.workspace = true
|
|
pageserver_api.workspace = true
|
|
pageserver_client.workspace = true
|
|
postgres_connection.workspace = true
|
|
rand.workspace = true
|
|
reqwest = { workspace = true, features = ["stream"] }
|
|
routerify.workspace = true
|
|
safekeeper_api.workspace = true
|
|
safekeeper_client.workspace = true
|
|
tikv-jemallocator.workspace = true
|
|
regex.workspace = true
|
|
rustls-native-certs.workspace = true
|
|
serde.workspace = true
|
|
serde_json.workspace = true
|
|
thiserror.workspace = true
|
|
tokio.workspace = true
|
|
tokio-util.workspace = true
|
|
tracing.workspace = true
|
|
measured.workspace = true
|
|
rustls.workspace = true
|
|
scopeguard.workspace = true
|
|
strum.workspace = true
|
|
strum_macros.workspace = true
|
|
tokio-postgres.workspace = true
|
|
tokio-postgres-rustls.workspace = true
|
|
|
|
diesel = { version = "2.2.6", features = [
|
|
"serde_json",
|
|
"chrono",
|
|
] }
|
|
diesel-async = { version = "0.5.2", features = ["postgres", "bb8", "async-connection-wrapper"] }
|
|
diesel_migrations = { version = "2.2.0" }
|
|
scoped-futures = "0.1.4"
|
|
|
|
http-utils = { path = "../libs/http-utils/" }
|
|
utils = { path = "../libs/utils/" }
|
|
metrics = { path = "../libs/metrics/" }
|
|
control_plane = { path = "../control_plane" }
|
|
workspace_hack = { version = "0.1", path = "../workspace_hack" } |