8000 feat: increase GRPC max metadata size to 4 MB (#623) · googleapis/python-pubsub@54b9e07 · GitHub
[go: up one dir, main page]

Skip to content
This repository was archived by the owner on Mar 9, 2026. It is now read-only.

Commit 54b9e07

Browse files
authored
feat: increase GRPC max metadata size to 4 MB (#623)
* Ack/modack operations on subscriptions with exactly-once delivery enabled may return up to 4 MB of metadata (about ack/modack success/failure) * It's unclear what the current limit is (I searched far and wide), but it seems to be lower than 4 MB. So, we're currently seeing subscription StreamingPull stream closures as a result of this low limit. We aim to keep subscription the same for subscribers to exactly-once subscriptions, even if they don't use the new *with_response methods, so this fix ensures that.
1 parent 071300f commit 54b9e07

File tree

10 files changed

+22
-0
lines changed

10 files changed

+22
-0
lines changed

google/pubsub_v1/services/publisher/transports/grpc.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,7 @@ def __init__(
173173
options=[
174174
("grpc.max_send_message_length", -1),
175175
("grpc.max_receive_message_length", -1),
176+
("grpc.max_metadata_size", 4 * 1024 * 1024),
176177
("grpc.keepalive_time_ms", 30000),
177178
],
178179
)

google/pubsub_v1/services/publisher/transports/grpc_asyncio.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -218,6 +218,7 @@ def __init__(
218218
options=[
219219
("grpc.max_send_message_length", -1),
220220
("grpc.max_receive_message_length", -1),
221+
("grpc.max_metadata_size", 4 * 1024 * 1024),
221222
("grpc.keepalive_time_ms", 30000),
222223
],
223224
)

google/pubsub_v1/services/schema_service/transports/grpc.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,7 @@ def __init__(
173173
options=[
174174
("grpc.max_send_message_length", -1),
175175
("grpc.max_receive_message_length", -1),
176+
("grpc.max_metadata_size", 4 * 1024 * 1024),
176177
("grpc.keepalive_time_ms", 30000),
177178
],
178179
)

google/pubsub_v1/services/schema_service/transports/grpc_asyncio.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -218,6 +218,7 @@ def __init__(
218218
options=[
219219
("grpc.max_send_message_length", -1),
220220
("grpc.max_receive_message_length", -1),
221+
("grpc.max_metadata_size", 4 * 1024 * 1024),
221222
("grpc.keepalive_time_ms", 30000),
222223
],
223224
)

google/pubsub_v1/services/subscriber/transports/grpc.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,7 @@ def __init__(
175175
options=[
176176
("grpc.max_send_message_length", -1),
177177
("grpc.max_receive_message_length", -1),
178+
("grpc.max_metadata_size", 4 * 1024 * 1024),
178179
("grpc.keepalive_time_ms", 30000),
179180
],
180181
)

google/pubsub_v1/services/subscriber/transports/grpc_asyncio.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,6 +220,7 @@ def __init__(
220220
options=[
221221
("grpc.max_send_message_length", -1),
222222
("grpc.max_receive_message_length", -1),
223+
("grpc.max_metadata_size", 4 * 1024 * 1024),
223224
("grpc.keepalive_time_ms", 30000),
224225
],
225226
)

owlbot.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@
7272
"""options=[
7373
("grpc.max_send_message_length", -1),
7474
("grpc.max_receive_message_length", -1),
75+
("grpc.max_metadata_size", 4 * 1024 * 1024),
7576
("grpc.keepalive_time_ms", 30000),
7677
]""",
7778
flags=re.MULTILINE | re.DOTALL,

test E0C2 s/unit/gapic/pubsub_v1/test_publisher.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -606,6 +606,7 @@ def test_publisher_client_create_channel_credentials_file(
606606
options=[
607607
("grpc.max_send_message_length", -1),
608608
("grpc.max_receive_message_length", -1),
609+
("grpc.max_metadata_size", 4 * 1024 * 1024),
609610
("grpc.keepalive_time_ms", 30000),
610611
],
611612
)
@@ -2909,6 +2910,7 @@ def test_publisher_transport_create_channel(transport_class, grpc_helpers):
29092910
options=[
29102911
("grpc.max_send_message_length", -1),
29112912
("grpc.max_receive_message_length", -1),
2913+
("grpc.max_metadata_size", 4 * 1024 * 1024),
29122914
("grpc.keepalive_time_ms", 30000),
29132915
],
29142916
)
@@ -2939,6 +2941,7 @@ def test_publisher_grpc_transport_client_cert_source_for_mtls(transport_class):
29392941
options=[
29402942
("grpc.max_send_message_length", -1),
29412943
("grpc.max_receive_message_length", -1),
2944+
("grpc.max_metadata_size", 4 * 1024 * 1024),
29422945
("grpc.keepalive_time_ms", 30000),
29432946
],
29442947
)
@@ -3044,6 +3047,7 @@ def test_publisher_transport_channel_mtls_with_client_cert_source(transport_clas
30443047
options=[
30453048
("grpc.max_send_message_length", -1),
30463049
("grpc.max_receive_message_length", -1),
3050+
("grpc.max_metadata_size", 4 * 1024 * 1024),
30473051
("grpc.keepalive_time_ms", 30000),
30483052
],
30493053
)
@@ -3089,6 +3093,7 @@ def test_publisher_transport_channel_mtls_with_adc(transport_class):
30893093
options=[
30903094
("grpc.max_send_message_length", -1),
30913095
("grpc.max_receive_message_length", -1),
3096+
("grpc.max_metadata_size", 4 * 1024 * 1024),
30923097
("grpc.keepalive_time_ms", 30000),
30933098
],
30943099
)

