Skip to content

[Umbrella] Performance optimizations planned for v1.15 #6516

@zach593

Description

@zach593

Features that can be added before the v1.15 release deadline

  1. Since we have disabled deepcopy during list operations in disable deepcopy for list action #5813 , we should enable the MutationDetector in our e2e tests to prevent any future code from mutating the cache.

  2. Continue adding indices to improve list performance wherever applicable. [Umbrella] Use index to optimize list operations #6530

  3. Introduce the controller-runtime priority queue. This enhancement allows controllers built on controller-runtime to prioritize the latest changes after a restart or leader transition, deferring the processing of inevitable create events. This can significantly reduce downtime during service restarts and failovers.

    • For this feature, we will likely need detailed test reports to ensure it does not introduce negative side effects.

Features that may progress before the v1.15 release deadline but are unlikely to be completed

  1. Where feasible, migrate async-worker to use controller-runtime controllers. Replace asyncWorker with controller-runtime reconciler #6251

Features unlikely to start before the v1.15 release deadline but are likely to be pursued in the future

  1. Add automated e2e benchmark tests in GitHub CI.
  2. Introduce controller-runtime warmup. This feature is still under development ✨ Implement warm replica support for controllers kubernetes-sigs/controller-runtime#3192. Combined with the priority queue, it could theoretically reduce downtime to zero during multi-replica leader transitions, which is especially important in large-scale clusters.

The above list includes what I am currently aware of. If there are any omissions, please feel free to add or suggest them.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Planned In Release 1.15

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions