ServerConfigSelector filter: Always return UNAVAILABLE status on errors (#29146)

* ServerConfigSelector filter: Always return UNAVAILABLE status on errors

* clang-format
pull/29159/head
Yash Tibrewal 3 years ago committed by GitHub
parent 409c732813
commit e17bbedd95
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 11
      src/core/ext/filters/server_config_selector/server_config_selector_filter.cc

@ -203,7 +203,6 @@ void CallData::RecvInitialMetadataReady(void* user_data,
config_selector.value()->GetCallConfig(calld->recv_initial_metadata_);
if (call_config.error != GRPC_ERROR_NONE) {
calld->error_ = call_config.error;
error = call_config.error; // Does not take a ref
} else {
calld->service_config_call_data_ =
ServiceConfigCallData(std::move(call_config.service_config),
@ -212,11 +211,13 @@ void CallData::RecvInitialMetadataReady(void* user_data,
&calld->service_config_call_data_;
}
} else {
calld->error_ = GRPC_ERROR_CREATE_FROM_CPP_STRING(
config_selector.status().ToString());
}
if (calld->error_ != GRPC_ERROR_NONE) {
calld->error_ = grpc_error_set_int(
GRPC_ERROR_CREATE_FROM_CPP_STRING(
config_selector.status().ToString()),
GRPC_ERROR_INT_GRPC_STATUS, GRPC_STATUS_UNAVAILABLE);
error = calld->error_;
calld->error_, GRPC_ERROR_INT_GRPC_STATUS, GRPC_STATUS_UNAVAILABLE);
error = calld->error_; // Does not take a ref
}
}
calld->MaybeResumeRecvTrailingMetadataReady();

Loading…
Cancel
Save