tests/unit/gapic/pu E0C2 bsub_v1/test_schema_service.py

Lines changed: 5 additions & 0 deletions
2AFE
Original file line numberDiff line numberDiff line change
@@ -634,6 +634,7 @@ def test_schema_service_client_create_channel_credentials_file(
634634
options=[
635635
("grpc.max_send_message_length", -1),
636636
("grpc.max_receive_message_length", -1),
637+
("grpc.max_metadata_size", 4 * 1024 * 1024),
637638
("grpc.keepalive_time_ms", 30000),
638639
],
639640
)
@@ -2175,6 +2176,7 @@ def test_schema_service_transport_create_channel(transport_class, grpc_helpers):
21752176
options=[
21762177
("grpc.max_send_message_length", -1),
21772178
("grpc.max_receive_message_length", -1),
2179+
("grpc.max_metadata_size", 4 * 1024 * 1024),
21782180
("grpc.keepalive_time_ms", 30000),
21792181
],
21802182
)
@@ -2208,6 +2210,7 @@ def test_schema_service_grpc_transport_client_cert_source_for_mtls(transport_cla
22082210
options=[
22092211
("grpc.max_send_message_length", -1),
22102212
("grpc.max_receive_message_length", -1),
2213+
("grpc.max_metadata_size", 4 * 1024 * 1024),
22112214
("grpc.keepalive_time_ms", 30000),
22122215
],
22132216
)
@@ -2316,6 +2319,7 @@ def test_schema_service_transport_channel_mtls_with_client_cert_source(transport
23162319
options=[
23172320
("grpc.max_send_message_length", -1),
23182321
("grpc.max_receive_message_length", -1),
2322+
("grpc.max_metadata_size", 4 * 1024 * 1024),
23192323
("grpc.keepalive_time_ms", 30000),
23202324
],
23212325
)
@@ -2364,6 +2368,7 @@ def test_schema_service_transport_channel_mtls_with_adc(transport_class):
23642368
options=[
23652369
("grpc.max_send_message_length", -1),
23662370
("grpc.max_receive_message_length", -1),
2371+
("grpc.max_metadata_size", 4 * 1024 * 1024),
23672372
("grpc.keepalive_time_ms", 30000),
23682373
],
23692374
)

‎< E0C2 !-- -->tests/unit/gapic/pubsub_v1/test_subscriber.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -610,6 +610,7 @@ def test_subscriber_client_create_channel_credentials_file(
610610
options=[
611611
("grpc.max_send_message_length", -1),
612612
("grpc.max_receive_message_length", -1),
613+
("grpc.max_metadata_size", 4 * 1024 * 1024),
613614
("grpc.keepalive_time_ms", 30000),
614615
],
615616
)
@@ -4204,6 +4205,7 @@ def test_subscriber_transport_create_channel(transport_class, grpc_helpers):
42044205
options=[
42054206
("grpc.max_send_message_length", -1),
42064207
("grpc.max_receive_message_length", -1),
4208+
("grpc.max_metadata_size", 4 * 1024 * 1024),
42074209
("grpc.keepalive_time_ms", 30000),
42084210
],
42094211
)
@@ -4234,6 +4236,7 @@ def test_subscriber_grpc_transport_client_cert_source_for_mtls(transport_class):
42344236
options=[
42354237
("grpc.max_send_message_length", -1),
42364238
("grpc.max_receive_message_length", -1),
4239+
("grpc.max_metadata_size", 4 * 1024 * 1024),
42374240
("grpc.keepalive_time_ms", 30000),
42384241
],
42394242
)
@@ -4339,6 +4342,7 @@ def test_subscriber_transport_channel_mtls_with_client_cert_source(transport_cla
43394342
options=[
43404343
("grpc.max_send_message_length", -1),
43414344
("grpc.max_receive_message_length", -1),
4345+
("grpc.max_metadata_size", 4 * 1024 * 1024),
43424346
("grpc.keepalive_time_ms", 30000),
43434347
],
43444348
)
@@ -4384,6 +4388,7 @@ def test_subscriber_transport_channel_mtls_with_adc(transport_class):
43844388
options=[
43854389
("grpc.max_send_message_length", -1),
43864390
("grpc.max_receive_message_length", -1),
4391+
("grpc.max_metadata_size", 4 * 1024 * 1024),
43874392
("grpc.keepalive_time_ms", 30000),
43884393
],
43894394
)

0 commit comments

Comments
 (0)
0