diff --git a/subnet/etcdv2/local_manager.go b/subnet/etcdv2/local_manager.go index 3fa50b9c5b..f1ff4ce650 100644 --- a/subnet/etcdv2/local_manager.go +++ b/subnet/etcdv2/local_manager.go @@ -345,6 +345,9 @@ func (m *LocalManager) WatchLeases(ctx context.Context, cursor interface{}) (Lea log.Warning("Watch of subnet leases failed because etcd index outside history window") return m.leasesWatchReset(ctx) + case index != 0: + return LeaseWatchResult{Cursor: watchCursor{index}}, err + default: return LeaseWatchResult{}, err } diff --git a/subnet/watch.go b/subnet/watch.go index 46f52e51f5..5704ec181a 100644 --- a/subnet/watch.go +++ b/subnet/watch.go @@ -40,6 +40,10 @@ func WatchLeases(ctx context.Context, sm Manager, ownLease *Lease, receiver chan return } + if res.Cursor != nil { + cursor = res.Cursor + } + log.Errorf("Watch subnets: %v", err) time.Sleep(time.Second) continue