Both file-store and s3-store would benefit from keeping version information with the stored block content. We can do this under the configured root prefix because the filename (version?) isn't valid hexadecimal.
Minimally, the version should denote breaking compatibility so we can warn the user at start-time. For example, changing file-store so it stores blocks in a flat structure (e.g. root/111493dc/48a5... vs root/1114/93/dc/48a5...). A version would let the user know that the content on disk was incompatible with the current code.
Later, this also enables migrations from one version to another.
Both
file-store
ands3-store
would benefit from keeping version information with the stored block content. We can do this under the configured root prefix because the filename (version
?) isn't valid hexadecimal.Minimally, the version should denote breaking compatibility so we can warn the user at start-time. For example, changing
file-store
so it stores blocks in a flat structure (e.g.root/111493dc/48a5...
vsroot/1114/93/dc/48a5...
). A version would let the user know that the content on disk was incompatible with the current code.Later, this also enables migrations from one version to another.