add configurable delta for skipping shards (#13967)

This PR is an attempt to make this configurable
as not all situations have same level of tolerable
delta, i.e disks are replaced days apart or even
hours.

There is also a possibility that nodes have drifted
in time, when NTP is not configured on the system.
This commit is contained in:
Harshavardhana
2021-12-22 11:43:01 -08:00
committed by GitHub
parent ebd78e983f
commit 54ec0a1308
6 changed files with 28 additions and 9 deletions

View File

@@ -229,7 +229,6 @@ func disksWithAllParts(ctx context.Context, onlineDisks []StorageAPI, partsMetad
bucket, object string, scanMode madmin.HealScanMode) ([]StorageAPI, []error) {
var diskMTime time.Time
delta := 5 * time.Second
if !latestMeta.DataShardFixed() {
diskMTime = pickValidDiskTimeWithQuorum(partsMetadata,
latestMeta.Erasure.DataBlocks)
@@ -340,7 +339,7 @@ func disksWithAllParts(ctx context.Context, onlineDisks []StorageAPI, partsMetad
}
if !diskMTime.Equal(timeSentinel) && !diskMTime.IsZero() {
if !partsMetadata[i].AcceptableDelta(diskMTime, delta) {
if !partsMetadata[i].AcceptableDelta(diskMTime, shardDiskTimeDelta) {
// not with in acceptable delta, skip.
partsMetadata[i] = FileInfo{}
continue