mirror of
https://github.com/neondatabase/neon.git
synced 2026-01-08 05:52:55 +00:00
## Problem The TenantShardId in API URLs is sufficient to uniquely identify a tenant shard, but not for it to function: it also needs to know its full sharding configuration (stripe size, layout version) in order to map keys to shards. ## Summary of changes - Introduce ShardIdentity: this is the superset of ShardIndex (#5924 ) that is required for translating keys to shard numbers. - Include ShardIdentity as an optional attribute of LocationConf - Extend the public `LocationConfig` API structure with a flat representation of shard attributes. The net result is that at the point we construct a `Tenant`, we have a `ShardIdentity` (inside LocationConf). This enables the next steps to actually use the ShardIdentity to split WAL and validate that page service requires are reaching the correct shard.
27 lines
559 B
TOML
27 lines
559 B
TOML
[package]
|
|
name = "pageserver_api"
|
|
version = "0.1.0"
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
|
|
[dependencies]
|
|
serde.workspace = true
|
|
serde_with.workspace = true
|
|
serde_json.workspace = true
|
|
const_format.workspace = true
|
|
anyhow.workspace = true
|
|
bytes.workspace = true
|
|
byteorder.workspace = true
|
|
utils.workspace = true
|
|
postgres_ffi.workspace = true
|
|
enum-map.workspace = true
|
|
strum.workspace = true
|
|
strum_macros.workspace = true
|
|
hex.workspace = true
|
|
thiserror.workspace = true
|
|
|
|
workspace_hack.workspace = true
|
|
|
|
[dev-dependencies]
|
|
bincode.workspace = true
|