-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
cel: patch thread safety issue #13739
Conversation
Signed-off-by: Kuat Yessenov <kuat@google.com>
697df2d
to
3f4bad0
Compare
@moderation yes. Internal fix is not ready. I'll follow up with updates once it's all ready and published. It requires a very recent protobuf that I think hasn't been released. |
/retest |
Retrying Azure Pipelines. |
@kyessenov RBE cache is busted, you need to merge |
@moderation or @htuch are you ok with this? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A TODO explaining this patch is required until the new protobuf is released would be good, but otherwise looks OK
bazel/repositories.bzl
Outdated
external_http_archive( | ||
"com_google_cel_cpp", | ||
patch_args = ["-p1"], | ||
# Patches to remove "fast" protobuf-internal access | ||
patches = ["@envoy//bazel:cel-cpp.patch"], | ||
) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you add a TODO
explaining when / how the patch can be removed upon protobuf and cel-cpp update?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added an explanation.
Signed-off-by: Kuat Yessenov <kuat@google.com>
/lgtm deps |
Signed-off-by: Kuat Yessenov <kuat@google.com>
Signed-off-by: Kuat Yessenov <kuat@google.com>
* master: (83 commits) tls: Typesafe tls slots (envoyproxy#13789) docs(example): Correct URL for caching example page (envoyproxy#13810) [fuzz] Made health check fuzz more efficient (envoyproxy#13747) rtds: properly scope rtds stats (envoyproxy#13764) http: fixing a bug with IPv6 hosts (envoyproxy#13798) connection: Remember transport socket read resumption requests and replay them when re-enabling read. (envoyproxy#13772) network: adding some accessors for ALPN work. (envoyproxy#13785) docs: added a step about how to handle platform specific extensions (envoyproxy#13759) Fix identation in ip transparency code snippet (envoyproxy#13743) wasm: enable WAVM's stack unwinding feature (envoyproxy#13792) log: set route name for direct response (envoyproxy#13683) Use nghttp2 as external dependsncy in protocol_constraints_lib (envoyproxy#13763) [Windows] Update windows dev docs (envoyproxy#13741) cel: patch thread safety issue (envoyproxy#13739) Windows: Fix ssl_socket_test (envoyproxy#13264) apple dns: add fake api test suite (envoyproxy#13780) overload: scale selected timers in response to load (envoyproxy#13475) examples: Add dynamic configuration (control plane) sandbox (envoyproxy#13746) Removed exception in getResponseStatus() (envoyproxy#13314) network: add timeout for transport connect (envoyproxy#13610) ... Signed-off-by: Michael Puncel <mpuncel@squareup.com>
Signed-off-by: Kuat Yessenov kuat@google.com
Commit Message: Disable fast-path in CEL protobuf wrapper. The fast path uses internal protobuf methods via a private friend. These methods are not thread-safe, and cause an assertion failure when applied to protobufs shared across workers, such as cluster metadata. The fast path will be enabled again once both protobuf and CEL are updated.
Risk Level: low, switches to a different implementation
Testing: none added
Docs Changes: none
Release Notes: none
Reference: istio/istio#28175