diff options
author | Florian Klink <flokli@flokli.de> | 2023-12-11T19·25+0200 |
---|---|---|
committer | clbot <clbot@tvl.fyi> | 2023-12-11T22·46+0000 |
commit | 9748543f1c3edd88e8b05f6a772d6e9be18a7be9 (patch) | |
tree | 7c6a892c220e612b809bf703ab796a4bfa157bcb /tvix | |
parent | 6025be423a3dd97e29f536d39ca99528f58e5fb3 (diff) |
chore(tvix): drop sled compression support r/7158
It's been a while since the last sled release, and that one binds to a pretty old version of zstd, requiring workarounds like cl/10090. Upstream sled main branch currently has zstd halfway patched out (it's a no-op, but the feature flag and options are still there), and it's in that state for a year. Rather than maintaining our own fork of sled, let's just stop using the compression feature in sled, dropping the version pin to zstd that way, removing the need for cl/10090. This doesn't mean we won't reintroduce per-blob compression - but we probably just won't let sled take care of the compression, but do it ourselves - which is necessary for more chunked blob storage anyways. Even though we do drop the feature flag, we still need to explicitly use use_compression(false). Change-Id: I0e4892d29e41c76653272dc1a3625180da6fee12 Reviewed-on: https://cl.tvl.fyi/c/depot/+/10257 Autosubmit: flokli <flokli@flokli.de> Reviewed-by: raitobezarius <tvl@lahfa.xyz> Tested-by: BuildkiteCI
Diffstat (limited to 'tvix')
-rw-r--r-- | tvix/Cargo.lock | 1 | ||||
-rw-r--r-- | tvix/Cargo.nix | 9 | ||||
-rw-r--r-- | tvix/castore/Cargo.toml | 2 | ||||
-rw-r--r-- | tvix/castore/src/blobservice/from_addr.rs | 2 | ||||
-rw-r--r-- | tvix/castore/src/blobservice/sled.rs | 4 | ||||
-rw-r--r-- | tvix/castore/src/directoryservice/sled.rs | 4 | ||||
-rw-r--r-- | tvix/store/Cargo.toml | 2 | ||||
-rw-r--r-- | tvix/store/src/pathinfoservice/from_addr.rs | 2 | ||||
-rw-r--r-- | tvix/store/src/pathinfoservice/sled.rs | 4 |
9 files changed, 14 insertions, 16 deletions
diff --git a/tvix/Cargo.lock b/tvix/Cargo.lock index 5d15a9436d78..ce6f10bb7695 100644 --- a/tvix/Cargo.lock +++ b/tvix/Cargo.lock @@ -2448,7 +2448,6 @@ dependencies = [ "libc", "log", "parking_lot 0.11.2", - "zstd", ] [[package]] diff --git a/tvix/Cargo.nix b/tvix/Cargo.nix index 826ebf320872..5e4b54d9d1f1 100644 --- a/tvix/Cargo.nix +++ b/tvix/Cargo.nix @@ -7426,11 +7426,6 @@ rec { name = "parking_lot"; packageId = "parking_lot 0.11.2"; } - { - name = "zstd"; - packageId = "zstd"; - optional = true; - } ]; devDependencies = [ { @@ -7450,7 +7445,7 @@ rec { "testing" = [ "event_log" "lock_free_delays" "compression" "failpoints" "backtrace" ]; "zstd" = [ "dep:zstd" ]; }; - resolvedDefaultFeatures = [ "compression" "default" "no_metrics" "zstd" ]; + resolvedDefaultFeatures = [ "default" "no_metrics" ]; }; "smallvec" = rec { crateName = "smallvec"; @@ -9457,7 +9452,6 @@ rec { { name = "sled"; packageId = "sled"; - features = [ "compression" ]; } { name = "thiserror"; @@ -9980,7 +9974,6 @@ rec { { name = "sled"; packageId = "sled"; - features = [ "compression" ]; } { name = "thiserror"; diff --git a/tvix/castore/Cargo.toml b/tvix/castore/Cargo.toml index 573c7daa084f..468ef8ec3528 100644 --- a/tvix/castore/Cargo.toml +++ b/tvix/castore/Cargo.toml @@ -12,7 +12,7 @@ futures = "0.3.28" lazy_static = "1.4.0" pin-project-lite = "0.2.13" prost = "0.12.1" -sled = { version = "0.34.7", features = ["compression"] } +sled = { version = "0.34.7" } thiserror = "1.0.38" tokio-stream = { version = "0.1.14", features = ["fs", "net"] } tokio-util = { version = "0.7.9", features = ["io", "io-util"] } diff --git a/tvix/castore/src/blobservice/from_addr.rs b/tvix/castore/src/blobservice/from_addr.rs index 2834d25a1706..106edce04d1a 100644 --- a/tvix/castore/src/blobservice/from_addr.rs +++ b/tvix/castore/src/blobservice/from_addr.rs @@ -36,7 +36,7 @@ pub async fn from_addr(uri: &str) -> Result<Arc<dyn BlobService>, crate::Error> )); } - // TODO: expose compression and other parameters as URL parameters? + // TODO: expose other parameters as URL parameters? if url.path().is_empty() { return Ok(Arc::new( diff --git a/tvix/castore/src/blobservice/sled.rs b/tvix/castore/src/blobservice/sled.rs index 12391ed72a86..a6fdbac499b0 100644 --- a/tvix/castore/src/blobservice/sled.rs +++ b/tvix/castore/src/blobservice/sled.rs @@ -15,7 +15,9 @@ pub struct SledBlobService { impl SledBlobService { pub fn new(p: PathBuf) -> Result<Self, sled::Error> { - let config = sled::Config::default().use_compression(true).path(p); + let config = sled::Config::default() + .use_compression(false) // is a required parameter + .path(p); let db = config.open()?; Ok(Self { db }) diff --git a/tvix/castore/src/directoryservice/sled.rs b/tvix/castore/src/directoryservice/sled.rs index 400d2fed59b8..50e58e7e768c 100644 --- a/tvix/castore/src/directoryservice/sled.rs +++ b/tvix/castore/src/directoryservice/sled.rs @@ -18,7 +18,9 @@ pub struct SledDirectoryService { impl SledDirectoryService { pub fn new(p: PathBuf) -> Result<Self, sled::Error> { - let config = sled::Config::default().use_compression(true).path(p); + let config = sled::Config::default() + .use_compression(false) // is a required parameter + .path(p); let db = config.open()?; Ok(Self { db }) diff --git a/tvix/store/Cargo.toml b/tvix/store/Cargo.toml index d5ea10a5b70b..86d40d72bacf 100644 --- a/tvix/store/Cargo.toml +++ b/tvix/store/Cargo.toml @@ -18,7 +18,7 @@ parking_lot = "0.12.1" pin-project-lite = "0.2.13" prost = "0.12.1" sha2 = "0.10.6" -sled = { version = "0.34.7", features = ["compression"] } +sled = { version = "0.34.7" } thiserror = "1.0.38" tokio = { version = "1.32.0", features = ["fs", "macros", "net", "rt", "rt-multi-thread", "signal"] } tokio-listener = { version = "0.2.2", features = [ "tonic010" ] } diff --git a/tvix/store/src/pathinfoservice/from_addr.rs b/tvix/store/src/pathinfoservice/from_addr.rs index ee6a6925af60..1505b3e427ee 100644 --- a/tvix/store/src/pathinfoservice/from_addr.rs +++ b/tvix/store/src/pathinfoservice/from_addr.rs @@ -54,7 +54,7 @@ pub async fn from_addr( )); } - // TODO: expose compression and other parameters as URL parameters? + // TODO: expose other parameters as URL parameters? if url.path().is_empty() { return Ok(Arc::new( diff --git a/tvix/store/src/pathinfoservice/sled.rs b/tvix/store/src/pathinfoservice/sled.rs index a12f918c83cf..1382c3c29bfd 100644 --- a/tvix/store/src/pathinfoservice/sled.rs +++ b/tvix/store/src/pathinfoservice/sled.rs @@ -26,7 +26,9 @@ impl SledPathInfoService { blob_service: Arc<dyn BlobService>, directory_service: Arc<dyn DirectoryService>, ) -> Result<Self, sled::Error> { - let config = sled::Config::default().use_compression(true).path(p); + let config = sled::Config::default() + .use_compression(false) // is a required parameter + .path(p); let db = config.open()?; Ok(Self { |