[experiment] Fix handling of forced values (#32102)
diff --git a/src/core/lib/experiments/config.cc b/src/core/lib/experiments/config.cc
index ae8e9f9..4a0ddca 100644
--- a/src/core/lib/experiments/config.cc
+++ b/src/core/lib/experiments/config.cc
@@ -58,7 +58,11 @@
// Set defaults from metadata.
Experiments experiments;
for (size_t i = 0; i < kNumExperiments; i++) {
- experiments.enabled[i] = g_experiment_metadata[i].default_value;
+ if (!g_forced_experiments[i].forced) {
+ experiments.enabled[i] = g_experiment_metadata[i].default_value;
+ } else {
+ experiments.enabled[i] = g_forced_experiments[i].value;
+ }
}
// Get the global config.
auto experiments_str = GPR_GLOBAL_CONFIG_GET(grpc_experiments);