Skip to content

Commit 56a2aad

Browse files
committed
core/services/workflows/syncerlimiter: expand keyedOwnerSettings to check default settings.Getter
1 parent cd466fd commit 56a2aad

1 file changed

Lines changed: 10 additions & 3 deletions

File tree

core/services/workflows/syncerlimiter/limiter.go

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,18 @@ type Config struct {
2727
}
2828

2929
type keyedOwnerSettings struct {
30-
key string
31-
vals map[string]string
30+
getter settings.Getter
31+
key string
32+
vals map[string]string
3233
}
3334

3435
func (k keyedOwnerSettings) GetScoped(ctx context.Context, scope settings.Scope, key string) (value string, err error) {
36+
if k.getter != nil {
37+
value, err = k.getter.GetScoped(ctx, scope, key)
38+
}
39+
if value != "" {
40+
return
41+
}
3542
if k.key != key || scope != settings.ScopeOwner {
3643
return "", nil
3744
}
@@ -50,7 +57,7 @@ func NewWorkflowLimits(lggr logger.Logger, cfg Config, lf limits.Factory) (limit
5057
for k, v := range cfg.PerOwnerOverrides {
5158
perOwner[k] = strconv.Itoa(int(v))
5259
}
53-
lf.Settings = keyedOwnerSettings{key: ownerLimit.Key, vals: perOwner}
60+
lf.Settings = keyedOwnerSettings{getter: lf.Settings, key: ownerLimit.Key, vals: perOwner}
5461
owner, err := limits.MakeResourcePoolLimiter(lf, ownerLimit)
5562
if err != nil {
5663
return nil, fmt.Errorf("failed to create owner resource limiter: %w", err)

0 commit comments

Comments
 (0)