From 0f520d79ab07e01ed33095fe744d1ee80414e1fe Mon Sep 17 00:00:00 2001 From: Erik Grinaker Date: Tue, 29 Apr 2025 15:54:37 +0200 Subject: [PATCH] pageserver: rename `data_api` to `page_api` --- Cargo.lock | 10 ++-- Cargo.toml | 2 +- pageserver/Cargo.toml | 2 +- pageserver/client_grpc/Cargo.toml | 2 +- pageserver/client_grpc/src/lib.rs | 8 +-- pageserver/{data_api => page_api}/Cargo.toml | 2 +- pageserver/{data_api => page_api}/build.rs | 0 .../proto/page_service.proto | 0 pageserver/{data_api => page_api}/src/lib.rs | 0 .../{data_api => page_api}/src/model.rs | 0 pageserver/pagebench/Cargo.toml | 2 +- pageserver/pagebench/src/cmd/basebackup.rs | 2 +- .../pagebench/src/cmd/getpage_latest_lsn.rs | 49 +++++-------------- pageserver/src/compute_service_grpc.rs | 8 +-- pgxn/neon/communicator/Cargo.toml | 2 +- .../neon/communicator/src/integrated_cache.rs | 2 +- pgxn/neon/communicator/src/neon_request.rs | 4 +- .../src/worker_process/main_loop.rs | 2 +- 18 files changed, 36 insertions(+), 61 deletions(-) rename pageserver/{data_api => page_api}/Cargo.toml (91%) rename pageserver/{data_api => page_api}/build.rs (100%) rename pageserver/{data_api => page_api}/proto/page_service.proto (100%) rename pageserver/{data_api => page_api}/src/lib.rs (100%) rename pageserver/{data_api => page_api}/src/model.rs (100%) diff --git a/Cargo.lock b/Cargo.lock index 01424856a5..718d20bab4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1353,7 +1353,7 @@ dependencies = [ "neonart", "nix 0.27.1", "pageserver_client_grpc", - "pageserver_data_api", + "pageserver_page_api", "prost 0.13.3", "thiserror 1.0.69", "tokio", @@ -4334,7 +4334,7 @@ dependencies = [ "pageserver_api", "pageserver_client", "pageserver_client_grpc", - "pageserver_data_api", + "pageserver_page_api", "rand 0.8.5", "reqwest", "serde", @@ -4412,7 +4412,7 @@ dependencies = [ "pageserver_api", "pageserver_client", "pageserver_compaction", - "pageserver_data_api", + "pageserver_page_api", "peekable", "pem", "pin-project-lite", @@ -4529,7 +4529,7 @@ dependencies = [ "bytes", "futures", "http 1.1.0", - "pageserver_data_api", + "pageserver_page_api", "thiserror 1.0.69", "tonic", "tracing", @@ -4559,7 +4559,7 @@ dependencies = [ ] [[package]] -name = "pageserver_data_api" +name = "pageserver_page_api" version = "0.1.0" dependencies = [ "prost 0.13.3", diff --git a/Cargo.toml b/Cargo.toml index ed0127a13b..c845f53d52 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -256,7 +256,7 @@ pageserver = { path = "./pageserver" } pageserver_api = { version = "0.1", path = "./libs/pageserver_api/" } pageserver_client = { path = "./pageserver/client" } pageserver_client_grpc = { path = "./pageserver/client_grpc" } -pageserver_data_api = { path = "./pageserver/data_api" } +pageserver_page_api = { path = "./pageserver/page_api" } pageserver_compaction = { version = "0.1", path = "./pageserver/compaction/" } postgres_backend = { version = "0.1", path = "./libs/postgres_backend/" } postgres_connection = { version = "0.1", path = "./libs/postgres_connection/" } diff --git a/pageserver/Cargo.toml b/pageserver/Cargo.toml index fbd577f3b7..125cf2e483 100644 --- a/pageserver/Cargo.toml +++ b/pageserver/Cargo.toml @@ -79,7 +79,7 @@ url.workspace = true walkdir.workspace = true metrics.workspace = true pageserver_api.workspace = true -pageserver_data_api.workspace = true +pageserver_page_api.workspace = true pageserver_client.workspace = true # for ResponseErrorMessageExt TOOD refactor that pageserver_compaction.workspace = true pem.workspace = true diff --git a/pageserver/client_grpc/Cargo.toml b/pageserver/client_grpc/Cargo.toml index 65c23840e1..98c90a2cfe 100644 --- a/pageserver/client_grpc/Cargo.toml +++ b/pageserver/client_grpc/Cargo.toml @@ -11,4 +11,4 @@ thiserror.workspace = true tonic.workspace = true tracing.workspace = true -pageserver_data_api.workspace = true +pageserver_page_api.workspace = true diff --git a/pageserver/client_grpc/src/lib.rs b/pageserver/client_grpc/src/lib.rs index 4d70241329..aeba354bc8 100644 --- a/pageserver/client_grpc/src/lib.rs +++ b/pageserver/client_grpc/src/lib.rs @@ -12,14 +12,14 @@ use thiserror::Error; use tonic::metadata::AsciiMetadataValue; use tonic::transport::Channel; -use pageserver_data_api::model::*; -use pageserver_data_api::proto; +use pageserver_page_api::model::*; +use pageserver_page_api::proto; type Shardno = u16; -use pageserver_data_api::client::PageServiceClient; +use pageserver_page_api::client::PageServiceClient; -type MyPageServiceClient = pageserver_data_api::client::PageServiceClient< +type MyPageServiceClient = pageserver_page_api::client::PageServiceClient< tonic::service::interceptor::InterceptedService, >; diff --git a/pageserver/data_api/Cargo.toml b/pageserver/page_api/Cargo.toml similarity index 91% rename from pageserver/data_api/Cargo.toml rename to pageserver/page_api/Cargo.toml index 895f6fb2b7..0d4652281e 100644 --- a/pageserver/data_api/Cargo.toml +++ b/pageserver/page_api/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "pageserver_data_api" +name = "pageserver_page_api" version = "0.1.0" edition = "2024" diff --git a/pageserver/data_api/build.rs b/pageserver/page_api/build.rs similarity index 100% rename from pageserver/data_api/build.rs rename to pageserver/page_api/build.rs diff --git a/pageserver/data_api/proto/page_service.proto b/pageserver/page_api/proto/page_service.proto similarity index 100% rename from pageserver/data_api/proto/page_service.proto rename to pageserver/page_api/proto/page_service.proto diff --git a/pageserver/data_api/src/lib.rs b/pageserver/page_api/src/lib.rs similarity index 100% rename from pageserver/data_api/src/lib.rs rename to pageserver/page_api/src/lib.rs diff --git a/pageserver/data_api/src/model.rs b/pageserver/page_api/src/model.rs similarity index 100% rename from pageserver/data_api/src/model.rs rename to pageserver/page_api/src/model.rs diff --git a/pageserver/pagebench/Cargo.toml b/pageserver/pagebench/Cargo.toml index ed4b630d95..629248f062 100644 --- a/pageserver/pagebench/Cargo.toml +++ b/pageserver/pagebench/Cargo.toml @@ -25,7 +25,7 @@ tokio-util.workspace = true pageserver_client.workspace = true pageserver_client_grpc.workspace = true -pageserver_data_api.workspace = true +pageserver_page_api.workspace = true pageserver_api.workspace = true utils = { path = "../../libs/utils/" } workspace_hack = { version = "0.1", path = "../../workspace_hack" } diff --git a/pageserver/pagebench/src/cmd/basebackup.rs b/pageserver/pagebench/src/cmd/basebackup.rs index 00e4c69430..a24501a0dc 100644 --- a/pageserver/pagebench/src/cmd/basebackup.rs +++ b/pageserver/pagebench/src/cmd/basebackup.rs @@ -9,7 +9,7 @@ use anyhow::Context; use pageserver_api::shard::TenantShardId; use pageserver_client::mgmt_api::ForceAwaitLogicalSize; use pageserver_client::page_service::BasebackupRequest; -use pageserver_data_api::model::{GetBaseBackupRequest, RequestCommon}; +use pageserver_page_api::model::{GetBaseBackupRequest, RequestCommon}; use rand::prelude::*; use tokio::sync::Barrier; diff --git a/pageserver/pagebench/src/cmd/getpage_latest_lsn.rs b/pageserver/pagebench/src/cmd/getpage_latest_lsn.rs index 08f4f4ef83..a3b660e688 100644 --- a/pageserver/pagebench/src/cmd/getpage_latest_lsn.rs +++ b/pageserver/pagebench/src/cmd/getpage_latest_lsn.rs @@ -302,38 +302,11 @@ async fn main_impl( Box::pin(async move { if args.grpc_stream { - client_grpc_stream( - args, - worker_id, - ss, - cancel, - rps_period, - ranges, - weights, - ) - .await + client_grpc_stream(args, worker_id, ss, cancel, rps_period, ranges, weights).await } else if args.grpc { - client_grpc( - args, - worker_id, - ss, - cancel, - rps_period, - ranges, - weights, - ) - .await + client_grpc(args, worker_id, ss, cancel, rps_period, ranges, weights).await } else { - client_libpq( - args, - worker_id, - ss, - cancel, - rps_period, - ranges, - weights, - ) - .await + client_libpq(args, worker_id, ss, cancel, rps_period, ranges, weights).await } }) }; @@ -522,8 +495,8 @@ async fn client_grpc( let (rel_tag, block_no) = key .to_rel_block() .expect("we filter non-rel-block keys out above"); - pageserver_data_api::model::GetPageRequest { - common: pageserver_data_api::model::RequestCommon { + pageserver_page_api::model::GetPageRequest { + common: pageserver_page_api::model::RequestCommon { request_lsn: if rng.gen_bool(args.req_latest_probability) { Lsn::MAX } else { @@ -531,7 +504,7 @@ async fn client_grpc( }, not_modified_since_lsn: r.timeline_lsn, }, - rel: pageserver_data_api::model::RelTag { + rel: pageserver_page_api::model::RelTag { spc_oid: rel_tag.spcnode, db_oid: rel_tag.dbnode, rel_number: rel_tag.relnode, @@ -605,7 +578,9 @@ async fn client_grpc_stream( usize::try_from(client_start.elapsed().as_micros() / period.as_micros()).unwrap(); if periods_passed_until_now > ticks_processed { - shared_state.live_stats.missed((periods_passed_until_now - ticks_processed) as u64); + shared_state + .live_stats + .missed((periods_passed_until_now - ticks_processed) as u64); } ticks_processed = periods_passed_until_now; } @@ -622,8 +597,8 @@ async fn client_grpc_stream( let (rel_tag, block_no) = key .to_rel_block() .expect("we filter non-rel-block keys out above"); - pageserver_data_api::model::GetPageRequest { - common: pageserver_data_api::model::RequestCommon { + pageserver_page_api::model::GetPageRequest { + common: pageserver_page_api::model::RequestCommon { request_lsn: if rng.gen_bool(args.req_latest_probability) { Lsn::MAX } else { @@ -631,7 +606,7 @@ async fn client_grpc_stream( }, not_modified_since_lsn: r.timeline_lsn, }, - rel: pageserver_data_api::model::RelTag { + rel: pageserver_page_api::model::RelTag { spc_oid: rel_tag.spcnode, db_oid: rel_tag.dbnode, rel_number: rel_tag.relnode, diff --git a/pageserver/src/compute_service_grpc.rs b/pageserver/src/compute_service_grpc.rs index 5c5dc109f9..76e4289c84 100644 --- a/pageserver/src/compute_service_grpc.rs +++ b/pageserver/src/compute_service_grpc.rs @@ -40,9 +40,9 @@ use tokio_util::sync::CancellationToken; use futures::stream::StreamExt; -use pageserver_data_api::model; -use pageserver_data_api::proto::page_service_server::PageService; -use pageserver_data_api::proto::page_service_server::PageServiceServer; +use pageserver_page_api::model; +use pageserver_page_api::proto::page_service_server::PageService; +use pageserver_page_api::proto::page_service_server::PageServiceServer; use anyhow::Context; use bytes::BytesMut; @@ -71,7 +71,7 @@ use postgres_ffi::pg_constants::DEFAULTTABLESPACE_OID; use postgres_backend::AuthType; -pub use pageserver_data_api::proto; +pub use pageserver_page_api::proto; pub(super) fn launch_compute_service_grpc_server( tcp_connections_rx: tokio::sync::mpsc::Receiver>, diff --git a/pgxn/neon/communicator/Cargo.toml b/pgxn/neon/communicator/Cargo.toml index e8d12024e1..f5b0bde27f 100644 --- a/pgxn/neon/communicator/Cargo.toml +++ b/pgxn/neon/communicator/Cargo.toml @@ -26,7 +26,7 @@ tokio-epoll-uring.workspace = true uring-common.workspace = true pageserver_client_grpc.workspace = true -pageserver_data_api.workspace = true +pageserver_page_api.workspace = true neonart.workspace = true utils.workspace = true diff --git a/pgxn/neon/communicator/src/integrated_cache.rs b/pgxn/neon/communicator/src/integrated_cache.rs index f290db7ba3..9da3f77315 100644 --- a/pgxn/neon/communicator/src/integrated_cache.rs +++ b/pgxn/neon/communicator/src/integrated_cache.rs @@ -14,7 +14,7 @@ use utils::lsn::Lsn; use crate::file_cache::{CacheBlock, FileCache}; -use pageserver_data_api::model::RelTag; +use pageserver_page_api::model::RelTag; use neonart; use neonart::TreeInitStruct; diff --git a/pgxn/neon/communicator/src/neon_request.rs b/pgxn/neon/communicator/src/neon_request.rs index 0c1293e663..c90876347f 100644 --- a/pgxn/neon/communicator/src/neon_request.rs +++ b/pgxn/neon/communicator/src/neon_request.rs @@ -4,7 +4,7 @@ type COid = u32; // This conveniently matches PG_IOV_MAX pub const MAX_GETPAGEV_PAGES: usize = 32; -use pageserver_data_api::model; +use pageserver_page_api::model; #[repr(C)] #[derive(Copy, Clone, Debug)] @@ -12,7 +12,7 @@ pub enum NeonIORequest { Empty, // Read requests. These are C-friendly variants of the corresponding structs in - // pageserver_data_api::model. + // pageserver_page_api::model. RelExists(CRelExistsRequest), RelSize(CRelSizeRequest), GetPageV(CGetPageVRequest), diff --git a/pgxn/neon/communicator/src/worker_process/main_loop.rs b/pgxn/neon/communicator/src/worker_process/main_loop.rs index 284bf25376..941c179d83 100644 --- a/pgxn/neon/communicator/src/worker_process/main_loop.rs +++ b/pgxn/neon/communicator/src/worker_process/main_loop.rs @@ -8,7 +8,7 @@ use crate::integrated_cache::{CacheResult, IntegratedCacheWriteAccess}; use crate::neon_request::{CGetPageVRequest, CPrefetchVRequest}; use crate::neon_request::{NeonIORequest, NeonIOResult}; use pageserver_client_grpc::PageserverClient; -use pageserver_data_api::model; +use pageserver_page_api::model; use tokio::io::AsyncReadExt; use tokio_epoll_uring::IoBuf;