[promises] Enable promise-based calls on server side for OSS build (#33945)

pull/33981/head
Craig Tiller 2 years ago committed by GitHub
parent 671453faa5
commit 2feb821eb5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 60
      bazel/experiments.bzl
  2. 6
      src/core/lib/experiments/experiments.cc
  3. 9
      src/core/lib/experiments/experiments.h
  4. 2
      src/core/lib/experiments/rollouts.yaml

@ -27,12 +27,8 @@ EXPERIMENTS = {
"core_end2end_test": [ "core_end2end_test": [
"event_engine_listener", "event_engine_listener",
"promise_based_client_call", "promise_based_client_call",
"promise_based_server_call",
"unique_metadata_strings", "unique_metadata_strings",
], ],
"cpp_end2end_test": [
"promise_based_server_call",
],
"endpoint_test": [ "endpoint_test": [
"tcp_frame_size_tuning", "tcp_frame_size_tuning",
"tcp_rcv_lowat", "tcp_rcv_lowat",
@ -48,22 +44,26 @@ EXPERIMENTS = {
"lame_client_test": [ "lame_client_test": [
"promise_based_client_call", "promise_based_client_call",
], ],
"logging_test": [
"promise_based_server_call",
],
"resource_quota_test": [ "resource_quota_test": [
"free_large_allocator", "free_large_allocator",
"memory_pressure_controller", "memory_pressure_controller",
"unconstrained_max_quota_buffer_size", "unconstrained_max_quota_buffer_size",
], ],
"xds_end2end_test": [
"promise_based_server_call",
],
}, },
"on": { "on": {
"core_end2end_test": [ "core_end2end_test": [
"promise_based_server_call",
"work_stealing", "work_stealing",
], ],
"cpp_end2end_test": [
"promise_based_server_call",
],
"logging_test": [
"promise_based_server_call",
],
"xds_end2end_test": [
"promise_based_server_call",
],
}, },
}, },
"ios": { "ios": {
@ -76,12 +76,8 @@ EXPERIMENTS = {
"core_end2end_test": [ "core_end2end_test": [
"event_engine_listener", "event_engine_listener",
"promise_based_client_call", "promise_based_client_call",
"promise_based_server_call",
"unique_metadata_strings", "unique_metadata_strings",
], ],
"cpp_end2end_test": [
"promise_based_server_call",
],
"endpoint_test": [ "endpoint_test": [
"tcp_frame_size_tuning", "tcp_frame_size_tuning",
"tcp_rcv_lowat", "tcp_rcv_lowat",
@ -97,22 +93,26 @@ EXPERIMENTS = {
"lame_client_test": [ "lame_client_test": [
"promise_based_client_call", "promise_based_client_call",
], ],
"logging_test": [
"promise_based_server_call",
],
"resource_quota_test": [ "resource_quota_test": [
"free_large_allocator", "free_large_allocator",
"memory_pressure_controller", "memory_pressure_controller",
"unconstrained_max_quota_buffer_size", "unconstrained_max_quota_buffer_size",
], ],
"xds_end2end_test": [
"promise_based_server_call",
],
}, },
"on": { "on": {
"core_end2end_test": [ "core_end2end_test": [
"promise_based_server_call",
"work_stealing", "work_stealing",
], ],
"cpp_end2end_test": [
"promise_based_server_call",
],
"logging_test": [
"promise_based_server_call",
],
"xds_end2end_test": [
"promise_based_server_call",
],
}, },
}, },
"posix": { "posix": {
@ -129,12 +129,8 @@ EXPERIMENTS = {
"event_engine_client", "event_engine_client",
"event_engine_listener", "event_engine_listener",
"promise_based_client_call", "promise_based_client_call",
"promise_based_server_call",
"unique_metadata_strings", "unique_metadata_strings",
], ],
"cpp_end2end_test": [
"promise_based_server_call",
],
"endpoint_test": [ "endpoint_test": [
"tcp_frame_size_tuning", "tcp_frame_size_tuning",
"tcp_rcv_lowat", "tcp_rcv_lowat",
@ -153,9 +149,6 @@ EXPERIMENTS = {
"lame_client_test": [ "lame_client_test": [
"promise_based_client_call", "promise_based_client_call",
], ],
"logging_test": [
"promise_based_server_call",
],
"resolver_component_tests_runner_invoker": [ "resolver_component_tests_runner_invoker": [
"event_engine_dns", "event_engine_dns",
], ],
@ -164,14 +157,21 @@ EXPERIMENTS = {
"memory_pressure_controller", "memory_pressure_controller",
"unconstrained_max_quota_buffer_size", "unconstrained_max_quota_buffer_size",
], ],
"xds_end2end_test": [
"promise_based_server_call",
],
}, },
"on": { "on": {
"core_end2end_test": [ "core_end2end_test": [
"promise_based_server_call",
"work_stealing", "work_stealing",
], ],
"cpp_end2end_test": [
"promise_based_server_call",
],
"logging_test": [
"promise_based_server_call",
],
"xds_end2end_test": [
"promise_based_server_call",
],
}, },
}, },
} }

