From 96ca402dcd725e207dc05bc5361d371c5d38dc43 Mon Sep 17 00:00:00 2001 From: Shubhendu Date: Fri, 18 Oct 2024 21:02:09 +0530 Subject: [PATCH] Correct the date filter check for batch replication (#20569) The condition were incorrect as we were comparing the filter value against the modification time object. For example if created after filter date is after modification time of object, that means object was created before the filter time and should be skipped while replication because as per the filter we need only the objects created after the filter date. Signed-off-by: Shubhendu Ram Tripathi --- cmd/batch-handlers.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/cmd/batch-handlers.go b/cmd/batch-handlers.go index b7ba53ce9..e21460584 100644 --- a/cmd/batch-handlers.go +++ b/cmd/batch-handlers.go @@ -301,12 +301,12 @@ func (r *BatchJobReplicateV1) StartFromSource(ctx context.Context, api ObjectLay return true } - if !r.Flags.Filter.CreatedAfter.IsZero() && r.Flags.Filter.CreatedAfter.Before(oi.ModTime) { + if !r.Flags.Filter.CreatedAfter.IsZero() && r.Flags.Filter.CreatedAfter.After(oi.ModTime) { // skip all objects that are created before the specified time. return true } - if !r.Flags.Filter.CreatedBefore.IsZero() && r.Flags.Filter.CreatedBefore.After(oi.ModTime) { + if !r.Flags.Filter.CreatedBefore.IsZero() && r.Flags.Filter.CreatedBefore.Before(oi.ModTime) { // skip all objects that are created after the specified time. return true } @@ -1047,12 +1047,12 @@ func (r *BatchJobReplicateV1) Start(ctx context.Context, api ObjectLayer, job Ba return false } - if !r.Flags.Filter.CreatedAfter.IsZero() && r.Flags.Filter.CreatedAfter.Before(info.ModTime) { + if !r.Flags.Filter.CreatedAfter.IsZero() && r.Flags.Filter.CreatedAfter.After(info.ModTime) { // skip all objects that are created before the specified time. return false } - if !r.Flags.Filter.CreatedBefore.IsZero() && r.Flags.Filter.CreatedBefore.After(info.ModTime) { + if !r.Flags.Filter.CreatedBefore.IsZero() && r.Flags.Filter.CreatedBefore.Before(info.ModTime) { // skip all objects that are created after the specified time. return false }