Fix inconsistent metadata after healing (#14125)

When calculating signatures empty part ETags were not discarded, leading 
to a different signature compared to freshly created ones.

This would mean that after a heal signature of the healed metadata would be 
different. Fixing the calculation of signature will make these consistent.

Furthermore when inconsistent entries, with zero version ID, with the same 
mod times but different signatures, the one with the lowest signature would 
be picked for quorum check. Since this is 50/50, we fall back to a simple 
quorum count on all signatures.

Each of these fixes by themselves will lead to quorum. Tests were added 
for regressions and expected outcomes.
This commit is contained in:
Klaus Post
2022-01-19 10:48:00 -08:00
committed by GitHub
parent 288e276abe
commit 0012ca8ca5
4 changed files with 351 additions and 15 deletions

BIN
cmd/testdata/xl-meta-consist.zip vendored Normal file

Binary file not shown.