cluster: configurable session TTL for the leader elector

This commit is contained in:
Andras Banki-Horvath
2022-03-16 20:09:55 +01:00
parent 57840bba36
commit 8eca46f142
4 changed files with 24 additions and 10 deletions

View File

@@ -35,7 +35,7 @@ type etcdLeaderElector struct {
// newEtcdLeaderElector constructs a new etcdLeaderElector.
func newEtcdLeaderElector(ctx context.Context, id, electionPrefix string,
cfg *etcd.Config) (*etcdLeaderElector, error) {
leaderSessionTTL int, cfg *etcd.Config) (*etcdLeaderElector, error) {
clientCfg := clientv3.Config{
Context: ctx,
@@ -72,7 +72,9 @@ func newEtcdLeaderElector(ctx context.Context, id, electionPrefix string,
cli.Lease = namespace.NewLease(cli.Lease, cfg.Namespace)
log.Infof("Applied namespace to leader elector: %v", cfg.Namespace)
session, err := concurrency.NewSession(cli)
session, err := concurrency.NewSession(
cli, concurrency.WithTTL(leaderSessionTTL),
)
if err != nil {
log.Errorf("Unable to start new leader election session: %v",
err)