diff --git a/weed/command/filer_sync.go b/weed/command/filer_sync.go index 326bd1fbe..172be6a9a 100644 --- a/weed/command/filer_sync.go +++ b/weed/command/filer_sync.go @@ -169,8 +169,11 @@ func doSubscribeFilerMetaChanges(clientId int32, grpcDialOption grpc.DialOption, return persistEventFn(resp) } + var lastLogTsNs = time.Now().Nanosecond() processEventFnWithOffset := pb.AddOffsetFunc(processEventFn, 3*time.Second, func(counter int64, lastTsNs int64) error { - glog.V(0).Infof("sync %s to %s progressed to %v %0.2f/sec", sourceFiler, targetFiler, time.Unix(0, lastTsNs), float64(counter)/float64(3)) + now := time.Now().Nanosecond() + glog.V(0).Infof("sync %s to %s progressed to %v %0.2f/sec", sourceFiler, targetFiler, time.Unix(0, lastTsNs), float64(counter)/(float64(now-lastLogTsNs)/1e9)) + lastLogTsNs = now return setOffset(grpcDialOption, targetFiler, SyncKeyPrefix, sourceFilerSignature, lastTsNs) }) diff --git a/weed/pb/filer_pb_tail.go b/weed/pb/filer_pb_tail.go index 1afddc725..16c7bc8f4 100644 --- a/weed/pb/filer_pb_tail.go +++ b/weed/pb/filer_pb_tail.go @@ -84,11 +84,11 @@ func AddOffsetFunc(processEventFn ProcessMetadataFunc, offsetInterval time.Durat } counter++ if lastWriteTime.Add(offsetInterval).Before(time.Now()) { - counter = 0 lastWriteTime = time.Now() if err := offsetFunc(counter, resp.TsNs); err != nil { return err } + counter = 0 } return nil }