From a513a345f97be9d539ced53331dc3b6911d45525 Mon Sep 17 00:00:00 2001 From: tutu Date: Tue, 11 Jul 2023 19:59:16 +0800 Subject: [PATCH] fix lease does not renew --- .../clusterproviders/etcd/etcd_provider.go | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/cluster/clusterproviders/etcd/etcd_provider.go b/cluster/clusterproviders/etcd/etcd_provider.go index 67a30425..9c4f9c6a 100644 --- a/cluster/clusterproviders/etcd/etcd_provider.go +++ b/cluster/clusterproviders/etcd/etcd_provider.go @@ -140,19 +140,13 @@ func (p *Provider) keepAliveForever(ctx context.Context) error { return err } fullKey := p.getEtcdKey() + + var leaseId clientv3.LeaseID + leaseId, err = p.newLeaseID() if err != nil { return err } - - leaseId := p.getLeaseID() - if leaseId <= 0 { - _leaseId, err := p.newLeaseID() - if err != nil { - return err - } - leaseId = _leaseId - p.setLeaseID(leaseId) - } + p.setLeaseID(leaseId) if leaseId <= 0 { return fmt.Errorf("grant lease failed. leaseId=%d", leaseId) @@ -187,7 +181,7 @@ func (p *Provider) startKeepAlive(ctx context.Context) { } if err := p.keepAliveForever(ctx); err != nil { - plog.Info("Failure refreshing service TTL. ReTrying...", log.Duration("after", p.retryInterval)) + plog.Info("Failure refreshing service TTL. ReTrying...", log.Duration("after", p.retryInterval), log.Error(err)) } time.Sleep(p.retryInterval) } @@ -398,9 +392,8 @@ func (p *Provider) setLeaseID(leaseID clientv3.LeaseID) { } func (p *Provider) newLeaseID() (clientv3.LeaseID, error) { - lease := clientv3.NewLease(p.client) ttlSecs := int64(p.keepAliveTTL / time.Second) - resp, err := lease.Grant(context.TODO(), ttlSecs) + resp, err := p.client.Grant(context.TODO(), ttlSecs) if err != nil { return 0, err }