Skip to content

Rewrite function-runner cache warmup logic to fit the functionconfig controller #956

@mozesl-nokia

Description

@mozesl-nokia

Follow-up for #475

Currently, the cache warmup logic stayed the same, but the cache config has changed from static to dynamic because of FunctionConfig CRs. This means that only the functions which's config has been read before function-runner gets to the warmup code will actually have pods created for them.

Proposal

Add a minReplicas and maxReplicas (rename of maxParallelExecutions) field to the podExecutor config and stream changes to this information from the reconciler to the pod cache manager.

The cache manager should always keep minReplicas amount of pods for the function running whilst spinning up additional pods until reaching maxReplicas when necessary. Only the additional pods should have TTL applied to them.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions