Skip to content

krt: static collection eager indexes#56530

Merged
istio-testing merged 1 commit intoistio:masterfrom
sschepens:krt/static-eager-index
Jun 6, 2025
Merged

krt: static collection eager indexes#56530
istio-testing merged 1 commit intoistio:masterfrom
sschepens:krt/static-eager-index

Conversation

@sschepens
Copy link
Copy Markdown
Contributor

@sschepens sschepens commented Jun 5, 2025

Please provide a description of this PR:
Currently StaticCollection indexes do a full collection scan looking for matching objects, this works OK for small collections but is problematic for bigger ones.
This PR makes StaticCollection have eager indexes like ManyCollection does, so we update indexes on write flows and avoid full scanning on index lookup.

@sschepens sschepens requested a review from a team as a code owner June 5, 2025 17:51
@sschepens sschepens changed the title static collection eager indexes krt: static collection eager indexes Jun 5, 2025
@istio-testing istio-testing added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Jun 5, 2025
@sschepens sschepens added the release-notes-none Indicates a PR that does not require release notes. label Jun 5, 2025
@sschepens
Copy link
Copy Markdown
Contributor Author

/retest

@sschepens
Copy link
Copy Markdown
Contributor Author

@howardjohn what do you think of this? don't know what was the main reason for having lazy indexes in the first place. I was thinking of using StaticCollections for bridging non-krt things with krt things but having lazy indexes has a huge cost.

Copy link
Copy Markdown
Member

@howardjohn howardjohn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice! I think I was just being lazy, I suspect at the time I did the index work 'static' was really more like 'mock for tests' which it is not anymore

@istio-testing
Copy link
Copy Markdown
Collaborator

@sschepens: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
integ-ambient-mc_istio f127c1a link false /test integ-ambient-mc
Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@istio-testing istio-testing merged commit 0079e22 into istio:master Jun 6, 2025
29 of 30 checks passed
@sschepens sschepens deleted the krt/static-eager-index branch June 6, 2025 20:12
fjglira pushed a commit to fjglira/istio that referenced this pull request Sep 26, 2025
* upstream/master: (28 commits)
  Automator: update common-files@master in istio/istio@master (istio#56545)
  Automator: update proxy@master in istio/istio@master (istio#56544)
  Automator: update go-control-plane in istio/istio@master (istio#56543)
  Automator: update proxy@master in istio/istio@master (istio#56540)
  Automator: update ztunnel@master in istio/istio@master (istio#56532)
  Ambient: In ambient index, filter configs by revision (istio#56477)
  Automator: update istio/client-go@master dependency in istio/istio@master (istio#56539)
  Automator: update proxy@master in istio/istio@master (istio#56538)
  Automator: update common-files@master in istio/istio@master (istio#56537)
  optimization: allow for lazy sidecar initialization (istio#47221)
  static collection eager indexes (istio#56530)
  fix typo in flag (istio#56534)
  feat: enable support for proxy protocol on status port (istio#55986)
  remove finding of pods by IP (istio#56502)
  Automator: update proxy@master in istio/istio@master (istio#56528)
  migrate file monitor to krt (istio#55970)
  Automator: update istio/client-go@master dependency in istio/istio@master (istio#56525)
  Automator: update ztunnel@master in istio/istio@master (istio#56518)
  Fix crash in merging http routes (istio#56499)
  krt: add assertions (istio#56510)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/perf and scalability release-notes-none Indicates a PR that does not require release notes. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants