From 17477b37d5def94bde993bb40adebcea8e89c6cf Mon Sep 17 00:00:00 2001
From: Chris Lu <chris.lu@gmail.com>
Date: Sun, 27 Jun 2021 06:31:04 -0700
Subject: [PATCH] sleep before re-reading the messages

If there are no more metadata changes and the client disconnects, it would go into a busy loop without this fix.
---
 weed/server/filer_grpc_server_sub_meta.go | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/weed/server/filer_grpc_server_sub_meta.go b/weed/server/filer_grpc_server_sub_meta.go
index 23dc0bd59..18505a95f 100644
--- a/weed/server/filer_grpc_server_sub_meta.go
+++ b/weed/server/filer_grpc_server_sub_meta.go
@@ -55,14 +55,16 @@ func (fs *FilerServer) SubscribeMetadata(req *filer_pb.SubscribeMetadataRequest,
 		}, eachLogEntryFn)
 		if err != nil {
 			if err == log_buffer.ResumeFromDiskError {
+				time.Sleep(5127 * time.Millisecond)
 				continue
 			}
 			glog.Errorf("processed to %v: %v", lastReadTime, err)
-			time.Sleep(3127 * time.Millisecond)
 			if err != log_buffer.ResumeError {
 				break
 			}
 		}
+
+		time.Sleep(5127 * time.Millisecond)
 	}
 
 	return err