Improve Snapshot Repository BwC Behavior #56742
Labels
:Distributed/Snapshot/Restore
Anything directly related to the `_snapshot/*` APIs
Team:Distributed
Meta label for distributed team
The current approach to snapshot repository backwards compatibility is this:
x
, then the repository will stay fully usable for clusters of any versionx
and newer. If a newer version cluster writes to the repository it will not change the repository metadata/contents in a way that makes it
unreadable to older versions as long as there are older version snapshots in the repository.
While the current approach ensures that we never make a snapshot unreadable by upgrading the snapshot metadata in such a way that no cluster
may restore the snapshot any longer (e.g. you can't get into a spot like
6.x
snapshot in8.x
repository) there are some downsides tothe current approach:
metadata as well as the old version metadata.
new functionality upstream that then has to follow different paths as well depending on the versions of snapshots in the repository.
6.x
snapshot ina repository has no visibility on the fact that this means slower and more expensive snapshots from an
8.x
cluster.the code for not using a new feature in perpetuity).
I think we should take action to improve this situation. Possible strategies could be:
Restrict user behavior
Make the repository transparently backwards compatible
contains old version snapshots. This is technically possible to do in a way that would retain current BwC behavior.
I think a combination of both measures is probably what we want but we should discuss what behavior we want first.
The text was updated successfully, but these errors were encountered: