Skip to content

How to reduce impact to reconciliation time on operator start up? #2608

Open
@toshitabata

Description

@toshitabata

Not really a bug report, but more of a discussion question

What did you do?

When an operator is first deployed, it will need to reconcile every custom resource (CR) it watches, regardless of whether there are changes.
This can significantly increase the reconciliation time when making an actual change to a CR.

What did you expect to see?

When I deploy an operator and make a change to a CR it watches, it should prioritise that change over automatic reconciliations, or there should be some way to reduce the impact to reconciliation times.

What did you see instead? Under which circumstances?

Reconciliation of the CR that is created is delayed until all other resources have been reconciled.

Possible Solution

I'm wondering if there's a way to use leader election to warm up the operator before switching over to the new deployment.
https://javaoperatorsdk.io/docs/features/#leader-election
We could also write some kind of priority queue but I'm wondering what's the least invasive way to resolve this kind of issue.

Additional context

Related issue, but for timed reconciliation #2293

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions