From 53a991b891e1e2733bc3489b50cb3928fd5d9d74 Mon Sep 17 00:00:00 2001 From: Rob Parker Date: Wed, 11 Apr 2018 09:13:10 +0100 Subject: [PATCH] backport Fix timing problem in mirroring tests --- cmd/runmqserver/mirror.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/cmd/runmqserver/mirror.go b/cmd/runmqserver/mirror.go index 170e6082..0a78cbaa 100644 --- a/cmd/runmqserver/mirror.go +++ b/cmd/runmqserver/mirror.go @@ -33,7 +33,7 @@ func waitForFile(ctx context.Context, path string) (os.FileInfo, error) { select { // Check to see if cancellation has been requested case <-ctx.Done(): - return nil, nil + return os.Stat(path) default: fi, err = os.Stat(path) if err != nil { @@ -145,7 +145,8 @@ func mirrorLog(ctx context.Context, wg *sync.WaitGroup, path string, fromStart b for { // If there's already data there, mirror it now. mirrorAvailableMessages(f, mf) - newFI, err := os.Stat(path) + // Wait for the new log file (after rotation) + newFI, err := waitForFile(ctx, path) if err != nil { log.Error(err) errorChannel <- err