Skip to content

Interceptor executor safeguard#12736

Closed
kannanjgithub wants to merge 5 commits intogrpc:masterfrom
kannanjgithub:interceptor-executor-safeguard
Closed

Interceptor executor safeguard#12736
kannanjgithub wants to merge 5 commits intogrpc:masterfrom
kannanjgithub:interceptor-executor-safeguard

Conversation

@kannanjgithub
Copy link
Copy Markdown
Contributor

@kannanjgithub kannanjgithub commented Mar 30, 2026

Addresses the executor lifecycle problem in exposing channel executor as a fallback to CallOptions.getExecutor() to interceptor, mentioned in issue #7868, by safeguarding the ClientCall creation with SerializingExecutor or SerializeReentrantCallsDirectExecutor at all call sites.

Internal: go/safeguarding-channel-executor-for-interceptor

@kannanjgithub kannanjgithub requested a review from ejona86 March 30, 2026 06:43
@kannanjgithub
Copy link
Copy Markdown
Contributor Author

I think we can just inline the wrapping for the executor in the filter code itself. If we don't try to use SerializeReentrantCallsDirectExecutor for direct executor (and this class is package private in io.grpc.internal) there is just the passing of the executor to the constructor of SerializingExecutor.

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.

1 participant