feat(tvix/store): Sled{PathInfo,Directory}Service -> Redb…

Use redb instead of sled for the default filesystem implementation of
PathInfoService and DirectoryService. In the future we'll also drop sled
support completely.

Change-Id: I513ff0c2ff953d59714aa50b9aa1301b02f53d40
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12085
Autosubmit: Ilan Joselevich <personal@ilanjoselevich.com>
Reviewed-by: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
This commit is contained in:
Ilan Joselevich 2024-08-01 18:03:03 +03:00 committed by clbot
parent 26129c1761
commit 480a8106cf
3 changed files with 4 additions and 5 deletions

View file

@ -157,8 +157,8 @@ depot.nix.readTree.drvTargets
}); });
docs-persistent = (mkBootTest { docs-persistent = (mkBootTest {
blobServiceAddr = "objectstore+file:///build/blobs"; blobServiceAddr = "objectstore+file:///build/blobs";
directoryServiceAddr = "sled:///build/directories.sled"; directoryServiceAddr = "redb:///build/directories.redb";
pathInfoServiceAddr = "sled:///build/pathinfo.sled"; pathInfoServiceAddr = "redb:///build/pathinfo.redb";
path = ../../docs; path = ../../docs;
importPathName = "docs"; importPathName = "docs";
}); });

View file

@ -193,7 +193,6 @@ logs etc, but this is something requiring a lot of designing.
root `Directory` digest. This won't allow indexing intermediate Directory root `Directory` digest. This won't allow indexing intermediate Directory
nodes, but once we have `DirectoryService` composition, it shouldn't be an nodes, but once we have `DirectoryService` composition, it shouldn't be an
issue. issue.
- [redb](https://www.redb.org/) backend
### PathInfoService ### PathInfoService
- sqlite backend (different schema than the Nix one, we need the root nodes data!) - sqlite backend (different schema than the Nix one, we need the root nodes data!)

View file

@ -41,11 +41,11 @@ pub struct ServiceUrls {
#[arg( #[arg(
long, long,
env, env,
default_value = "sled:///var/lib/tvix-store/directories.sled" default_value = "redb:///var/lib/tvix-store/directories.redb"
)] )]
directory_service_addr: String, directory_service_addr: String,
#[arg(long, env, default_value = "sled:///var/lib/tvix-store/pathinfo.sled")] #[arg(long, env, default_value = "redb:///var/lib/tvix-store/pathinfo.redb")]
path_info_service_addr: String, path_info_service_addr: String,
/// Path to a TOML file describing the way the services should be composed /// Path to a TOML file describing the way the services should be composed