diff options
author | Florian Klink <flokli@flokli.de> | 2024-11-09T13·16+0000 |
---|---|---|
committer | flokli <flokli@flokli.de> | 2024-11-11T18·46+0000 |
commit | d505f03e005b87d315694a22a75c11205266ba7d (patch) | |
tree | 67efb1d5d1756e7dce67f95b877a92bd5004bc7e | |
parent | 8df919dcf04b5c2502f3a63b4d013669da5e70c1 (diff) |
refactor(tvix/store/composition): rename 'default' to 'root' r/8899
This becomes the root of the composition. `default` implies we can directly access anything else, which we cannot. `root` makes this more understandable, and it's all internal only anyways. Change-Id: I297511bc05a7c32c59510b9d192b40d1bd937b5f Reviewed-on: https://cl.tvl.fyi/c/depot/+/12746 Reviewed-by: yuka <yuka@yuka.dev> Tested-by: BuildkiteCI
-rw-r--r-- | tvix/castore/src/blobservice/grpc.rs | 2 | ||||
-rw-r--r-- | tvix/castore/src/blobservice/tests/utils.rs | 2 | ||||
-rw-r--r-- | tvix/castore/src/composition.rs | 22 | ||||
-rw-r--r-- | tvix/castore/src/directoryservice/object_store.rs | 2 | ||||
-rw-r--r-- | tvix/castore/src/directoryservice/redb.rs | 2 | ||||
-rw-r--r-- | tvix/castore/src/directoryservice/tests/utils.rs | 2 | ||||
-rw-r--r-- | tvix/store/src/pathinfoservice/from_addr.rs | 4 | ||||
-rw-r--r-- | tvix/store/src/pathinfoservice/nix_http.rs | 4 | ||||
-rw-r--r-- | tvix/store/src/utils.rs | 12 |
9 files changed, 26 insertions, 26 deletions
diff --git a/tvix/castore/src/blobservice/grpc.rs b/tvix/castore/src/blobservice/grpc.rs index 3453657d07ab..9f3efbe6763d 100644 --- a/tvix/castore/src/blobservice/grpc.rs +++ b/tvix/castore/src/blobservice/grpc.rs @@ -385,7 +385,7 @@ mod tests { .await .expect("must succeed"), ); - GRPCBlobService::from_client("default".into(), client) + GRPCBlobService::from_client("root".into(), client) }; let has = grpc_client diff --git a/tvix/castore/src/blobservice/tests/utils.rs b/tvix/castore/src/blobservice/tests/utils.rs index 7032d633dad0..c7e41d965504 100644 --- a/tvix/castore/src/blobservice/tests/utils.rs +++ b/tvix/castore/src/blobservice/tests/utils.rs @@ -30,7 +30,7 @@ pub async fn make_grpc_blob_service_client() -> Box<dyn BlobService> { let mut maybe_right = Some(right); Box::new(GRPCBlobService::from_client( - "default".into(), + "root".into(), BlobServiceClient::new( Endpoint::try_from("http://[::]:50051") .unwrap() diff --git a/tvix/castore/src/composition.rs b/tvix/castore/src/composition.rs index b251187e1c34..c6fa1ce64ac4 100644 --- a/tvix/castore/src/composition.rs +++ b/tvix/castore/src/composition.rs @@ -62,7 +62,7 @@ //! "blobstore2": { //! "type": "memory" //! }, -//! "default": { +//! "root": { //! "type": "combined", //! "local": "blobstore1", //! "remote": "blobstore2" @@ -72,7 +72,7 @@ //! let blob_services_configs = with_registry(®, || serde_json::from_value(blob_services_configs_json))?; //! let mut blob_service_composition = Composition::new(®); //! blob_service_composition.extend_with_configs::<dyn BlobService>(blob_services_configs); -//! let blob_service: Arc<dyn BlobService> = blob_service_composition.build("default").await?; +//! let blob_service: Arc<dyn BlobService> = blob_service_composition.build("root").await?; //! # Ok(()) //! # }) //! # } @@ -281,7 +281,7 @@ pub fn add_default_services(reg: &mut Registry) { pub struct CompositionContext<'a> { // The stack used to detect recursive instantiations and prevent deadlocks // The TypeId of the trait object is included to distinguish e.g. the - // BlobService "default" and the DirectoryService "default". + // BlobService "root" and the DirectoryService "root". stack: Vec<(TypeId, String)>, registry: &'static Registry, composition: Option<&'a Composition>, @@ -529,7 +529,7 @@ mod test { #[tokio::test] async fn concurrent() { let blob_services_configs_json = serde_json::json!({ - "default": { + "root": { "type": "memory", } }); @@ -539,8 +539,8 @@ mod test { let mut blob_service_composition = Composition::new(®); blob_service_composition.extend_with_configs::<dyn BlobService>(blob_services_configs); let (blob_service1, blob_service2) = tokio::join!( - blob_service_composition.build::<dyn BlobService>("default"), - blob_service_composition.build::<dyn BlobService>("default") + blob_service_composition.build::<dyn BlobService>("root"), + blob_service_composition.build::<dyn BlobService>("root") ); assert!(Arc::ptr_eq( &blob_service1.unwrap(), @@ -552,15 +552,15 @@ mod test { #[tokio::test] async fn reject_recursion() { let blob_services_configs_json = serde_json::json!({ - "default": { + "root": { "type": "combined", "local": "other", "remote": "other" }, "other": { "type": "combined", - "local": "default", - "remote": "default" + "local": "root", + "remote": "root" } }); @@ -569,11 +569,11 @@ mod test { let mut blob_service_composition = Composition::new(®); blob_service_composition.extend_with_configs::<dyn BlobService>(blob_services_configs); match blob_service_composition - .build::<dyn BlobService>("default") + .build::<dyn BlobService>("root") .await { Err(CompositionError::Recursion(stack)) => { - assert_eq!(stack, vec!["default".to_string(), "other".to_string()]) + assert_eq!(stack, vec!["root".to_string(), "other".to_string()]) } other => panic!("should have returned an error, returned: {:?}", other.err()), } diff --git a/tvix/castore/src/directoryservice/object_store.rs b/tvix/castore/src/directoryservice/object_store.rs index 77578ec92f02..1916e59eacaa 100644 --- a/tvix/castore/src/directoryservice/object_store.rs +++ b/tvix/castore/src/directoryservice/object_store.rs @@ -64,7 +64,7 @@ impl ObjectStoreDirectoryService { let (object_store, path) = object_store::parse_url_opts(url, options)?; Ok(Self { - instance_name: "default".into(), + instance_name: "root".into(), object_store: Arc::new(object_store), base_path: path, }) diff --git a/tvix/castore/src/directoryservice/redb.rs b/tvix/castore/src/directoryservice/redb.rs index ba1fb682d5da..246d64173f10 100644 --- a/tvix/castore/src/directoryservice/redb.rs +++ b/tvix/castore/src/directoryservice/redb.rs @@ -56,7 +56,7 @@ impl RedbDirectoryService { create_schema(&db)?; Ok(Self { - instance_name: "default".into(), + instance_name: "root".into(), db: Arc::new(db), }) } diff --git a/tvix/castore/src/directoryservice/tests/utils.rs b/tvix/castore/src/directoryservice/tests/utils.rs index 1c5d68de0108..f2aefa32b3cc 100644 --- a/tvix/castore/src/directoryservice/tests/utils.rs +++ b/tvix/castore/src/directoryservice/tests/utils.rs @@ -33,7 +33,7 @@ pub async fn make_grpc_directory_service_client() -> Box<dyn DirectoryService> { // Create a client, connecting to the right side. The URI is unused. let mut maybe_right = Some(right); Box::new(GRPCDirectoryService::from_client( - "default".into(), + "root".into(), DirectoryServiceClient::new( Endpoint::try_from("http://[::]:50051") .unwrap() diff --git a/tvix/store/src/pathinfoservice/from_addr.rs b/tvix/store/src/pathinfoservice/from_addr.rs index 683457345c6c..2f5c776293cb 100644 --- a/tvix/store/src/pathinfoservice/from_addr.rs +++ b/tvix/store/src/pathinfoservice/from_addr.rs @@ -128,12 +128,12 @@ mod tests { async fn test_from_addr_tokio(#[case] uri_str: &str, #[case] exp_succeed: bool) { let mut comp = Composition::new(®); comp.extend(vec![( - "default".into(), + "root".into(), DeserializeWithRegistry(Box::new(MemoryBlobServiceConfig {}) as Box<dyn ServiceBuilder<Output = dyn BlobService>>), )]); comp.extend(vec![( - "default".into(), + "root".into(), DeserializeWithRegistry(Box::new(MemoryDirectoryServiceConfig {}) as Box<dyn ServiceBuilder<Output = dyn DirectoryService>>), )]); diff --git a/tvix/store/src/pathinfoservice/nix_http.rs b/tvix/store/src/pathinfoservice/nix_http.rs index 6b8960b75c33..af7580b1c61f 100644 --- a/tvix/store/src/pathinfoservice/nix_http.rs +++ b/tvix/store/src/pathinfoservice/nix_http.rs @@ -296,13 +296,13 @@ impl TryFrom<Url> for NixHTTPPathInfoServiceConfig { .into_iter() .find(|(k, _)| k == "blob_service") .map(|(_, v)| v.to_string()) - .unwrap_or("default".to_string()); + .unwrap_or("root".to_string()); let directory_service = url .query_pairs() .into_iter() .find(|(k, _)| k == "directory_service") .map(|(_, v)| v.to_string()) - .unwrap_or("default".to_string()); + .unwrap_or("root".to_string()); Ok(NixHTTPPathInfoServiceConfig { // Stringify the URL and remove the nix+ prefix. diff --git a/tvix/store/src/utils.rs b/tvix/store/src/utils.rs index 86ec367b66ad..49b23bc6b5f3 100644 --- a/tvix/store/src/utils.rs +++ b/tvix/store/src/utils.rs @@ -145,15 +145,15 @@ pub async fn addrs_to_configs( let path_info_service_url = Url::parse(&urls.path_info_service_addr)?; configs.blobservices.insert( - "default".into(), + "root".into(), with_registry(®, || blob_service_url.try_into())?, ); configs.directoryservices.insert( - "default".into(), + "root".into(), with_registry(®, || directory_service_url.try_into())?, ); configs.pathinfoservices.insert( - "default".into(), + "root".into(), with_registry(®, || path_info_service_url.try_into())?, ); @@ -194,9 +194,9 @@ pub async fn construct_services_from_configs( comp.extend(configs.directoryservices); comp.extend(configs.pathinfoservices); - let blob_service: Arc<dyn BlobService> = comp.build("default").await?; - let directory_service: Arc<dyn DirectoryService> = comp.build("default").await?; - let path_info_service: Arc<dyn PathInfoService> = comp.build("default").await?; + let blob_service: Arc<dyn BlobService> = comp.build("root").await?; + let directory_service: Arc<dyn DirectoryService> = comp.build("root").await?; + let path_info_service: Arc<dyn PathInfoService> = comp.build("root").await?; // HACK: The grpc client also implements NarCalculationService, and we // really want to use it (otherwise we'd need to fetch everything again for hashing). |