Skip to content

Commit 5d0f9df

Browse files
yashyktcopybara-github
authored andcommitted
[server_global_callbacks_ownership] Cleanup experiment (grpc#40797)
Closes grpc#40797 COPYBARA_INTEGRATE_REVIEW=grpc#40797 from yashykt:CleanupServerGlobalCallbacks 31ea23b PiperOrigin-RevId: 813627130
1 parent 35636ef commit 5d0f9df

6 files changed

Lines changed: 16 additions & 103 deletions

File tree

bazel/experiments.bzl

Lines changed: 0 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/core/lib/experiments/experiments.cc

Lines changed: 0 additions & 27 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/core/lib/experiments/experiments.h

Lines changed: 0 additions & 11 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/core/lib/experiments/experiments.yaml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -276,11 +276,6 @@
276276
"event_engine_listener",
277277
"event_engine_secure_endpoint",
278278
]
279-
- name: server_global_callbacks_ownership
280-
description: If set, server global callbacks ownership is fixed to not be owned by gRPC.
281-
expiry: 2025/09/30
282-
owner: yashkt@google.com
283-
test_tags: []
284279
- name: sleep_promise_exec_ctx_removal
285280
description: If set, polling the sleep promise does not rely on the ExecCtx.
286281
expiry: 2026/02/01

src/core/lib/experiments/rollouts.yaml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,8 +86,6 @@
8686
default: false
8787
- name: schedule_cancellation_over_write
8888
default: false
89-
- name: server_global_callbacks_ownership
90-
default: true
9189
- name: sleep_promise_exec_ctx_removal
9290
default: false
9391
- name: sleep_use_non_owning_waker

src/cpp/server/server_cc.cc

Lines changed: 16 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -109,14 +109,8 @@ Server::GlobalCallbacks* g_raw_callbacks = nullptr;
109109
gpr_once g_once_init_callbacks = GPR_ONCE_INIT;
110110

