-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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
Fix Arc request context state restoration on Vert.x duplicated context which allows to support security events in gRPC #38195
Conversation
20085d6
to
1d8eb48
Compare
independent-projects/arc/runtime/src/main/java/io/quarkus/arc/impl/RequestContext.java
Outdated
Show resolved
Hide resolved
1d8eb48
to
81a872d
Compare
🙈 The PR is closed and the preview is expired. |
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.
Seems correct from ArC standpoint - this looks like an oversight from when we added context state invalidation handling and didn't adjust the check. Let's see what CI has to say.
This comment has been minimized.
This comment has been minimized.
I don't think |
@sberyozkin please review security events portion |
✔️ The latest workflow run for the pull request has completed successfully. It should be safe to merge provided you have a look at the other checks in the summary. You can consult the Develocity build scans. |
Yep, it's green after rerun 👍 |
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.
Thanks for digging into the grpc bits and spotting 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.
Thanks @michalvavrik
fixes: #38159
io.quarkus.arc.runtime.context.ArcContextProvider.ContextSnapshot#begin
activated new request context becauseio.quarkus.arc.InjectableContext#getStateIfActive
returned deactivated request state. This way, when firing of security events activated request context, the context arrived activate toio.quarkus.grpc.runtime.supports.context.GrpcRequestContextGrpcInterceptor#interceptCall
and gRPC auth tests were failing.This PR enables security events for gRPC because it's also the only reproducer I have.