fn: cleanup of unused/global constants in lb agent (#1020)

Moved retry interval as placer member variable for time-being.
This commit is contained in:
Tolga Ceylan
2018-05-31 13:04:06 -07:00
committed by GitHub
parent a282005bf7
commit e1b7e30e49
3 changed files with 12 additions and 33 deletions

View File

@@ -18,16 +18,6 @@ import (
"github.com/fnproject/fn/fnext" "github.com/fnproject/fn/fnext"
) )
const (
runnerReconnectInterval = 5 * time.Second
// sleep time to attempt placement across all runners before retrying
retryWaitInterval = 10 * time.Millisecond
// sleep time when scaling from 0 to 1 runners
noCapacityWaitInterval = 1 * time.Second
// amount of time to wait to place a request on a runner
placementTimeout = 15 * time.Second
)
type lbAgent struct { type lbAgent struct {
cfg AgentConfig cfg AgentConfig
da DataAccess da DataAccess

View File

@@ -7,18 +7,21 @@ import (
"context" "context"
"time" "time"
"github.com/fnproject/fn/api/common"
"github.com/fnproject/fn/api/models" "github.com/fnproject/fn/api/models"
"github.com/dchest/siphash" "github.com/dchest/siphash"
"github.com/sirupsen/logrus" "github.com/sirupsen/logrus"
) )
type chPlacer struct{} type chPlacer struct {
rrInterval time.Duration
}
func NewCHPlacer() Placer { func NewCHPlacer() Placer {
logrus.Info("Creating new CH runnerpool placer") logrus.Info("Creating new CH runnerpool placer")
return &chPlacer{} return &chPlacer{
rrInterval: 10 * time.Millisecond,
}
} }
// This borrows the CH placement algorithm from the original FNLB. // This borrows the CH placement algorithm from the original FNLB.
@@ -62,18 +65,13 @@ func (p *chPlacer) PlaceCall(rp RunnerPool, ctx context.Context, call RunnerCall
} }
} }
remaining := call.LbDeadline().Sub(time.Now())
if remaining <= 0 {
return models.ErrCallTimeoutServerBusy
}
// backoff // backoff
select { select {
case <-ctx.Done(): case <-ctx.Done():
return models.ErrCallTimeoutServerBusy return models.ErrCallTimeoutServerBusy
case <-timeout: case <-timeout:
return models.ErrCallTimeoutServerBusy return models.ErrCallTimeoutServerBusy
case <-time.After(common.MinDuration(retryWaitInterval, remaining)): case <-time.After(p.rrInterval):
} }
} }
} }

View File

@@ -5,26 +5,22 @@ import (
"sync/atomic" "sync/atomic"
"time" "time"
"github.com/fnproject/fn/api/common"
"github.com/fnproject/fn/api/models" "github.com/fnproject/fn/api/models"
"github.com/sirupsen/logrus" "github.com/sirupsen/logrus"
) )
const (
// sleep time to attempt placement across all runners before retrying
retryWaitInterval = 10 * time.Millisecond
)
type naivePlacer struct { type naivePlacer struct {
rrIndex uint64 rrInterval time.Duration
rrIndex uint64
} }
func NewNaivePlacer() Placer { func NewNaivePlacer() Placer {
rrIndex := uint64(time.Now().Nanosecond()) rrIndex := uint64(time.Now().Nanosecond())
logrus.Infof("Creating new naive runnerpool placer rrIndex=%d", rrIndex) logrus.Infof("Creating new naive runnerpool placer rrIndex=%d", rrIndex)
return &naivePlacer{ return &naivePlacer{
rrIndex: rrIndex, rrInterval: 10 * time.Millisecond,
rrIndex: rrIndex,
} }
} }
@@ -62,18 +58,13 @@ func (sp *naivePlacer) PlaceCall(rp RunnerPool, ctx context.Context, call Runner
} }
} }
remaining := call.LbDeadline().Sub(time.Now())
if remaining <= 0 {
return models.ErrCallTimeoutServerBusy
}
// backoff // backoff
select { select {
case <-ctx.Done(): case <-ctx.Done():
return models.ErrCallTimeoutServerBusy return models.ErrCallTimeoutServerBusy
case <-timeout: case <-timeout:
return models.ErrCallTimeoutServerBusy return models.ErrCallTimeoutServerBusy
case <-time.After(common.MinDuration(retryWaitInterval, remaining)): case <-time.After(sp.rrInterval):
} }
} }
} }