111111
void InitGlobalCallbacks() {
112-
if (grpc_core::IsServerGlobalCallbacksOwnershipEnabled()) {
113-
if (!g_raw_callbacks) {
114-
g_raw_callbacks = new DefaultGlobalCallbacks;
115-
}
116-
} else {
117-
if (!g_callbacks) {
118-
g_callbacks = std::make_shared<DefaultGlobalCallbacks>();
119-
}
112+
if (!g_raw_callbacks) {
113+
g_raw_callbacks = new DefaultGlobalCallbacks;
120114
}
121115
}
122116

@@ -423,8 +417,7 @@ class Server::SyncRequest final : public grpc::internal::CompletionQueueTag {
423417
return true;
424418
}
425419

426-
void Run(const std::shared_ptr<GlobalCallbacks>& global_callbacks,
427-
bool resources) {
420+
void Run(bool resources) {
428421
ctx_.Init(deadline_, &request_metadata_);
429422
wrapped_call_.Init(
430423
call_, server_, &cq_, server_->max_receive_message_size(),
@@ -435,9 +428,6 @@ class Server::SyncRequest final : public grpc::internal::CompletionQueueTag {
435428
ctx_->ctx.cq_ = &cq_;
436429
request_metadata_.count = 0;
437430

438-
if (!grpc_core::IsServerGlobalCallbacksOwnershipEnabled()) {
439-
global_callbacks_ = global_callbacks;
440-
}
441431
resources_ = resources;
442432

443433
interceptor_methods_.SetCall(&*wrapped_call_);
@@ -473,21 +463,13 @@ class Server::SyncRequest final : public grpc::internal::CompletionQueueTag {
473463

474464
void ContinueRunAfterInterception() {
475465
ctx_->ctx.BeginCompletionOp(&*wrapped_call_, nullptr, nullptr);
476-
if (grpc_core::IsServerGlobalCallbacksOwnershipEnabled()) {
477-
g_raw_callbacks->PreSynchronousRequest(&ctx_->ctx);
478-
} else {
479-
global_callbacks_->PreSynchronousRequest(&ctx_->ctx);
480-
}
466+
g_raw_callbacks->PreSynchronousRequest(&ctx_->ctx);
481467
auto* handler = resources_ ? method_->handler()
482468
: server_->resource_exhausted_handler_.get();
483469
handler->RunHandler(grpc::internal::MethodHandler::HandlerParameter(
484470
&*wrapped_call_, &ctx_->ctx, deserialized_request_, request_status_,
485471
nullptr, nullptr));
486-
if (grpc_core::IsServerGlobalCallbacksOwnershipEnabled()) {
487-
g_raw_callbacks->PostSynchronousRequest(&ctx_->ctx);
488-
} else {
489-
global_callbacks_->PostSynchronousRequest(&ctx_->ctx);
490-
}
472+
g_raw_callbacks->PostSynchronousRequest(&ctx_->ctx);
491473

492474
cq_.Shutdown();
493475

@@ -542,7 +524,6 @@ class Server::SyncRequest final : public grpc::internal::CompletionQueueTag {
542524
grpc_byte_buffer* request_payload_ = nullptr;
543525
grpc::CompletionQueue cq_;
544526
grpc::Status request_status_;
545-
std::shared_ptr<GlobalCallbacks> global_callbacks_;
546527
bool resources_;
547528
void* deserialized_request_ = nullptr;
548529
grpc::internal::InterceptorBatchMethodsImpl interceptor_methods_;
@@ -805,14 +786,12 @@ const char* Server::CallbackRequest<
805786
class Server::SyncRequestThreadManager : public grpc::ThreadManager {
806787
public:
807788
SyncRequestThreadManager(Server* server, grpc::CompletionQueue* server_cq,
808-
std::shared_ptr<GlobalCallbacks> global_callbacks,
809789
grpc_resource_quota* rq, int min_pollers,
810790
int max_pollers, int cq_timeout_msec)
811791
: ThreadManager("SyncServer", rq, min_pollers, max_pollers),
812792
server_(server),
813793
server_cq_(server_cq),
814-
cq_timeout_msec_(cq_timeout_msec),
815-
global_callbacks_(std::move(global_callbacks)) {}
794+
cq_timeout_msec_(cq_timeout_msec) {}
816795

817796
WorkStatus PollForWork(void** tag, bool* ok) override {
818797
*tag = nullptr;
@@ -843,7 +822,7 @@ class Server::SyncRequestThreadManager : public grpc::ThreadManager {
843822
GRPC_DCHECK_NE(sync_req, nullptr);
844823
GRPC_DCHECK(ok);
845824

846-
sync_req->Run(global_callbacks_, resources);
825+
sync_req->Run(resources);
847826
}
848827

849828
void AddSyncMethod(grpc::internal::RpcServiceMethod* method, void* tag) {
@@ -899,7 +878,6 @@ class Server::SyncRequestThreadManager : public grpc::ThreadManager {
899878
int cq_timeout_msec_;
900879
bool has_sync_method_ = false;
901880
std::unique_ptr<grpc::internal::RpcServiceMethod> unknown_method_;
902-
std::shared_ptr<Server::GlobalCallbacks> global_callbacks_;
903881
};
904882

905883
Server::Server(
@@ -927,12 +905,7 @@ Server::Server(
927905
health_check_service_disabled_(false),
928906
server_metric_recorder_(server_metric_recorder) {
929907
gpr_once_init(&grpc::g_once_init_callbacks, grpc::InitGlobalCallbacks);
930-
if (grpc_core::IsServerGlobalCallbacksOwnershipEnabled()) {
931-
g_raw_callbacks->UpdateArguments(args);
932-
} else {
933-
global_callbacks_ = grpc::g_callbacks;
934-
global_callbacks_->UpdateArguments(args);
935-
}
908+
g_raw_callbacks->UpdateArguments(args);
936909

937910
if (sync_server_cqs_ != nullptr) {
938911
bool default_rq_created = false;
@@ -944,9 +917,9 @@ Server::Server(
944917
}
945918

946919
for (const auto& it : *sync_server_cqs_) {
947-
sync_req_mgrs_.emplace_back(new SyncRequestThreadManager(
948-
this, it.get(), global_callbacks_, server_rq, min_pollers,
949-
max_pollers, sync_cq_timeout_msec));
920+
sync_req_mgrs_.emplace_back(
921+
new SyncRequestThreadManager(this, it.get(), server_rq, min_pollers,
922+
max_pollers, sync_cq_timeout_msec));
950923
}
951924

952925
if (default_rq_created) {
@@ -1017,15 +990,9 @@ Server::~Server() {
1017990
}
1018991

1019992
void Server::SetGlobalCallbacks(GlobalCallbacks* callbacks) {
1020-
if (grpc_core::IsServerGlobalCallbacksOwnershipEnabled()) {
1021-
GRPC_CHECK(!g_raw_callbacks);
1022-
GRPC_CHECK(callbacks);
1023-
g_raw_callbacks = callbacks;
1024-
} else {
1025-
GRPC_CHECK(!g_callbacks);
1026-
GRPC_CHECK(callbacks);
1027-
g_callbacks.reset(callbacks);
1028-
}
993+
GRPC_CHECK(!g_raw_callbacks);
994+
GRPC_CHECK(callbacks);
995+
g_raw_callbacks = callbacks;
1029996
}
1030997

1031998
grpc_server* Server::c_server() { return server_; }
@@ -1152,11 +1119,7 @@ int Server::AddListeningPort(const std::string& addr,
11521119
grpc::ServerCredentials* creds) {
11531120
GRPC_CHECK(!started_);
11541121
int port = creds->AddPortToServer(addr, server_);
1155-
if (grpc_core::IsServerGlobalCallbacksOwnershipEnabled()) {
1156-
g_raw_callbacks->AddPort(this, addr, creds, port);
1157-
} else {
1158-
global_callbacks_->AddPort(this, addr, creds, port);
1159-
}
1122+
g_raw_callbacks->AddPort(this, addr, creds, port);
11601123
return port;
11611124
}
11621125

@@ -1189,11 +1152,7 @@ void Server::UnrefAndWaitLocked() {
11891152

11901153
void Server::Start(grpc::ServerCompletionQueue** cqs, size_t num_cqs) {
11911154
GRPC_CHECK(!started_);
1192-
if (grpc_core::IsServerGlobalCallbacksOwnershipEnabled()) {
1193-
g_raw_callbacks->PreServerStart(this);
1194-
} else {
1195-
g_callbacks->PreServerStart(this);
1196-
}
1155+
g_raw_callbacks->PreServerStart(this);
11971156
started_ = true;
11981157

11991158
// Only create default health check service when user did not provide an

0 commit comments

Comments
 (0)