diff options
author | Florian Klink <flokli@flokli.de> | 2024-07-02T15·17+0300 |
---|---|---|
committer | clbot <clbot@tvl.fyi> | 2024-07-03T12·35+0000 |
commit | eb9a74d966ccdeb1c7a603a5f9d7957592fa66ff (patch) | |
tree | a78277788c65c9e6733bfd958f083d39258d4c89 /tvix/store/src/pathinfoservice/bigtable.rs | |
parent | 618aacaa61972c3e25b8c996abfa1d4dc475154e (diff) |
fix(tvix/store/pathinfo/bigtable): fix listing endpoint r/8340
We were wrongly comparing the raw row_key with the store path digest, but we hexlower-encode the digest in the row key (via derive_pathinfo_key). Update the logic to fix that. Change-Id: I8916d8de9fb8b25a6986d4158faa91ec97c57347 Reviewed-on: https://cl.tvl.fyi/c/depot/+/11926 Reviewed-by: Brian Olsen <me@griff.name> Autosubmit: flokli <flokli@flokli.de> Tested-by: BuildkiteCI
Diffstat (limited to '')
-rw-r--r-- | tvix/store/src/pathinfoservice/bigtable.rs | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/tvix/store/src/pathinfoservice/bigtable.rs b/tvix/store/src/pathinfoservice/bigtable.rs index 707a686c0a54..26d07689d71f 100644 --- a/tvix/store/src/pathinfoservice/bigtable.rs +++ b/tvix/store/src/pathinfoservice/bigtable.rs @@ -398,7 +398,9 @@ impl PathInfoService for BigtablePathInfoService { .validate() .map_err(|e| Error::StorageError(format!("invalid PathInfo: {}", e)))?; - if store_path.digest().as_slice() != row_key.as_slice() { + let exp_path_info_key = derive_pathinfo_key(store_path.digest()); + + if exp_path_info_key.as_bytes() != row_key.as_slice() { Err(Error::StorageError("PathInfo has unexpected digest".into()))? } |