Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SSA is very inefficient with huge number of labels/annotations/... #111215

Open
wojtek-t opened this issue Jul 18, 2022 · 9 comments
Open

SSA is very inefficient with huge number of labels/annotations/... #111215

wojtek-t opened this issue Jul 18, 2022 · 9 comments
Labels
kind/bug Categorizes issue or PR as related to a bug. priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete. sig/api-machinery Categorizes an issue or PR as relevant to SIG API Machinery. triage/accepted Indicates an issue or PR is ready to be actively worked on.

Comments

@wojtek-t
Copy link
Member

As shown here:
https://github.com/kubernetes/kubernetes/pull/110569/files#diff-c9661ce6b32ebf6604536c747826c618fa7d057248f4dffe11d576063a3b480bR358-R363

SSA (computing ManagedFields) is highly inefficient for huge number of labels/annotations and with high enough numbers (the original test had 130,000 labels) could easily exceed 10s.
As pointed in the comment thread there, I don't perceive it as a top priority as it doesn't seem to be a usecase that is really used in production usecases, but it's probably worth discussing that explicitly and making a conscious decision.

/sig api-machinery
/priority important-longterm
/kind bug

@apelisse

@aojea - FYI

@k8s-ci-robot k8s-ci-robot added sig/api-machinery Categorizes an issue or PR as relevant to SIG API Machinery. priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete. kind/bug Categorizes issue or PR as related to a bug. needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. labels Jul 18, 2022
@ardaguclu
Copy link
Member

/cc

@leilajal
Copy link
Contributor

/cc @Jefftree @alexzielenski
/triage accepted

@k8s-ci-robot k8s-ci-robot added triage/accepted Indicates an issue or PR is ready to be actively worked on. and removed needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. labels Jul 19, 2022
@apelisse
Copy link
Member

We took a quick look at that, we know why it happens. The fix is not trivial, and while I wish fixing this would improve the overall performance, I don't know if it will be better for small maps/lists. We'll keep that in mind though, this is pretty terrible.

@wojtek-t
Copy link
Member Author

@apelisse - thanks!
As I wrote above I don't think it's a top priority at this point, it's just a limitation we should keep in mind (and maybe worth documenting?)
If it's fixable then great, but if it would be in the cost of typical usecase, it may not be worth it.

@tkashem
Copy link
Contributor

tkashem commented Sep 16, 2022

/cc

@k8s-triage-robot
Copy link

The Kubernetes project currently lacks enough contributors to adequately respond to all issues and PRs.

This bot triages issues and PRs according to the following rules:

  • After 90d of inactivity, lifecycle/stale is applied
  • After 30d of inactivity since lifecycle/stale was applied, lifecycle/rotten is applied
  • After 30d of inactivity since lifecycle/rotten was applied, the issue is closed

You can:

  • Mark this issue or PR as fresh with /remove-lifecycle stale
  • Mark this issue or PR as rotten with /lifecycle rotten
  • Close this issue or PR with /close
  • Offer to help out with Issue Triage

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Dec 15, 2022
@wojtek-t
Copy link
Member Author

/remove-lifecycle stale

@k8s-ci-robot k8s-ci-robot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Dec 19, 2022
@k8s-triage-robot
Copy link

This issue has not been updated in over 1 year, and should be re-triaged.

You can:

  • Confirm that this issue is still relevant with /triage accepted (org members only)
  • Close this issue with /close

For more details on the triage process, see https://www.kubernetes.dev/docs/guide/issue-triage/

/remove-triage accepted

@k8s-ci-robot k8s-ci-robot added needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. and removed triage/accepted Indicates an issue or PR is ready to be actively worked on. labels Jan 19, 2024
@wojtek-t
Copy link
Member Author

wojtek-t commented Feb 1, 2024

/triage accepted

@k8s-ci-robot k8s-ci-robot added triage/accepted Indicates an issue or PR is ready to be actively worked on. and removed needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. labels Feb 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug Categorizes issue or PR as related to a bug. priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete. sig/api-machinery Categorizes an issue or PR as relevant to SIG API Machinery. triage/accepted Indicates an issue or PR is ready to be actively worked on.
Projects
None yet
Development

No branches or pull requests

7 participants