Add cross-version remapped merges to xl-meta #19765
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Adds
-xver
which can be used with-export
and-combine
to attempt to combine files across versions if data is suspected to be the same. Overlapping data is compared.Also can now read external part files.
Bonus: Make
inspect
accept wildcards.How to test this PR?
First tries moving data into
5870230c
, but there is not enough to reconstruct. Then it moves data into9f2b4b49
- and gets enough data to be able to reconstruct.The overall method: We lay out the file:
.................................................................
Then we add the data shards from the first version, adding an x for the bytes we have
xxxxxxxxxxxxxx.............xxxxxxxxx.........xxxxxxxxxxxxxxxxxxxx
Then we do the same for the other version:
..........xxxxxxxxxxxxxxxxxxxxxxxxxx.........xxxxxxxx............
We then merge these two:
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.........xxxxxxxxxxxxxxxxxxxx
We also check if the overlapping bytes match.
If this gives us all the data - fine. If not we use the parity shards we may have to reconstruct the remaining.
If data and parity shard count is the same we also merge those.
Types of changes