grpc 1.82.0 → 1.83.0.pre1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Makefile +8 -5
- data/etc/roots.pem +10400 -3855
- data/include/grpc/grpc_audit_logging.h +2 -2
- data/include/grpc/grpc_security_constants.h +2 -0
- data/include/grpc/impl/channel_arg_names.h +23 -0
- data/src/core/call/call_filters.h +19 -3
- data/src/core/call/call_spine.h +4 -4
- data/src/core/call/client_call.cc +1 -1
- data/src/core/call/metadata.cc +7 -2
- data/src/core/call/server_call.cc +13 -3
- data/src/core/call/server_call.h +5 -3
- data/src/core/client_channel/backup_poller.cc +2 -17
- data/src/core/client_channel/client_channel.cc +17 -14
- data/src/core/client_channel/client_channel.h +3 -1
- data/src/core/client_channel/client_channel_filter.cc +11 -13
- data/src/core/client_channel/client_channel_service_config.cc +5 -13
- data/src/core/client_channel/direct_channel.cc +5 -1
- data/src/core/client_channel/direct_channel.h +3 -1
- data/src/core/config/experiment_env_var.cc +30 -0
- data/src/core/config/experiment_env_var.h +26 -0
- data/src/core/credentials/call/regional_access_boundary_fetcher.cc +6 -6
- data/src/core/credentials/transport/ssl/ssl_security_connector.cc +14 -2
- data/src/core/credentials/transport/tls/grpc_tls_certificate_selector.cc +172 -0
- data/src/core/credentials/transport/tls/grpc_tls_certificate_selector.h +103 -0
- data/src/core/credentials/transport/tls/load_system_roots_fallback.cc +3 -2
- data/src/core/credentials/transport/tls/load_system_roots_supported.cc +10 -3
- data/src/core/credentials/transport/tls/tls_security_connector.cc +14 -2
- data/src/core/credentials/transport/xds/xds_credentials.cc +4 -12
- data/src/core/ext/filters/rbac/rbac_service_config_parser.cc +2 -1
- data/src/core/ext/transport/chttp2/server/chttp2_server.cc +19 -13
- data/src/core/ext/transport/chttp2/transport/chttp2_transport.cc +11 -9
- data/src/core/ext/transport/chttp2/transport/flow_control.cc +2 -2
- data/src/core/ext/transport/chttp2/transport/flow_control.h +3 -2
- data/src/core/ext/transport/chttp2/transport/frame.cc +58 -1
- data/src/core/ext/transport/chttp2/transport/frame.h +13 -1
- data/src/core/ext/transport/chttp2/transport/frame_rst_stream.cc +2 -4
- data/src/core/ext/transport/chttp2/transport/frame_security.cc +10 -1
- data/src/core/ext/transport/chttp2/transport/frame_security.h +2 -1
- data/src/core/ext/transport/chttp2/transport/goaway.cc +11 -1
- data/src/core/ext/transport/chttp2/transport/goaway.h +17 -1
- data/src/core/ext/transport/chttp2/transport/hpack_parser.cc +9 -0
- data/src/core/ext/transport/chttp2/transport/http2_client_transport.cc +117 -276
- data/src/core/ext/transport/chttp2/transport/http2_client_transport.h +44 -17
- data/src/core/ext/transport/chttp2/transport/http2_server_transport.cc +382 -496
- data/src/core/ext/transport/chttp2/transport/http2_server_transport.h +75 -77
- data/src/core/ext/transport/chttp2/transport/http2_settings.cc +1 -1
- data/src/core/ext/transport/chttp2/transport/http2_settings.h +30 -11
- data/src/core/ext/transport/chttp2/transport/http2_settings_promises.h +24 -9
- data/src/core/ext/transport/chttp2/transport/http2_transport.cc +26 -0
- data/src/core/ext/transport/chttp2/transport/http2_transport.h +2 -0
- data/src/core/ext/transport/chttp2/transport/internal.h +4 -0
- data/src/core/ext/transport/chttp2/transport/parsing.cc +3 -2
- data/src/core/ext/transport/chttp2/transport/ping_promise.cc +1 -1
- data/src/core/ext/transport/chttp2/transport/ping_rate_policy.cc +4 -10
- data/src/core/ext/transport/chttp2/transport/read_context.h +62 -20
- data/src/core/ext/transport/chttp2/transport/security_frame.h +1 -0
- data/src/core/ext/transport/chttp2/transport/stream.h +271 -120
- data/src/core/ext/transport/chttp2/transport/stream_data_queue.h +77 -61
- data/src/core/handshaker/security/secure_endpoint.cc +0 -13
- data/src/core/lib/channel/promise_based_filter.cc +77 -3
- data/src/core/lib/channel/promise_based_filter.h +238 -184
- data/src/core/lib/event_engine/extensions/receive_coalescing_extension.h +0 -4
- data/src/core/lib/event_engine/extensions/tcp_trace.h +1 -1
- data/src/core/lib/event_engine/posix_engine/posix_engine.cc +2 -12
- data/src/core/lib/event_engine/shim.cc +2 -16
- data/src/core/lib/event_engine/shim.h +0 -4
- data/src/core/lib/experiments/experiments.cc +51 -102
- data/src/core/lib/experiments/experiments.h +37 -59
- data/src/core/lib/iomgr/error.cc +3 -73
- data/src/core/lib/iomgr/error.h +8 -6
- data/src/core/lib/iomgr/error_cfstream.cc +1 -2
- data/src/core/lib/iomgr/ev_epoll1_linux.cc +2 -6
- data/src/core/lib/iomgr/ev_poll_posix.cc +2 -6
- data/src/core/lib/iomgr/tcp_posix.cc +2 -6
- data/src/core/lib/security/authorization/audit_logging.cc +2 -2
- data/src/core/lib/security/authorization/audit_logging.h +3 -3
- data/src/core/lib/security/authorization/grpc_authorization_engine.cc +11 -13
- data/src/core/lib/security/authorization/grpc_authorization_engine.h +1 -1
- data/src/core/lib/security/authorization/matchers.cc +20 -20
- data/src/core/lib/security/authorization/matchers.h +15 -16
- data/src/core/lib/security/authorization/rbac_policy.h +1 -1
- data/src/core/lib/security/authorization/stdout_logger.cc +3 -3
- data/src/core/lib/security/authorization/stdout_logger.h +6 -5
- data/src/core/lib/surface/call.cc +0 -8
- data/src/core/lib/surface/call.h +2 -0
- data/src/core/lib/surface/channel.cc +21 -2
- data/src/core/lib/surface/channel.h +14 -6
- data/src/core/lib/surface/filter_stack_call.cc +10 -29
- data/src/core/lib/surface/legacy_channel.cc +7 -7
- data/src/core/lib/surface/legacy_channel.h +3 -1
- data/src/core/lib/surface/version.cc +2 -2
- data/src/core/lib/transport/bdp_estimator.cc +13 -13
- data/src/core/lib/transport/bdp_estimator.h +9 -5
- data/src/core/lib/transport/error_utils.cc +26 -138
- data/src/core/lib/transport/promise_endpoint.h +2 -4
- data/src/core/load_balancing/grpclb/grpclb.cc +2 -1
- data/src/core/load_balancing/pick_first/pick_first.cc +33 -2
- data/src/core/load_balancing/pick_first/pick_first.h +6 -0
- data/src/core/load_balancing/ring_hash/ring_hash.cc +3 -10
- data/src/core/load_balancing/rls/rls.cc +2 -1
- data/src/core/load_balancing/weighted_round_robin/weighted_round_robin.cc +2 -7
- data/src/core/load_balancing/xds/cds.cc +80 -56
- data/src/core/load_balancing/xds/cds.h +21 -0
- data/src/core/mitigation_engine/mitigation.h +53 -0
- data/src/core/mitigation_engine/mitigation_provider.h +62 -0
- data/src/core/resolver/dns/dns_resolver_plugin.cc +1 -6
- data/src/core/resolver/xds/xds_resolver.cc +14 -11
- data/src/core/server/server.h +1 -4
- data/src/core/server/server_config_selector.h +5 -4
- data/src/core/server/server_config_selector_filter.cc +67 -80
- data/src/core/server/xds_server_config_fetcher.cc +681 -692
- data/src/core/server/xds_server_config_fetcher_legacy.cc +15 -12
- data/src/core/telemetry/call_tracer.cc +49 -2
- data/src/core/telemetry/call_tracer.h +1 -0
- data/src/core/telemetry/tcp_tracer.h +38 -0
- data/src/core/tsi/alts/handshaker/alts_handshaker_client.cc +1 -1
- data/src/core/tsi/ssl_telemetry_utils.cc +343 -0
- data/src/core/tsi/ssl_telemetry_utils.h +74 -0
- data/src/core/tsi/ssl_transport_security.cc +577 -301
- data/src/core/tsi/ssl_transport_security.h +22 -6
- data/src/core/tsi/ssl_transport_security_utils.cc +2 -0
- data/src/core/tsi/transport_security.h +7 -0
- data/src/core/util/http_client/httpcli.cc +1 -4
- data/src/core/util/http_client/httpcli_security_connector.cc +2 -1
- data/src/core/util/status_helper.cc +71 -192
- data/src/core/util/status_helper.h +16 -21
- data/src/core/xds/grpc/file_watcher_certificate_provider_factory.cc +2 -11
- data/src/core/xds/grpc/xds_bootstrap_grpc.cc +2 -7
- data/src/core/xds/grpc/xds_cluster_parser.cc +5 -16
- data/src/core/xds/grpc/xds_common_types.cc +94 -38
- data/src/core/xds/grpc/xds_common_types.h +33 -18
- data/src/core/xds/grpc/xds_common_types_parser.cc +168 -100
- data/src/core/xds/grpc/xds_common_types_parser.h +18 -1
- data/src/core/xds/grpc/xds_endpoint_parser.cc +6 -17
- data/src/core/xds/grpc/xds_http_filter_registry.cc +2 -10
- data/src/core/xds/grpc/xds_http_rbac_filter.cc +3 -12
- data/src/core/xds/grpc/xds_metadata_parser.cc +0 -2
- data/src/core/xds/grpc/xds_route_config_parser.cc +7 -11
- data/src/core/xds/grpc/xds_routing.cc +113 -82
- data/src/core/xds/grpc/xds_routing.h +70 -20
- data/src/core/xds/grpc/xds_server_grpc.cc +22 -13
- data/src/core/xds/grpc/xds_server_grpc.h +16 -2
- data/src/core/xds/grpc/xds_server_grpc_interface.h +10 -0
- data/src/core/xds/grpc/xds_transport_grpc.cc +123 -18
- data/src/core/xds/grpc/xds_transport_grpc.h +28 -4
- data/src/core/xds/xds_client/lrs_client.cc +3 -7
- data/src/core/xds/xds_client/xds_bootstrap.cc +4 -16
- data/src/core/xds/xds_client/xds_client.cc +2 -15
- data/src/core/xds/xds_client/xds_transport.h +3 -0
- data/src/ruby/lib/grpc/version.rb +1 -1
- data/src/ruby/pb/src/proto/grpc/testing/messages_pb.rb +1 -1
- metadata +9 -1
|
@@ -54,9 +54,6 @@ const char* const additional_constraints_chaotic_good_send_supported_features =
|
|
|
54
54
|
const char* const description_custom_frame_check =
|
|
55
55
|
"Adding checks to custom HTTP2 frame.";
|
|
56
56
|
const char* const additional_constraints_custom_frame_check = "{}";
|
|
57
|
-
const char* const description_error_flatten =
|
|
58
|
-
"Flatten errors to ordinary absl::Status form.";
|
|
59
|
-
const char* const additional_constraints_error_flatten = "{}";
|
|
60
57
|
const char* const description_event_engine_client =
|
|
61
58
|
"Use EventEngine clients instead of iomgr's grpc_tcp_client";
|
|
62
59
|
const char* const additional_constraints_event_engine_client = "{}";
|
|
@@ -92,9 +89,6 @@ const uint8_t required_experiments_event_engine_for_all_other_endpoints[] = {
|
|
|
92
89
|
static_cast<uint8_t>(
|
|
93
90
|
grpc_core::kExperimentIdEventEngineDnsNonClientChannel),
|
|
94
91
|
static_cast<uint8_t>(grpc_core::kExperimentIdEventEngineListener)};
|
|
95
|
-
const char* const description_event_engine_poller_for_python =
|
|
96
|
-
"Enable event engine poller in gRPC Python";
|
|
97
|
-
const char* const additional_constraints_event_engine_poller_for_python = "{}";
|
|
98
92
|
const char* const description_fail_recv_metadata_on_deadline_exceeded =
|
|
99
93
|
"Fail recv initial metadata when the deadline is exceeded.";
|
|
100
94
|
const char* const
|
|
@@ -120,9 +114,6 @@ const char* const description_local_connector_secure =
|
|
|
120
114
|
"Local security connector uses TSI_SECURITY_NONE for LOCAL_TCP "
|
|
121
115
|
"connections.";
|
|
122
116
|
const char* const additional_constraints_local_connector_secure = "{}";
|
|
123
|
-
const char* const description_max_inflight_pings_strict_limit =
|
|
124
|
-
"If set, the max inflight pings limit is strictly enforced.";
|
|
125
|
-
const char* const additional_constraints_max_inflight_pings_strict_limit = "{}";
|
|
126
117
|
const char* const description_memory_optimization_01 = "Memory Optimization";
|
|
127
118
|
const char* const additional_constraints_memory_optimization_01 = "{}";
|
|
128
119
|
const char* const description_memory_optimization_02 = "Memory Optimization 02";
|
|
@@ -151,6 +142,10 @@ const char* const description_optimization_03 = "Optimization";
|
|
|
151
142
|
const char* const additional_constraints_optimization_03 = "{}";
|
|
152
143
|
const char* const description_optimization_04 = "Optimization";
|
|
153
144
|
const char* const additional_constraints_optimization_04 = "{}";
|
|
145
|
+
const char* const description_optimization_05 = "Optimization";
|
|
146
|
+
const char* const additional_constraints_optimization_05 = "{}";
|
|
147
|
+
const char* const description_optimization_06 = "Optimization";
|
|
148
|
+
const char* const additional_constraints_optimization_06 = "{}";
|
|
154
149
|
const char* const description_otel_export_telemetry_domains =
|
|
155
150
|
"Export telemetry domains in OpenTelemetry metrics.";
|
|
156
151
|
const char* const additional_constraints_otel_export_telemetry_domains = "{}";
|
|
@@ -242,11 +237,6 @@ const char* const additional_constraints_skip_clear_peer_on_cancellation = "{}";
|
|
|
242
237
|
const char* const description_subchannel_connection_scaling =
|
|
243
238
|
"Subchannel connection scaling support.";
|
|
244
239
|
const char* const additional_constraints_subchannel_connection_scaling = "{}";
|
|
245
|
-
const char* const description_subchannel_wrapper_cleanup_on_orphan =
|
|
246
|
-
"Fixes the subchannel wrapper to drop any non-cancelled watchers when it "
|
|
247
|
-
"gets orphaned.";
|
|
248
|
-
const char* const additional_constraints_subchannel_wrapper_cleanup_on_orphan =
|
|
249
|
-
"{}";
|
|
250
240
|
const char* const description_tcp_frame_size_tuning =
|
|
251
241
|
"If set, enables TCP to use RPC size estimation made by higher layers. TCP "
|
|
252
242
|
"would not indicate completion of a read operation until a specified "
|
|
@@ -284,6 +274,9 @@ const char* const description_xds_server_filter_chain_per_route =
|
|
|
284
274
|
"xDS servers use a separate filter chain for each route.";
|
|
285
275
|
const char* const additional_constraints_xds_server_filter_chain_per_route =
|
|
286
276
|
"{}";
|
|
277
|
+
const uint8_t required_experiments_xds_server_filter_chain_per_route[] = {
|
|
278
|
+
static_cast<uint8_t>(
|
|
279
|
+
grpc_core::kExperimentIdV2NonOwningWakerImplementation)};
|
|
287
280
|
} // namespace
|
|
288
281
|
|
|
289
282
|
namespace grpc_core {
|
|
@@ -309,11 +302,9 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
|
309
302
|
{"chaotic_good_send_supported_features",
|
|
310
303
|
description_chaotic_good_send_supported_features,
|
|
311
304
|
additional_constraints_chaotic_good_send_supported_features, nullptr, 0,
|
|
312
|
-
|
|
305
|
+
true, true},
|
|
313
306
|
{"custom_frame_check", description_custom_frame_check,
|
|
314
307
|
additional_constraints_custom_frame_check, nullptr, 0, true, false},
|
|
315
|
-
{"error_flatten", description_error_flatten,
|
|
316
|
-
additional_constraints_error_flatten, nullptr, 0, true, false},
|
|
317
308
|
{"event_engine_client", description_event_engine_client,
|
|
318
309
|
additional_constraints_event_engine_client, nullptr, 0, true, false},
|
|
319
310
|
{"event_engine_dns", description_event_engine_dns,
|
|
@@ -333,10 +324,6 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
|
333
324
|
description_event_engine_for_all_other_endpoints,
|
|
334
325
|
additional_constraints_event_engine_for_all_other_endpoints,
|
|
335
326
|
required_experiments_event_engine_for_all_other_endpoints, 4, true, false},
|
|
336
|
-
{"event_engine_poller_for_python",
|
|
337
|
-
description_event_engine_poller_for_python,
|
|
338
|
-
additional_constraints_event_engine_poller_for_python, nullptr, 0, true,
|
|
339
|
-
true},
|
|
340
327
|
{"fail_recv_metadata_on_deadline_exceeded",
|
|
341
328
|
description_fail_recv_metadata_on_deadline_exceeded,
|
|
342
329
|
additional_constraints_fail_recv_metadata_on_deadline_exceeded, nullptr, 0,
|
|
@@ -356,10 +343,6 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
|
356
343
|
true},
|
|
357
344
|
{"local_connector_secure", description_local_connector_secure,
|
|
358
345
|
additional_constraints_local_connector_secure, nullptr, 0, false, true},
|
|
359
|
-
{"max_inflight_pings_strict_limit",
|
|
360
|
-
description_max_inflight_pings_strict_limit,
|
|
361
|
-
additional_constraints_max_inflight_pings_strict_limit, nullptr, 0, true,
|
|
362
|
-
true},
|
|
363
346
|
{"memory_optimization_01", description_memory_optimization_01,
|
|
364
347
|
additional_constraints_memory_optimization_01, nullptr, 0, false, false},
|
|
365
348
|
{"memory_optimization_02", description_memory_optimization_02,
|
|
@@ -371,7 +354,7 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
|
371
354
|
additional_constraints_metadata_outstanding_token_refactor, nullptr, 0,
|
|
372
355
|
false, true},
|
|
373
356
|
{"metadata_publish_to_app_tag", description_metadata_publish_to_app_tag,
|
|
374
|
-
additional_constraints_metadata_publish_to_app_tag, nullptr, 0,
|
|
357
|
+
additional_constraints_metadata_publish_to_app_tag, nullptr, 0, false,
|
|
375
358
|
true},
|
|
376
359
|
{"monitoring_experiment", description_monitoring_experiment,
|
|
377
360
|
additional_constraints_monitoring_experiment, nullptr, 0, true, true},
|
|
@@ -385,6 +368,10 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
|
385
368
|
additional_constraints_optimization_03, nullptr, 0, true, true},
|
|
386
369
|
{"optimization_04", description_optimization_04,
|
|
387
370
|
additional_constraints_optimization_04, nullptr, 0, true, true},
|
|
371
|
+
{"optimization_05", description_optimization_05,
|
|
372
|
+
additional_constraints_optimization_05, nullptr, 0, false, true},
|
|
373
|
+
{"optimization_06", description_optimization_06,
|
|
374
|
+
additional_constraints_optimization_06, nullptr, 0, false, true},
|
|
388
375
|
{"otel_export_telemetry_domains", description_otel_export_telemetry_domains,
|
|
389
376
|
additional_constraints_otel_export_telemetry_domains, nullptr, 0, false,
|
|
390
377
|
true},
|
|
@@ -425,7 +412,7 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
|
425
412
|
{"retry_in_callv3", description_retry_in_callv3,
|
|
426
413
|
additional_constraints_retry_in_callv3, nullptr, 0, false, true},
|
|
427
414
|
{"return_preexisting_errors", description_return_preexisting_errors,
|
|
428
|
-
additional_constraints_return_preexisting_errors, nullptr, 0,
|
|
415
|
+
additional_constraints_return_preexisting_errors, nullptr, 0, true, true},
|
|
429
416
|
{"schedule_cancellation_over_write",
|
|
430
417
|
description_schedule_cancellation_over_write,
|
|
431
418
|
additional_constraints_schedule_cancellation_over_write, nullptr, 0, false,
|
|
@@ -447,12 +434,8 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
|
447
434
|
additional_constraints_skip_clear_peer_on_cancellation, nullptr, 0, false,
|
|
448
435
|
true},
|
|
449
436
|
{"subchannel_connection_scaling", description_subchannel_connection_scaling,
|
|
450
|
-
additional_constraints_subchannel_connection_scaling, nullptr, 0,
|
|
437
|
+
additional_constraints_subchannel_connection_scaling, nullptr, 0, true,
|
|
451
438
|
true},
|
|
452
|
-
{"subchannel_wrapper_cleanup_on_orphan",
|
|
453
|
-
description_subchannel_wrapper_cleanup_on_orphan,
|
|
454
|
-
additional_constraints_subchannel_wrapper_cleanup_on_orphan, nullptr, 0,
|
|
455
|
-
true, true},
|
|
456
439
|
{"tcp_frame_size_tuning", description_tcp_frame_size_tuning,
|
|
457
440
|
additional_constraints_tcp_frame_size_tuning, nullptr, 0, false, true},
|
|
458
441
|
{"tcp_rcv_lowat", description_tcp_rcv_lowat,
|
|
@@ -483,8 +466,8 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
|
483
466
|
false, true},
|
|
484
467
|
{"xds_server_filter_chain_per_route",
|
|
485
468
|
description_xds_server_filter_chain_per_route,
|
|
486
|
-
additional_constraints_xds_server_filter_chain_per_route,
|
|
487
|
-
false, true},
|
|
469
|
+
additional_constraints_xds_server_filter_chain_per_route,
|
|
470
|
+
required_experiments_xds_server_filter_chain_per_route, 1, false, true},
|
|
488
471
|
};
|
|
489
472
|
|
|
490
473
|
} // namespace grpc_core
|
|
@@ -522,9 +505,6 @@ const char* const additional_constraints_chaotic_good_send_supported_features =
|
|
|
522
505
|
const char* const description_custom_frame_check =
|
|
523
506
|
"Adding checks to custom HTTP2 frame.";
|
|
524
507
|
const char* const additional_constraints_custom_frame_check = "{}";
|
|
525
|
-
const char* const description_error_flatten =
|
|
526
|
-
"Flatten errors to ordinary absl::Status form.";
|
|
527
|
-
const char* const additional_constraints_error_flatten = "{}";
|
|
528
508
|
const char* const description_event_engine_client =
|
|
529
509
|
"Use EventEngine clients instead of iomgr's grpc_tcp_client";
|
|
530
510
|
const char* const additional_constraints_event_engine_client = "{}";
|
|
@@ -560,9 +540,6 @@ const uint8_t required_experiments_event_engine_for_all_other_endpoints[] = {
|
|
|
560
540
|
static_cast<uint8_t>(
|
|
561
541
|
grpc_core::kExperimentIdEventEngineDnsNonClientChannel),
|
|
562
542
|
static_cast<uint8_t>(grpc_core::kExperimentIdEventEngineListener)};
|
|
563
|
-
const char* const description_event_engine_poller_for_python =
|
|
564
|
-
"Enable event engine poller in gRPC Python";
|
|
565
|
-
const char* const additional_constraints_event_engine_poller_for_python = "{}";
|
|
566
543
|
const char* const description_fail_recv_metadata_on_deadline_exceeded =
|
|
567
544
|
"Fail recv initial metadata when the deadline is exceeded.";
|
|
568
545
|
const char* const
|
|
@@ -588,9 +565,6 @@ const char* const description_local_connector_secure =
|
|
|
588
565
|
"Local security connector uses TSI_SECURITY_NONE for LOCAL_TCP "
|
|
589
566
|
"connections.";
|
|
590
567
|
const char* const additional_constraints_local_connector_secure = "{}";
|
|
591
|
-
const char* const description_max_inflight_pings_strict_limit =
|
|
592
|
-
"If set, the max inflight pings limit is strictly enforced.";
|
|
593
|
-
const char* const additional_constraints_max_inflight_pings_strict_limit = "{}";
|
|
594
568
|
const char* const description_memory_optimization_01 = "Memory Optimization";
|
|
595
569
|
const char* const additional_constraints_memory_optimization_01 = "{}";
|
|
596
570
|
const char* const description_memory_optimization_02 = "Memory Optimization 02";
|
|
@@ -619,6 +593,10 @@ const char* const description_optimization_03 = "Optimization";
|
|
|
619
593
|
const char* const additional_constraints_optimization_03 = "{}";
|
|
620
594
|
const char* const description_optimization_04 = "Optimization";
|
|
621
595
|
const char* const additional_constraints_optimization_04 = "{}";
|
|
596
|
+
const char* const description_optimization_05 = "Optimization";
|
|
597
|
+
const char* const additional_constraints_optimization_05 = "{}";
|
|
598
|
+
const char* const description_optimization_06 = "Optimization";
|
|
599
|
+
const char* const additional_constraints_optimization_06 = "{}";
|
|
622
600
|
const char* const description_otel_export_telemetry_domains =
|
|
623
601
|
"Export telemetry domains in OpenTelemetry metrics.";
|
|
624
602
|
const char* const additional_constraints_otel_export_telemetry_domains = "{}";
|
|
@@ -710,11 +688,6 @@ const char* const additional_constraints_skip_clear_peer_on_cancellation = "{}";
|
|
|
710
688
|
const char* const description_subchannel_connection_scaling =
|
|
711
689
|
"Subchannel connection scaling support.";
|
|
712
690
|
const char* const additional_constraints_subchannel_connection_scaling = "{}";
|
|
713
|
-
const char* const description_subchannel_wrapper_cleanup_on_orphan =
|
|
714
|
-
"Fixes the subchannel wrapper to drop any non-cancelled watchers when it "
|
|
715
|
-
"gets orphaned.";
|
|
716
|
-
const char* const additional_constraints_subchannel_wrapper_cleanup_on_orphan =
|
|
717
|
-
"{}";
|
|
718
691
|
const char* const description_tcp_frame_size_tuning =
|
|
719
692
|
"If set, enables TCP to use RPC size estimation made by higher layers. TCP "
|
|
720
693
|
"would not indicate completion of a read operation until a specified "
|
|
@@ -752,6 +725,9 @@ const char* const description_xds_server_filter_chain_per_route =
|
|
|
752
725
|
"xDS servers use a separate filter chain for each route.";
|
|
753
726
|
const char* const additional_constraints_xds_server_filter_chain_per_route =
|
|
754
727
|
"{}";
|
|
728
|
+
const uint8_t required_experiments_xds_server_filter_chain_per_route[] = {
|
|
729
|
+
static_cast<uint8_t>(
|
|
730
|
+
grpc_core::kExperimentIdV2NonOwningWakerImplementation)};
|
|
755
731
|
} // namespace
|
|
756
732
|
|
|
757
733
|
namespace grpc_core {
|
|
@@ -777,11 +753,9 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
|
777
753
|
{"chaotic_good_send_supported_features",
|
|
778
754
|
description_chaotic_good_send_supported_features,
|
|
779
755
|
additional_constraints_chaotic_good_send_supported_features, nullptr, 0,
|
|
780
|
-
|
|
756
|
+
true, true},
|
|
781
757
|
{"custom_frame_check", description_custom_frame_check,
|
|
782
758
|
additional_constraints_custom_frame_check, nullptr, 0, true, false},
|
|
783
|
-
{"error_flatten", description_error_flatten,
|
|
784
|
-
additional_constraints_error_flatten, nullptr, 0, true, false},
|
|
785
759
|
{"event_engine_client", description_event_engine_client,
|
|
786
760
|
additional_constraints_event_engine_client, nullptr, 0, true, false},
|
|
787
761
|
{"event_engine_dns", description_event_engine_dns,
|
|
@@ -801,10 +775,6 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
|
801
775
|
description_event_engine_for_all_other_endpoints,
|
|
802
776
|
additional_constraints_event_engine_for_all_other_endpoints,
|
|
803
777
|
required_experiments_event_engine_for_all_other_endpoints, 4, true, false},
|
|
804
|
-
{"event_engine_poller_for_python",
|
|
805
|
-
description_event_engine_poller_for_python,
|
|
806
|
-
additional_constraints_event_engine_poller_for_python, nullptr, 0, true,
|
|
807
|
-
true},
|
|
808
778
|
{"fail_recv_metadata_on_deadline_exceeded",
|
|
809
779
|
description_fail_recv_metadata_on_deadline_exceeded,
|
|
810
780
|
additional_constraints_fail_recv_metadata_on_deadline_exceeded, nullptr, 0,
|
|
@@ -824,10 +794,6 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
|
824
794
|
true},
|
|
825
795
|
{"local_connector_secure", description_local_connector_secure,
|
|
826
796
|
additional_constraints_local_connector_secure, nullptr, 0, false, true},
|
|
827
|
-
{"max_inflight_pings_strict_limit",
|
|
828
|
-
description_max_inflight_pings_strict_limit,
|
|
829
|
-
additional_constraints_max_inflight_pings_strict_limit, nullptr, 0, true,
|
|
830
|
-
true},
|
|
831
797
|
{"memory_optimization_01", description_memory_optimization_01,
|
|
832
798
|
additional_constraints_memory_optimization_01, nullptr, 0, false, false},
|
|
833
799
|
{"memory_optimization_02", description_memory_optimization_02,
|
|
@@ -839,7 +805,7 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
|
839
805
|
additional_constraints_metadata_outstanding_token_refactor, nullptr, 0,
|
|
840
806
|
false, true},
|
|
841
807
|
{"metadata_publish_to_app_tag", description_metadata_publish_to_app_tag,
|
|
842
|
-
additional_constraints_metadata_publish_to_app_tag, nullptr, 0,
|
|
808
|
+
additional_constraints_metadata_publish_to_app_tag, nullptr, 0, false,
|
|
843
809
|
true},
|
|
844
810
|
{"monitoring_experiment", description_monitoring_experiment,
|
|
845
811
|
additional_constraints_monitoring_experiment, nullptr, 0, true, true},
|
|
@@ -853,6 +819,10 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
|
853
819
|
additional_constraints_optimization_03, nullptr, 0, true, true},
|
|
854
820
|
{"optimization_04", description_optimization_04,
|
|
855
821
|
additional_constraints_optimization_04, nullptr, 0, true, true},
|
|
822
|
+
{"optimization_05", description_optimization_05,
|
|
823
|
+
additional_constraints_optimization_05, nullptr, 0, false, true},
|
|
824
|
+
{"optimization_06", description_optimization_06,
|
|
825
|
+
additional_constraints_optimization_06, nullptr, 0, false, true},
|
|
856
826
|
{"otel_export_telemetry_domains", description_otel_export_telemetry_domains,
|
|
857
827
|
additional_constraints_otel_export_telemetry_domains, nullptr, 0, false,
|
|
858
828
|
true},
|
|
@@ -893,7 +863,7 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
|
893
863
|
{"retry_in_callv3", description_retry_in_callv3,
|
|
894
864
|
additional_constraints_retry_in_callv3, nullptr, 0, false, true},
|
|
895
865
|
{"return_preexisting_errors", description_return_preexisting_errors,
|
|
896
|
-
additional_constraints_return_preexisting_errors, nullptr, 0,
|
|
866
|
+
additional_constraints_return_preexisting_errors, nullptr, 0, true, true},
|
|
897
867
|
{"schedule_cancellation_over_write",
|
|
898
868
|
description_schedule_cancellation_over_write,
|
|
899
869
|
additional_constraints_schedule_cancellation_over_write, nullptr, 0, false,
|
|
@@ -915,12 +885,8 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
|
915
885
|
additional_constraints_skip_clear_peer_on_cancellation, nullptr, 0, false,
|
|
916
886
|
true},
|
|
917
887
|
{"subchannel_connection_scaling", description_subchannel_connection_scaling,
|
|
918
|
-
additional_constraints_subchannel_connection_scaling, nullptr, 0,
|
|
888
|
+
additional_constraints_subchannel_connection_scaling, nullptr, 0, true,
|
|
919
889
|
true},
|
|
920
|
-
{"subchannel_wrapper_cleanup_on_orphan",
|
|
921
|
-
description_subchannel_wrapper_cleanup_on_orphan,
|
|
922
|
-
additional_constraints_subchannel_wrapper_cleanup_on_orphan, nullptr, 0,
|
|
923
|
-
true, true},
|
|
924
890
|
{"tcp_frame_size_tuning", description_tcp_frame_size_tuning,
|
|
925
891
|
additional_constraints_tcp_frame_size_tuning, nullptr, 0, false, true},
|
|
926
892
|
{"tcp_rcv_lowat", description_tcp_rcv_lowat,
|
|
@@ -951,8 +917,8 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
|
951
917
|
false, true},
|
|
952
918
|
{"xds_server_filter_chain_per_route",
|
|
953
919
|
description_xds_server_filter_chain_per_route,
|
|
954
|
-
additional_constraints_xds_server_filter_chain_per_route,
|
|
955
|
-
false, true},
|
|
920
|
+
additional_constraints_xds_server_filter_chain_per_route,
|
|
921
|
+
required_experiments_xds_server_filter_chain_per_route, 1, false, true},
|
|
956
922
|
};
|
|
957
923
|
|
|
958
924
|
} // namespace grpc_core
|
|
@@ -990,9 +956,6 @@ const char* const additional_constraints_chaotic_good_send_supported_features =
|
|
|
990
956
|
const char* const description_custom_frame_check =
|
|
991
957
|
"Adding checks to custom HTTP2 frame.";
|
|
992
958
|
const char* const additional_constraints_custom_frame_check = "{}";
|
|
993
|
-
const char* const description_error_flatten =
|
|
994
|
-
"Flatten errors to ordinary absl::Status form.";
|
|
995
|
-
const char* const additional_constraints_error_flatten = "{}";
|
|
996
959
|
const char* const description_event_engine_client =
|
|
997
960
|
"Use EventEngine clients instead of iomgr's grpc_tcp_client";
|
|
998
961
|
const char* const additional_constraints_event_engine_client = "{}";
|
|
@@ -1028,9 +991,6 @@ const uint8_t required_experiments_event_engine_for_all_other_endpoints[] = {
|
|
|
1028
991
|
static_cast<uint8_t>(
|
|
1029
992
|
grpc_core::kExperimentIdEventEngineDnsNonClientChannel),
|
|
1030
993
|
static_cast<uint8_t>(grpc_core::kExperimentIdEventEngineListener)};
|
|
1031
|
-
const char* const description_event_engine_poller_for_python =
|
|
1032
|
-
"Enable event engine poller in gRPC Python";
|
|
1033
|
-
const char* const additional_constraints_event_engine_poller_for_python = "{}";
|
|
1034
994
|
const char* const description_fail_recv_metadata_on_deadline_exceeded =
|
|
1035
995
|
"Fail recv initial metadata when the deadline is exceeded.";
|
|
1036
996
|
const char* const
|
|
@@ -1056,9 +1016,6 @@ const char* const description_local_connector_secure =
|
|
|
1056
1016
|
"Local security connector uses TSI_SECURITY_NONE for LOCAL_TCP "
|
|
1057
1017
|
"connections.";
|
|
1058
1018
|
const char* const additional_constraints_local_connector_secure = "{}";
|
|
1059
|
-
const char* const description_max_inflight_pings_strict_limit =
|
|
1060
|
-
"If set, the max inflight pings limit is strictly enforced.";
|
|
1061
|
-
const char* const additional_constraints_max_inflight_pings_strict_limit = "{}";
|
|
1062
1019
|
const char* const description_memory_optimization_01 = "Memory Optimization";
|
|
1063
1020
|
const char* const additional_constraints_memory_optimization_01 = "{}";
|
|
1064
1021
|
const char* const description_memory_optimization_02 = "Memory Optimization 02";
|
|
@@ -1087,6 +1044,10 @@ const char* const description_optimization_03 = "Optimization";
|
|
|
1087
1044
|
const char* const additional_constraints_optimization_03 = "{}";
|
|
1088
1045
|
const char* const description_optimization_04 = "Optimization";
|
|
1089
1046
|
const char* const additional_constraints_optimization_04 = "{}";
|
|
1047
|
+
const char* const description_optimization_05 = "Optimization";
|
|
1048
|
+
const char* const additional_constraints_optimization_05 = "{}";
|
|
1049
|
+
const char* const description_optimization_06 = "Optimization";
|
|
1050
|
+
const char* const additional_constraints_optimization_06 = "{}";
|
|
1090
1051
|
const char* const description_otel_export_telemetry_domains =
|
|
1091
1052
|
"Export telemetry domains in OpenTelemetry metrics.";
|
|
1092
1053
|
const char* const additional_constraints_otel_export_telemetry_domains = "{}";
|
|
@@ -1178,11 +1139,6 @@ const char* const additional_constraints_skip_clear_peer_on_cancellation = "{}";
|
|
|
1178
1139
|
const char* const description_subchannel_connection_scaling =
|
|
1179
1140
|
"Subchannel connection scaling support.";
|
|
1180
1141
|
const char* const additional_constraints_subchannel_connection_scaling = "{}";
|
|
1181
|
-
const char* const description_subchannel_wrapper_cleanup_on_orphan =
|
|
1182
|
-
"Fixes the subchannel wrapper to drop any non-cancelled watchers when it "
|
|
1183
|
-
"gets orphaned.";
|
|
1184
|
-
const char* const additional_constraints_subchannel_wrapper_cleanup_on_orphan =
|
|
1185
|
-
"{}";
|
|
1186
1142
|
const char* const description_tcp_frame_size_tuning =
|
|
1187
1143
|
"If set, enables TCP to use RPC size estimation made by higher layers. TCP "
|
|
1188
1144
|
"would not indicate completion of a read operation until a specified "
|
|
@@ -1220,6 +1176,9 @@ const char* const description_xds_server_filter_chain_per_route =
|
|
|
1220
1176
|
"xDS servers use a separate filter chain for each route.";
|
|
1221
1177
|
const char* const additional_constraints_xds_server_filter_chain_per_route =
|
|
1222
1178
|
"{}";
|
|
1179
|
+
const uint8_t required_experiments_xds_server_filter_chain_per_route[] = {
|
|
1180
|
+
static_cast<uint8_t>(
|
|
1181
|
+
grpc_core::kExperimentIdV2NonOwningWakerImplementation)};
|
|
1223
1182
|
} // namespace
|
|
1224
1183
|
|
|
1225
1184
|
namespace grpc_core {
|
|
@@ -1245,11 +1204,9 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
|
1245
1204
|
{"chaotic_good_send_supported_features",
|
|
1246
1205
|
description_chaotic_good_send_supported_features,
|
|
1247
1206
|
additional_constraints_chaotic_good_send_supported_features, nullptr, 0,
|
|
1248
|
-
|
|
1207
|
+
true, true},
|
|
1249
1208
|
{"custom_frame_check", description_custom_frame_check,
|
|
1250
1209
|
additional_constraints_custom_frame_check, nullptr, 0, true, false},
|
|
1251
|
-
{"error_flatten", description_error_flatten,
|
|
1252
|
-
additional_constraints_error_flatten, nullptr, 0, true, false},
|
|
1253
1210
|
{"event_engine_client", description_event_engine_client,
|
|
1254
1211
|
additional_constraints_event_engine_client, nullptr, 0, true, false},
|
|
1255
1212
|
{"event_engine_dns", description_event_engine_dns,
|
|
@@ -1269,10 +1226,6 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
|
1269
1226
|
description_event_engine_for_all_other_endpoints,
|
|
1270
1227
|
additional_constraints_event_engine_for_all_other_endpoints,
|
|
1271
1228
|
required_experiments_event_engine_for_all_other_endpoints, 4, true, false},
|
|
1272
|
-
{"event_engine_poller_for_python",
|
|
1273
|
-
description_event_engine_poller_for_python,
|
|
1274
|
-
additional_constraints_event_engine_poller_for_python, nullptr, 0, true,
|
|
1275
|
-
true},
|
|
1276
1229
|
{"fail_recv_metadata_on_deadline_exceeded",
|
|
1277
1230
|
description_fail_recv_metadata_on_deadline_exceeded,
|
|
1278
1231
|
additional_constraints_fail_recv_metadata_on_deadline_exceeded, nullptr, 0,
|
|
@@ -1292,10 +1245,6 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
|
1292
1245
|
true},
|
|
1293
1246
|
{"local_connector_secure", description_local_connector_secure,
|
|
1294
1247
|
additional_constraints_local_connector_secure, nullptr, 0, false, true},
|
|
1295
|
-
{"max_inflight_pings_strict_limit",
|
|
1296
|
-
description_max_inflight_pings_strict_limit,
|
|
1297
|
-
additional_constraints_max_inflight_pings_strict_limit, nullptr, 0, true,
|
|
1298
|
-
true},
|
|
1299
1248
|
{"memory_optimization_01", description_memory_optimization_01,
|
|
1300
1249
|
additional_constraints_memory_optimization_01, nullptr, 0, false, false},
|
|
1301
1250
|
{"memory_optimization_02", description_memory_optimization_02,
|
|
@@ -1307,7 +1256,7 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
|
1307
1256
|
additional_constraints_metadata_outstanding_token_refactor, nullptr, 0,
|
|
1308
1257
|
false, true},
|
|
1309
1258
|
{"metadata_publish_to_app_tag", description_metadata_publish_to_app_tag,
|
|
1310
|
-
additional_constraints_metadata_publish_to_app_tag, nullptr, 0,
|
|
1259
|
+
additional_constraints_metadata_publish_to_app_tag, nullptr, 0, false,
|
|
1311
1260
|
true},
|
|
1312
1261
|
{"monitoring_experiment", description_monitoring_experiment,
|
|
1313
1262
|
additional_constraints_monitoring_experiment, nullptr, 0, true, true},
|
|
@@ -1321,6 +1270,10 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
|
1321
1270
|
additional_constraints_optimization_03, nullptr, 0, true, true},
|
|
1322
1271
|
{"optimization_04", description_optimization_04,
|
|
1323
1272
|
additional_constraints_optimization_04, nullptr, 0, true, true},
|
|
1273
|
+
{"optimization_05", description_optimization_05,
|
|
1274
|
+
additional_constraints_optimization_05, nullptr, 0, false, true},
|
|
1275
|
+
{"optimization_06", description_optimization_06,
|
|
1276
|
+
additional_constraints_optimization_06, nullptr, 0, false, true},
|
|
1324
1277
|
{"otel_export_telemetry_domains", description_otel_export_telemetry_domains,
|
|
1325
1278
|
additional_constraints_otel_export_telemetry_domains, nullptr, 0, false,
|
|
1326
1279
|
true},
|
|
@@ -1361,7 +1314,7 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
|
1361
1314
|
{"retry_in_callv3", description_retry_in_callv3,
|
|
1362
1315
|
additional_constraints_retry_in_callv3, nullptr, 0, false, true},
|
|
1363
1316
|
{"return_preexisting_errors", description_return_preexisting_errors,
|
|
1364
|
-
additional_constraints_return_preexisting_errors, nullptr, 0,
|
|
1317
|
+
additional_constraints_return_preexisting_errors, nullptr, 0, true, true},
|
|
1365
1318
|
{"schedule_cancellation_over_write",
|
|
1366
1319
|
description_schedule_cancellation_over_write,
|
|
1367
1320
|
additional_constraints_schedule_cancellation_over_write, nullptr, 0, false,
|
|
@@ -1383,12 +1336,8 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
|
1383
1336
|
additional_constraints_skip_clear_peer_on_cancellation, nullptr, 0, false,
|
|
1384
1337
|
true},
|
|
1385
1338
|
{"subchannel_connection_scaling", description_subchannel_connection_scaling,
|
|
1386
|
-
additional_constraints_subchannel_connection_scaling, nullptr, 0,
|
|
1339
|
+
additional_constraints_subchannel_connection_scaling, nullptr, 0, true,
|
|
1387
1340
|
true},
|
|
1388
|
-
{"subchannel_wrapper_cleanup_on_orphan",
|
|
1389
|
-
description_subchannel_wrapper_cleanup_on_orphan,
|
|
1390
|
-
additional_constraints_subchannel_wrapper_cleanup_on_orphan, nullptr, 0,
|
|
1391
|
-
true, true},
|
|
1392
1341
|
{"tcp_frame_size_tuning", description_tcp_frame_size_tuning,
|
|
1393
1342
|
additional_constraints_tcp_frame_size_tuning, nullptr, 0, false, true},
|
|
1394
1343
|
{"tcp_rcv_lowat", description_tcp_rcv_lowat,
|
|
@@ -1419,8 +1368,8 @@ const ExperimentMetadata g_experiment_metadata[] = {
|
|
|
1419
1368
|
false, true},
|
|
1420
1369
|
{"xds_server_filter_chain_per_route",
|
|
1421
1370
|
description_xds_server_filter_chain_per_route,
|
|
1422
|
-
additional_constraints_xds_server_filter_chain_per_route,
|
|
1423
|
-
false, true},
|
|
1371
|
+
additional_constraints_xds_server_filter_chain_per_route,
|
|
1372
|
+
required_experiments_xds_server_filter_chain_per_route, 1, false, true},
|
|
1424
1373
|
};
|
|
1425
1374
|
|
|
1426
1375
|
} // namespace grpc_core
|