@ -131,7 +131,7 @@ const ExperimentMetadata g_experiment_metadata[] = {
{"free_large_allocator", description_free_large_allocator, {"free_large_allocator", description_free_large_allocator,
additional_constraints_free_large_allocator, false, true}, additional_constraints_free_large_allocator, false, true},
{"promise_based_server_call", description_promise_based_server_call, {"promise_based_server_call", description_promise_based_server_call,
additional_constraints_promise_based_server_call, false, true}, additional_constraints_promise_based_server_call, true, true},
{"transport_supplies_client_latency", {"transport_supplies_client_latency",
description_transport_supplies_client_latency, description_transport_supplies_client_latency,
additional_constraints_transport_supplies_client_latency, false, true}, additional_constraints_transport_supplies_client_latency, false, true},
@ -273,7 +273,7 @@ const ExperimentMetadata g_experiment_metadata[] = {
{"free_large_allocator", description_free_large_allocator, {"free_large_allocator", description_free_large_allocator,
additional_constraints_free_large_allocator, false, true}, additional_constraints_free_large_allocator, false, true},
{"promise_based_server_call", description_promise_based_server_call, {"promise_based_server_call", description_promise_based_server_call,
additional_constraints_promise_based_server_call, false, true}, additional_constraints_promise_based_server_call, true, true},
{"transport_supplies_client_latency", {"transport_supplies_client_latency",
description_transport_supplies_client_latency, description_transport_supplies_client_latency,
additional_constraints_transport_supplies_client_latency, false, true}, additional_constraints_transport_supplies_client_latency, false, true},
@ -415,7 +415,7 @@ const ExperimentMetadata g_experiment_metadata[] = {
{"free_large_allocator", description_free_large_allocator, {"free_large_allocator", description_free_large_allocator,
additional_constraints_free_large_allocator, false, true}, additional_constraints_free_large_allocator, false, true},
{"promise_based_server_call", description_promise_based_server_call, {"promise_based_server_call", description_promise_based_server_call,
additional_constraints_promise_based_server_call, false, true}, additional_constraints_promise_based_server_call, true, true},
{"transport_supplies_client_latency", {"transport_supplies_client_latency",
description_transport_supplies_client_latency, description_transport_supplies_client_latency,
additional_constraints_transport_supplies_client_latency, false, true}, additional_constraints_transport_supplies_client_latency, false, true},

@ -69,7 +69,8 @@ inline bool IsEventEngineClientEnabled() { return false; }
inline bool IsMonitoringExperimentEnabled() { return true; } inline bool IsMonitoringExperimentEnabled() { return true; }
inline bool IsPromiseBasedClientCallEnabled() { return false; } inline bool IsPromiseBasedClientCallEnabled() { return false; }
inline bool IsFreeLargeAllocatorEnabled() { return false; } inline bool IsFreeLargeAllocatorEnabled() { return false; }
inline bool IsPromiseBasedServerCallEnabled() { return false; } #define GRPC_EXPERIMENT_IS_INCLUDED_PROMISE_BASED_SERVER_CALL
inline bool IsPromiseBasedServerCallEnabled() { return true; }
inline bool IsTransportSuppliesClientLatencyEnabled() { return false; } inline bool IsTransportSuppliesClientLatencyEnabled() { return false; }
inline bool IsEventEngineListenerEnabled() { return false; } inline bool IsEventEngineListenerEnabled() { return false; }
inline bool IsScheduleCancellationOverWriteEnabled() { return false; } inline bool IsScheduleCancellationOverWriteEnabled() { return false; }
@ -103,7 +104,8 @@ inline bool IsEventEngineClientEnabled() { return false; }
inline bool IsMonitoringExperimentEnabled() { return true; } inline bool IsMonitoringExperimentEnabled() { return true; }
inline bool IsPromiseBasedClientCallEnabled() { return false; } inline bool IsPromiseBasedClientCallEnabled() { return false; }
inline bool IsFreeLargeAllocatorEnabled() { return false; } inline bool IsFreeLargeAllocatorEnabled() { return false; }
inline bool IsPromiseBasedServerCallEnabled() { return false; } #define GRPC_EXPERIMENT_IS_INCLUDED_PROMISE_BASED_SERVER_CALL
inline bool IsPromiseBasedServerCallEnabled() { return true; }
inline bool IsTransportSuppliesClientLatencyEnabled() { return false; } inline bool IsTransportSuppliesClientLatencyEnabled() { return false; }
inline bool IsEventEngineListenerEnabled() { return false; } inline bool IsEventEngineListenerEnabled() { return false; }
inline bool IsScheduleCancellationOverWriteEnabled() { return false; } inline bool IsScheduleCancellationOverWriteEnabled() { return false; }
@ -137,7 +139,8 @@ inline bool IsEventEngineClientEnabled() { return false; }
inline bool IsMonitoringExperimentEnabled() { return true; } inline bool IsMonitoringExperimentEnabled() { return true; }
inline bool IsPromiseBasedClientCallEnabled() { return false; } inline bool IsPromiseBasedClientCallEnabled() { return false; }
inline bool IsFreeLargeAllocatorEnabled() { return false; } inline bool IsFreeLargeAllocatorEnabled() { return false; }
inline bool IsPromiseBasedServerCallEnabled() { return false; } #define GRPC_EXPERIMENT_IS_INCLUDED_PROMISE_BASED_SERVER_CALL
inline bool IsPromiseBasedServerCallEnabled() { return true; }
inline bool IsTransportSuppliesClientLatencyEnabled() { return false; } inline bool IsTransportSuppliesClientLatencyEnabled() { return false; }
inline bool IsEventEngineListenerEnabled() { return false; } inline bool IsEventEngineListenerEnabled() { return false; }
inline bool IsScheduleCancellationOverWriteEnabled() { return false; } inline bool IsScheduleCancellationOverWriteEnabled() { return false; }

@ -61,7 +61,7 @@
- name: free_large_allocator - name: free_large_allocator
default: false default: false
- name: promise_based_server_call - name: promise_based_server_call
default: false default: true
- name: transport_supplies_client_latency - name: transport_supplies_client_latency
default: false default: false
- name: event_engine_listener - name: event_engine_listener

Loading…
Cancel
Save