diff --git a/src/core/ext/filters/client_channel/client_channel.cc b/src/core/ext/filters/client_channel/client_channel.cc index 5a74ccc2a05..f803b0c265c 100644 --- a/src/core/ext/filters/client_channel/client_channel.cc +++ b/src/core/ext/filters/client_channel/client_channel.cc @@ -2617,6 +2617,7 @@ static void recv_trailing_metadata_ready_for_lb(void* arg, grpc_error* error) { // trailing metadata to the LB policy. static void maybe_intercept_trailing_metadata_for_lb( grpc_call_element* elem, grpc_transport_stream_op_batch* batch) { + channel_data* chand = static_cast(elem->channel_data); call_data* calld = static_cast(elem->call_data); if (!batch->recv_trailing_metadata) { return; @@ -2625,7 +2626,7 @@ static void maybe_intercept_trailing_metadata_for_lb( calld->recv_trailing_metadata_op_batch = batch; GRPC_CLOSURE_INIT(&calld->recv_trailing_metadata_ready_for_lb, recv_trailing_metadata_ready_for_lb, elem, - grpc_schedule_on_exec_ctx); + grpc_combiner_scheduler(chand->combiner)); batch->payload->recv_trailing_metadata.recv_trailing_metadata_ready = &calld->recv_trailing_metadata_ready_for_lb; }