mirror of https://github.com/minio/minio.git
heal: Preserve deployment ID from reference format.json (#7126)
Deployment ID is not copied into new formats after healing format. Although, this is not critical since a new deployment ID will be generated and set in the next cluster restart, it is still much better if we don't change the deployment id of a cluster for a better tracking.
This commit is contained in:
parent
042d7f25e4
commit
dc2348daa5
|
@ -896,6 +896,7 @@ func newHealFormatSets(refFormat *formatXLV3, setCount, disksPerSet int, formats
|
||||||
if errs[i*disksPerSet+j] == errUnformattedDisk || errs[i*disksPerSet+j] == nil {
|
if errs[i*disksPerSet+j] == errUnformattedDisk || errs[i*disksPerSet+j] == nil {
|
||||||
newFormats[i][j] = &formatXLV3{}
|
newFormats[i][j] = &formatXLV3{}
|
||||||
newFormats[i][j].Version = refFormat.Version
|
newFormats[i][j].Version = refFormat.Version
|
||||||
|
newFormats[i][j].ID = refFormat.ID
|
||||||
newFormats[i][j].Format = refFormat.Format
|
newFormats[i][j].Format = refFormat.Format
|
||||||
newFormats[i][j].XL.Version = refFormat.XL.Version
|
newFormats[i][j].XL.Version = refFormat.XL.Version
|
||||||
newFormats[i][j].XL.DistributionAlgo = refFormat.XL.DistributionAlgo
|
newFormats[i][j].XL.DistributionAlgo = refFormat.XL.DistributionAlgo
|
||||||
|
|
|
@ -556,4 +556,13 @@ func TestNewFormatSets(t *testing.T) {
|
||||||
if newFormats == nil {
|
if newFormats == nil {
|
||||||
t.Fatal("Unexpected failure")
|
t.Fatal("Unexpected failure")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Check if deployment IDs are preserved.
|
||||||
|
for i := range newFormats {
|
||||||
|
for j := range newFormats[i] {
|
||||||
|
if newFormats[i][j].ID != quorumFormat.ID {
|
||||||
|
t.Fatal("Deployment id in the new format is lost")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue