From 55d2f6235f0e832d17d93ba54d500794c819f096 Mon Sep 17 00:00:00 2001 From: Josh Radcliff Date: Mon, 19 Oct 2026 15:49:26 -0400 Subject: [PATCH] feat(samples): set max gRPC metadata size to 16MB in ingestion samples Configures IngestionServiceClient with a 16MB maximum metadata size to accommodate responses with large error details, and adds the `create_client` region tag. --- .../datamanager/samples/IngestAudienceMembers.java | 14 +++++++++++++- .../ads/datamanager/samples/IngestEvents.java | 12 +++++++++++- 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/data-manager-samples/src/main/java/com/google/ads/datamanager/samples/IngestAudienceMembers.java b/data-manager-samples/src/main/java/com/google/ads/datamanager/samples/IngestAudienceMembers.java index c2d5298..a17a718 100644 --- a/data-manager-samples/src/main/java/com/google/ads/datamanager/samples/IngestAudienceMembers.java +++ b/data-manager-samples/src/main/java/com/google/ads/datamanager/samples/IngestAudienceMembers.java @@ -30,6 +30,7 @@ import com.google.ads.datamanager.v1.IngestAudienceMembersRequest; import com.google.ads.datamanager.v1.IngestAudienceMembersResponse; import com.google.ads.datamanager.v1.IngestionServiceClient; +import com.google.ads.datamanager.v1.IngestionServiceSettings; import com.google.ads.datamanager.v1.IpData; import com.google.ads.datamanager.v1.ProductAccount; import com.google.ads.datamanager.v1.ProductAccount.AccountType; @@ -37,6 +38,7 @@ import com.google.ads.datamanager.v1.TermsOfServiceStatus; import com.google.ads.datamanager.v1.UserData; import com.google.ads.datamanager.v1.UserIdentifier; +import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider; import com.google.common.base.Strings; import com.google.common.collect.Lists; import com.google.common.reflect.TypeToken; @@ -317,7 +319,17 @@ private void runExample(ParamsConfig params) throws IOException, GeneralSecurity .build(); } - try (IngestionServiceClient ingestionServiceClient = IngestionServiceClient.create()) { + // [START create_client] + // Creates a client for the ingestion service. Increases the maximum metadata size to 16MB to + // prevent RESOURCE_EXHAUSTED errors when responses contain large error details. + InstantiatingGrpcChannelProvider provider = + IngestionServiceSettings.defaultGrpcTransportProviderBuilder() + .setMaxInboundMetadataSize(16 * 1024 * 1024) + .build(); + IngestionServiceSettings settings = + IngestionServiceSettings.newBuilder().setTransportChannelProvider(provider).build(); + try (IngestionServiceClient ingestionServiceClient = IngestionServiceClient.create(settings)) { + // [END create_client] int requestCount = 0; // Batches requests to send up to the maximum number of audience members per request. for (List audienceMembersBatch : diff --git a/data-manager-samples/src/main/java/com/google/ads/datamanager/samples/IngestEvents.java b/data-manager-samples/src/main/java/com/google/ads/datamanager/samples/IngestEvents.java index fef4253..29b0baa 100644 --- a/data-manager-samples/src/main/java/com/google/ads/datamanager/samples/IngestEvents.java +++ b/data-manager-samples/src/main/java/com/google/ads/datamanager/samples/IngestEvents.java @@ -27,10 +27,12 @@ import com.google.ads.datamanager.v1.IngestEventsRequest; import com.google.ads.datamanager.v1.IngestEventsResponse; import com.google.ads.datamanager.v1.IngestionServiceClient; +import com.google.ads.datamanager.v1.IngestionServiceSettings; import com.google.ads.datamanager.v1.ProductAccount; import com.google.ads.datamanager.v1.ProductAccount.AccountType; import com.google.ads.datamanager.v1.UserData; import com.google.ads.datamanager.v1.UserIdentifier; +import com.google.api.gax.grpc.InstantiatingGrpcChannelProvider; import com.google.common.base.Strings; import com.google.common.collect.Lists; import com.google.common.reflect.TypeToken; @@ -242,7 +244,15 @@ private void runExample(ParamsConfig params) throws IOException { .setAccountId(params.linkedAccountId)); } - try (IngestionServiceClient ingestionServiceClient = IngestionServiceClient.create()) { + // Creates a client for the ingestion service. Increases the maximum metadata size to 16MB to + // prevent RESOURCE_EXHAUSTED errors when responses contain large error details. + InstantiatingGrpcChannelProvider provider = + IngestionServiceSettings.defaultGrpcTransportProviderBuilder() + .setMaxInboundMetadataSize(16 * 1024 * 1024) + .build(); + IngestionServiceSettings settings = + IngestionServiceSettings.newBuilder().setTransportChannelProvider(provider).build(); + try (IngestionServiceClient ingestionServiceClient = IngestionServiceClient.create(settings)) { int requestCount = 0; // Batches requests to send up to the maximum number of events per request. for (List eventsBatch : Lists.partition(events, MAX_EVENTS_PER_REQUEST)) {