Porting disco.Stator (next step)

This commit is contained in:
Kuba Podgórski 2021-02-01 21:45:22 +01:00 committed by Travis
parent 855e1b35f5
commit 6058fc22e4
No known key found for this signature in database
GPG key ID: 37080CC2042BA34E
2 changed files with 11 additions and 3 deletions

View file

@ -739,6 +739,14 @@ func (e *Etcd) leaseKeepAlive(ttl int64) (clientv3.LeaseID, func(context.Context
select {
case <-ctx.Done():
log.Printf("leaseKeepAlive: %v\n", ctx.Err())
if cli, err := e.client(); err != nil {
log.Printf("leaseKeepAlive: creates a new client: %v\n", err)
} else {
if _, err := cli.Revoke(context.Background(), leaseResp.ID); err != nil {
log.Printf("leaseKeepAlive: revokes the lease (ID: %v): %v\n", leaseResp.ID, err)
}
}
return
case <-ticker.C:

View file

@ -563,11 +563,9 @@ func (m *Command) GossipTransport() *gossip.Transport {
// Close shuts down the server.
func (m *Command) Close() error {
select {
case <-m.done:
case _, _ = <-m.done:
return nil
default:
defer close(m.done)
eg := errgroup.Group{}
m.grpcServer.Stop()
eg.Go(m.Handler.Close)
@ -590,6 +588,8 @@ func (m *Command) Close() error {
err := eg.Wait()
_ = testhook.Closed(pilosa.NewAuditor(), m, nil)
close(m.done)
return errors.Wrap(err, "closing everything")
}
}