Skip to content

Support wasi:config/store in worker executor #1842

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

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open

Conversation

mschuwalow
Copy link
Contributor

@mschuwalow mschuwalow commented Jul 15, 2025

resolves #1227

More interesting tests will be added as I add support for wasi:config in the component service.
Went for a slightly different approach than with env vars. Instead of persisting in the oplog. The goal is to make them fully reproducible based on the oplog, similar to the ifs.
If this ends up looking nice I would like to switch env vars to use the same setup.

@mschuwalow mschuwalow self-assigned this Jul 15, 2025
@mschuwalow mschuwalow marked this pull request as ready for review July 15, 2025 10:17
@vigoo
Copy link
Contributor

vigoo commented Jul 18, 2025

I was thinking about the high level approach, and wanted to point out one thing that I'm undecided whether it is a problem or not.
If we do this in the "usual" way of treating the get-config(key) function as a durable function, it means every time the worker accesses a configuration key, we have a corresponding oplog entry with information stored about both the key and the value.
With your method there is no oplog entry about the configuration access at all, but I guess the config map is part of the initial create entry, and successful update entries (did not check the code in detail yet but that's my understanding).

Both has the same functionality and depending on how frequent the config access is, having them durable may have a performance impact, but on the other hand from an observability point of view the per-call durability seems to be nicer, especially if a larger config map is associated with the worker - with the second approach we don't have any information about which particular keys the code is accessing and when.

This of course can also be seen as an advantage, because with the second approach adding/removing get-config calls is not causing any divergence while with the first approach it is.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Implement wasi-runtime-config API in worker executor
2 participants