From c475f6f3cdb07578b3b4f049413e6ee4cad58cf0 Mon Sep 17 00:00:00 2001 From: Yousuk Seung Date: Thu, 20 Jun 2024 14:18:10 -0700 Subject: [PATCH] [experiments] Roll back #36875 (#36997) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit …_serializer_dispatch Closes #36997 COPYBARA_INTEGRATE_REVIEW=https://github.com/grpc/grpc/pull/36997 from yousukseung:work-serializer-dispatch c8976c4f023c42e5055b4af2a70ba25eb246d456 PiperOrigin-RevId: 645153599 --- bazel/experiments.bzl | 2 +- src/core/lib/experiments/experiments.cc | 17 ++++++++++++++--- src/core/lib/experiments/rollouts.yaml | 1 + 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/bazel/experiments.bzl b/bazel/experiments.bzl index 1e58632622a..9aeb2fc360d 100644 --- a/bazel/experiments.bzl +++ b/bazel/experiments.bzl @@ -41,7 +41,7 @@ EXPERIMENT_ENABLES = { "trace_record_callops": "trace_record_callops", "unconstrained_max_quota_buffer_size": "unconstrained_max_quota_buffer_size", "work_serializer_clears_time_cache": "work_serializer_clears_time_cache", - "work_serializer_dispatch": "work_serializer_dispatch", + "work_serializer_dispatch": "event_engine_client,work_serializer_dispatch", } EXPERIMENT_POLLERS = [ diff --git a/src/core/lib/experiments/experiments.cc b/src/core/lib/experiments/experiments.cc index abaf294db5a..deec6512339 100644 --- a/src/core/lib/experiments/experiments.cc +++ b/src/core/lib/experiments/experiments.cc @@ -16,6 +16,8 @@ #include "src/core/lib/experiments/experiments.h" +#include + #include #ifndef GRPC_EXPERIMENTS_ARE_FINAL @@ -112,6 +114,8 @@ const char* const description_work_serializer_dispatch = "callback, instead of running things inline in the first thread that " "successfully enqueues work."; const char* const additional_constraints_work_serializer_dispatch = "{}"; +const uint8_t required_experiments_work_serializer_dispatch[] = { + static_cast(grpc_core::kExperimentIdEventEngineClient)}; } // namespace namespace grpc_core { @@ -177,7 +181,8 @@ const ExperimentMetadata g_experiment_metadata[] = { additional_constraints_work_serializer_clears_time_cache, nullptr, 0, true, true}, {"work_serializer_dispatch", description_work_serializer_dispatch, - additional_constraints_work_serializer_dispatch, nullptr, 0, false, true}, + additional_constraints_work_serializer_dispatch, + required_experiments_work_serializer_dispatch, 1, false, true}, }; } // namespace grpc_core @@ -274,6 +279,8 @@ const char* const description_work_serializer_dispatch = "callback, instead of running things inline in the first thread that " "successfully enqueues work."; const char* const additional_constraints_work_serializer_dispatch = "{}"; +const uint8_t required_experiments_work_serializer_dispatch[] = { + static_cast(grpc_core::kExperimentIdEventEngineClient)}; } // namespace namespace grpc_core { @@ -339,7 +346,8 @@ const ExperimentMetadata g_experiment_metadata[] = { additional_constraints_work_serializer_clears_time_cache, nullptr, 0, true, true}, {"work_serializer_dispatch", description_work_serializer_dispatch, - additional_constraints_work_serializer_dispatch, nullptr, 0, false, true}, + additional_constraints_work_serializer_dispatch, + required_experiments_work_serializer_dispatch, 1, false, true}, }; } // namespace grpc_core @@ -436,6 +444,8 @@ const char* const description_work_serializer_dispatch = "callback, instead of running things inline in the first thread that " "successfully enqueues work."; const char* const additional_constraints_work_serializer_dispatch = "{}"; +const uint8_t required_experiments_work_serializer_dispatch[] = { + static_cast(grpc_core::kExperimentIdEventEngineClient)}; } // namespace namespace grpc_core { @@ -501,7 +511,8 @@ const ExperimentMetadata g_experiment_metadata[] = { additional_constraints_work_serializer_clears_time_cache, nullptr, 0, true, true}, {"work_serializer_dispatch", description_work_serializer_dispatch, - additional_constraints_work_serializer_dispatch, nullptr, 0, true, true}, + additional_constraints_work_serializer_dispatch, + required_experiments_work_serializer_dispatch, 1, true, true}, }; } // namespace grpc_core diff --git a/src/core/lib/experiments/rollouts.yaml b/src/core/lib/experiments/rollouts.yaml index a0f25b5dc91..05438ce6f90 100644 --- a/src/core/lib/experiments/rollouts.yaml +++ b/src/core/lib/experiments/rollouts.yaml @@ -111,6 +111,7 @@ - name: work_serializer_clears_time_cache default: true - name: work_serializer_dispatch + requires: ["event_engine_client"] default: # TODO(ysseung): Not fully tested. ios: broken