Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

uv-cache: bump simple cache version #2712

Merged
merged 1 commit into from
Mar 28, 2024
Merged

uv-cache: bump simple cache version #2712

merged 1 commit into from
Mar 28, 2024

Commits on Mar 28, 2024

  1. uv-cache: bump simple cache version

    It seems likely that we forgot to bump the version of the "simple" cache
    in the 0.1.25 release. I'm still working on confirming it, but I figured
    I'd get this bump up first.
    
    The main problem here is that our "simple" cache is represented by
    `rkyv`, and that in turn is tightly coupled to the representation of a
    selection of data types in `uv`. Changing those data types without
    bumping the cache version can result in cache deserialization errors
    like this, or in the worst case, silent logic errors.
    
    One possibility here is that the representation changed in a way that
    permitted it to pass `rkyv` validation, but changed how the data itself
    is interpreted. Our cache is robust with respect to `rkyv` validation
    (if it fails, the cache will invalidate the entry and self-heal), but
    being robust to higher level logical errors in interpretation of the
    data is a much more significant challenge. Our best bet there is perhaps
    some kind of checksum that we could do on top of `rkyv` validation (or
    instead of it), and thus convert silent logical changes in how the data
    is interpreted into failure modes that we're already robust to.
    
    Fixes #2711
    BurntSushi committed Mar 28, 2024
    Configuration menu
    Copy the full SHA
    97dd783 View commit details
    Browse the repository at this point in the history