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

wasm: rationalize data model for execution instances and xDS resources #37153

Open
kyessenov opened this issue Nov 14, 2024 · 1 comment
Open
Labels
area/wasm enhancement Feature requests. Not bugs or questions.

Comments

@kyessenov
Copy link
Contributor

kyessenov commented Nov 14, 2024

The relationship between xDS filter config and Wasm execution instances is rather confusing, which makes it hard to provide guidance on scaling (e.g. with respect to heap/stack size per instance). In the simplest case of two identical listeners referring to the same identical WasmFilter config, we see the following:

  • _on start is only executed once per execution instance, but there are many temporary instances created during configuration, for canary I presume.
  • on_configure is called twice on the same instance, with the same parameters - this happens even when listeners have distinct listener metadata.
  • on_request_headers is called on the same instance per each request regardless of the listener.
@kyessenov kyessenov added enhancement Feature requests. Not bugs or questions. triage Issue requires triage area/wasm and removed triage Issue requires triage labels Nov 14, 2024
@kyessenov
Copy link
Contributor Author

kyessenov commented Nov 20, 2024

From basic testing, I notice that pushing an LDS update with new metadata causes a new "plugin" to be created. But that plugin is then reused whether or not the metadata is removed. I think this has to do with "plugin key" override, but it's not quite correct as it only registered once.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/wasm enhancement Feature requests. Not bugs or questions.
Projects
None yet
Development

No branches or pull requests

1 participant