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: allow execution of multiple instances of the same plugin. #13753

Merged
merged 26 commits into from
Nov 12, 2020

Conversation

PiotrSikora
Copy link
Contributor

@PiotrSikora PiotrSikora commented Oct 26, 2020

Fixes #13690.

Signed-off-by: Piotr Sikora piotrsikora@google.com

@repokitteh-read-only repokitteh-read-only bot added the deps Approval required for changes to Envoy's external dependencies label Oct 26, 2020
@repokitteh-read-only
Copy link

CC @envoyproxy/dependency-shepherds: Your approval is needed for changes made to (bazel/.*repos.*\.bzl)|(bazel/dependency_imports\.bzl)|(api/bazel/.*\.bzl)|(.*/requirements\.txt)|(.*\.patch).

🐱

Caused by: #13753 was opened by PiotrSikora.

see: more, trace.

@lizan
Copy link
Member

lizan commented Oct 27, 2020

@mathetake

@mathetake
Copy link
Member

@lizan I got the context by following related issues.

@PiotrSikora If there's anything I can help, let me know

Fixes envoyproxy#13690.

Signed-off-by: Piotr Sikora <piotrsikora@google.com>
@PiotrSikora
Copy link
Contributor Author

@mathetake this is ready for review now (@lizan could we add @mathetake to assignable?)

bazel/repository_locations.bzl Outdated Show resolved Hide resolved
test/extensions/common/wasm/wasm_test.cc Outdated Show resolved Hide resolved
source/extensions/common/wasm/context.cc Show resolved Hide resolved
Signed-off-by: Piotr Sikora <piotrsikora@google.com>
Copy link
Member

@mathetake mathetake left a comment

Choose a reason for hiding this comment

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

I've tested this against proxy-wasm-go-sdk's e2e and it works as well! LGTM after the fix of proxy-wasm-cpp-host repository location @PiotrSikora

mathetake and others added 3 commits October 30, 2020 08:34
Signed-off-by: mathetake <takeshi@tetrate.io>
Signed-off-by: Piotr Sikora <piotrsikora@google.com>
…nfig_id

Signed-off-by: Piotr Sikora <piotrsikora@google.com>
Copy link
Member

@mathetake mathetake left a comment

Choose a reason for hiding this comment

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

I realize that usign tls_slog->get() would cause a crash during shutdown (e.g. handling SIGTERM) if it's not a release build: https://github.com/envoyproxy/envoy/blob/master/source/common/thread_local/thread_local_impl.cc#L66-L66

looks like using currentThreadRegistered would be better to check if the slot exists

source/extensions/filters/network/wasm/wasm_filter.cc Outdated Show resolved Hide resolved
source/extensions/filters/http/wasm/wasm_filter.cc Outdated Show resolved Hide resolved
source/extensions/bootstrap/wasm/config.h Outdated Show resolved Hide resolved
Signed-off-by: Piotr Sikora <piotrsikora@google.com>
@repokitteh-read-only repokitteh-read-only bot added deps Approval required for changes to Envoy's external dependencies and removed waiting labels Nov 10, 2020
@mattklein123
Copy link
Member

Thanks for iterating, this looks much better. LMK when this is ready for review again and not pointing at your branch.

/wait

Signed-off-by: Piotr Sikora <piotrsikora@google.com>
@PiotrSikora
Copy link
Contributor Author

@mattklein123 this should be good to go, but it needs #13930 and #13932 to be merged first.

@mattklein123
Copy link
Member

OK just ping me when this is ready.

/wait

…nfig_id

Signed-off-by: Piotr Sikora <piotrsikora@google.com>
…nfig_id

Signed-off-by: Piotr Sikora <piotrsikora@google.com>
@PiotrSikora
Copy link
Contributor Author

@mattklein123 all other PRs are now merged, so this is ready for review / merge. Thanks!

cc @envoyproxy/dependency-shepherds for dependency update.

Copy link
Member

@mattklein123 mattklein123 left a comment

Choose a reason for hiding this comment

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

Nice cleanup, thanks.

@mattklein123 mattklein123 merged commit 3c8e56a into envoyproxy:master Nov 12, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
deps Approval required for changes to Envoy's external dependencies
Projects
None yet
Development

Successfully merging this pull request may close these issues.

wasm: plugin configuration is racey
6 participants