fix: pass headers as initial metadata to work around gRPC bug #545
Merged
dorasun merged 1 commit intogoogleads:mainfrom Apr 15, 2026
Merged
fix: pass headers as initial metadata to work around gRPC bug #545dorasun merged 1 commit intogoogleads:mainfrom
dorasun merged 1 commit intogoogleads:mainfrom
Conversation
…rpc#22448) MetadataInterceptor headers are silently dropped when gapic-common uses return_op: true. Return developer-token, login-customer-id, and linked-customer-id from ServiceLookup#headers as a workaround.
|
Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). View this failed invocation of the CLA check for more information. For the most up to date status, view the checks section at the bottom of the pull request. |
dorasun
approved these changes
Apr 15, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #544
Summary
return_op: trueis useddeveloper-token,login-customer-id, andlinked-customer-idfromServiceLookup#headersas initial metadata instead of relying solely onMetadataInterceptorMetadataInterceptor(unrelated cleanup)Details
gapic-commoncalls gRPC withreturn_op: true, which causesmerge_metadata_to_sendto run before interceptors execute. This meansMetadataInterceptor's metadata modifications are lost, resulting inDEVELOPER_TOKEN_PARAMETER_MISSINGerrors.This change passes the headers via gax's
metadataoption (set at client initialization), which bypasses the interceptor ordering issue.MetadataInterceptoris kept as-is for backward compatibility and can be cleaned up once the upstream fix (grpc/grpc#42073) is released.