|
|
@ -44,22 +44,12 @@ func startDailyLifecycle(ctx context.Context, objAPI ObjectLayer) { |
|
|
|
return |
|
|
|
return |
|
|
|
case <-time.NewTimer(bgLifecycleInterval).C: |
|
|
|
case <-time.NewTimer(bgLifecycleInterval).C: |
|
|
|
// Perform one lifecycle operation
|
|
|
|
// Perform one lifecycle operation
|
|
|
|
err := lifecycleRound(ctx, objAPI) |
|
|
|
logger.LogIf(ctx, lifecycleRound(ctx, objAPI)) |
|
|
|
switch err.(type) { |
|
|
|
|
|
|
|
case OperationTimedOut: |
|
|
|
|
|
|
|
// Unable to hold a lock means there is another
|
|
|
|
|
|
|
|
// caller holding write lock, ignore and try next round.
|
|
|
|
|
|
|
|
continue |
|
|
|
|
|
|
|
default: |
|
|
|
|
|
|
|
logger.LogIf(ctx, err) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
var lifecycleLockTimeout = newDynamicTimeout(60*time.Second, time.Second) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
func lifecycleRound(ctx context.Context, objAPI ObjectLayer) error { |
|
|
|
func lifecycleRound(ctx context.Context, objAPI ObjectLayer) error { |
|
|
|
buckets, err := objAPI.ListBuckets(ctx) |
|
|
|
buckets, err := objAPI.ListBuckets(ctx) |
|
|
|
if err != nil { |
|
|
|
if err != nil { |
|
|
|