Update "upb::SymbolTable" to "upb::DefPool"

The old name has been deprecated for a while so this should be safe.
Also update variable names accordingly.
pull/35208/head
Eric Salo 1 year ago
parent 7047cc17a8
commit 80beea4920
  1. 35
      src/core/ext/xds/xds_api.cc
  2. 4
      src/core/ext/xds/xds_api.h
  3. 6
      src/core/ext/xds/xds_client.cc
  4. 2
      src/core/ext/xds/xds_client.h
  5. 8
      test/core/xds/xds_audit_logger_registry_test.cc
  6. 8
      test/core/xds/xds_lb_policy_registry_test.cc

@ -57,12 +57,12 @@
namespace grpc_core { namespace grpc_core {
XdsApi::XdsApi(XdsClient* client, TraceFlag* tracer, XdsApi::XdsApi(XdsClient* client, TraceFlag* tracer,
const XdsBootstrap::Node* node, upb::SymbolTable* symtab, const XdsBootstrap::Node* node, upb::DefPool* def_pool,
std::string user_agent_name, std::string user_agent_version) std::string user_agent_name, std::string user_agent_version)
: client_(client), : client_(client),
tracer_(tracer), tracer_(tracer),
node_(node), node_(node),
symtab_(symtab), def_pool_(def_pool),
user_agent_name_(std::move(user_agent_name)), user_agent_name_(std::move(user_agent_name)),
user_agent_version_(std::move(user_agent_version)) {} user_agent_version_(std::move(user_agent_version)) {}
@ -71,7 +71,7 @@ namespace {
struct XdsApiContext { struct XdsApiContext {
XdsClient* client; XdsClient* client;
TraceFlag* tracer; TraceFlag* tracer;
upb_DefPool* symtab; upb_DefPool* def_pool;
upb_Arena* arena; upb_Arena* arena;
}; };
@ -183,7 +183,7 @@ void MaybeLogDiscoveryRequest(
if (GRPC_TRACE_FLAG_ENABLED(*context.tracer) && if (GRPC_TRACE_FLAG_ENABLED(*context.tracer) &&
gpr_should_log(GPR_LOG_SEVERITY_DEBUG)) { gpr_should_log(GPR_LOG_SEVERITY_DEBUG)) {
const upb_MessageDef* msg_type = const upb_MessageDef* msg_type =
envoy_service_discovery_v3_DiscoveryRequest_getmsgdef(context.symtab); envoy_service_discovery_v3_DiscoveryRequest_getmsgdef(context.def_pool);
char buf[10240]; char buf[10240];
upb_TextEncode(request, msg_type, nullptr, 0, buf, sizeof(buf)); upb_TextEncode(request, msg_type, nullptr, 0, buf, sizeof(buf));
gpr_log(GPR_DEBUG, "[xds_client %p] constructed ADS request: %s", gpr_log(GPR_DEBUG, "[xds_client %p] constructed ADS request: %s",
@ -207,7 +207,8 @@ std::string XdsApi::CreateAdsRequest(
absl::string_view nonce, const std::vector<std::string>& resource_names, absl::string_view nonce, const std::vector<std::string>& resource_names,
absl::Status status, bool populate_node) { absl::Status status, bool populate_node) {
upb::Arena arena; upb::Arena arena;
const XdsApiContext context = {client_, tracer_, symtab_->ptr(), arena.ptr()}; const XdsApiContext context = {client_, tracer_, def_pool_->ptr(),
arena.ptr()};
// Create a request. // Create a request.
envoy_service_discovery_v3_DiscoveryRequest* request = envoy_service_discovery_v3_DiscoveryRequest* request =
envoy_service_discovery_v3_DiscoveryRequest_new(arena.ptr()); envoy_service_discovery_v3_DiscoveryRequest_new(arena.ptr());
@ -270,7 +271,8 @@ void MaybeLogDiscoveryResponse(
if (GRPC_TRACE_FLAG_ENABLED(*context.tracer) && if (GRPC_TRACE_FLAG_ENABLED(*context.tracer) &&
gpr_should_log(GPR_LOG_SEVERITY_DEBUG)) { gpr_should_log(GPR_LOG_SEVERITY_DEBUG)) {
const upb_MessageDef* msg_type = const upb_MessageDef* msg_type =
envoy_service_discovery_v3_DiscoveryResponse_getmsgdef(context.symtab); envoy_service_discovery_v3_DiscoveryResponse_getmsgdef(
context.def_pool);
char buf[10240]; char buf[10240];
upb_TextEncode(response, msg_type, nullptr, 0, buf, sizeof(buf)); upb_TextEncode(response, msg_type, nullptr, 0, buf, sizeof(buf));
gpr_log(GPR_DEBUG, "[xds_client %p] received response: %s", context.client, gpr_log(GPR_DEBUG, "[xds_client %p] received response: %s", context.client,
@ -283,7 +285,8 @@ void MaybeLogDiscoveryResponse(
absl::Status XdsApi::ParseAdsResponse(absl::string_view encoded_response, absl::Status XdsApi::ParseAdsResponse(absl::string_view encoded_response,
AdsResponseParserInterface* parser) { AdsResponseParserInterface* parser) {
upb::Arena arena; upb::Arena arena;
const XdsApiContext context = {client_, tracer_, symtab_->ptr(), arena.ptr()}; const XdsApiContext context = {client_, tracer_, def_pool_->ptr(),
arena.ptr()};
// Decode the response. // Decode the response.
const envoy_service_discovery_v3_DiscoveryResponse* response = const envoy_service_discovery_v3_DiscoveryResponse* response =
envoy_service_discovery_v3_DiscoveryResponse_parse( envoy_service_discovery_v3_DiscoveryResponse_parse(
@ -356,7 +359,8 @@ void MaybeLogLrsRequest(
if (GRPC_TRACE_FLAG_ENABLED(*context.tracer) && if (GRPC_TRACE_FLAG_ENABLED(*context.tracer) &&
gpr_should_log(GPR_LOG_SEVERITY_DEBUG)) { gpr_should_log(GPR_LOG_SEVERITY_DEBUG)) {
const upb_MessageDef* msg_type = const upb_MessageDef* msg_type =
envoy_service_load_stats_v3_LoadStatsRequest_getmsgdef(context.symtab); envoy_service_load_stats_v3_LoadStatsRequest_getmsgdef(
context.def_pool);
char buf[10240]; char buf[10240];
upb_TextEncode(request, msg_type, nullptr, 0, buf, sizeof(buf)); upb_TextEncode(request, msg_type, nullptr, 0, buf, sizeof(buf));
gpr_log(GPR_DEBUG, "[xds_client %p] constructed LRS request: %s", gpr_log(GPR_DEBUG, "[xds_client %p] constructed LRS request: %s",
@ -377,7 +381,8 @@ std::string SerializeLrsRequest(
std::string XdsApi::CreateLrsInitialRequest() { std::string XdsApi::CreateLrsInitialRequest() {
upb::Arena arena; upb::Arena arena;
const XdsApiContext context = {client_, tracer_, symtab_->ptr(), arena.ptr()}; const XdsApiContext context = {client_, tracer_, def_pool_->ptr(),
arena.ptr()};
// Create a request. // Create a request.
envoy_service_load_stats_v3_LoadStatsRequest* request = envoy_service_load_stats_v3_LoadStatsRequest* request =
envoy_service_load_stats_v3_LoadStatsRequest_new(arena.ptr()); envoy_service_load_stats_v3_LoadStatsRequest_new(arena.ptr());
@ -447,7 +452,8 @@ void LocalityStatsPopulate(
std::string XdsApi::CreateLrsRequest( std::string XdsApi::CreateLrsRequest(
ClusterLoadReportMap cluster_load_report_map) { ClusterLoadReportMap cluster_load_report_map) {
upb::Arena arena; upb::Arena arena;
const XdsApiContext context = {client_, tracer_, symtab_->ptr(), arena.ptr()}; const XdsApiContext context = {client_, tracer_, def_pool_->ptr(),
arena.ptr()};
// Create a request. // Create a request.
envoy_service_load_stats_v3_LoadStatsRequest* request = envoy_service_load_stats_v3_LoadStatsRequest* request =
envoy_service_load_stats_v3_LoadStatsRequest_new(arena.ptr()); envoy_service_load_stats_v3_LoadStatsRequest_new(arena.ptr());
@ -514,7 +520,8 @@ void MaybeLogLrsResponse(
if (GRPC_TRACE_FLAG_ENABLED(*context.tracer) && if (GRPC_TRACE_FLAG_ENABLED(*context.tracer) &&
gpr_should_log(GPR_LOG_SEVERITY_DEBUG)) { gpr_should_log(GPR_LOG_SEVERITY_DEBUG)) {
const upb_MessageDef* msg_type = const upb_MessageDef* msg_type =
envoy_service_load_stats_v3_LoadStatsResponse_getmsgdef(context.symtab); envoy_service_load_stats_v3_LoadStatsResponse_getmsgdef(
context.def_pool);
char buf[10240]; char buf[10240];
upb_TextEncode(response, msg_type, nullptr, 0, buf, sizeof(buf)); upb_TextEncode(response, msg_type, nullptr, 0, buf, sizeof(buf));
gpr_log(GPR_DEBUG, "[xds_client %p] received LRS response: %s", gpr_log(GPR_DEBUG, "[xds_client %p] received LRS response: %s",
@ -537,7 +544,8 @@ absl::Status XdsApi::ParseLrsResponse(absl::string_view encoded_response,
if (decoded_response == nullptr) { if (decoded_response == nullptr) {
return absl::UnavailableError("Can't decode response."); return absl::UnavailableError("Can't decode response.");
} }
const XdsApiContext context = {client_, tracer_, symtab_->ptr(), arena.ptr()}; const XdsApiContext context = {client_, tracer_, def_pool_->ptr(),
arena.ptr()};
MaybeLogLrsResponse(context, decoded_response); MaybeLogLrsResponse(context, decoded_response);
// Check send_all_clusters. // Check send_all_clusters.
if (envoy_service_load_stats_v3_LoadStatsResponse_send_all_clusters( if (envoy_service_load_stats_v3_LoadStatsResponse_send_all_clusters(
@ -585,7 +593,8 @@ std::string XdsApi::AssembleClientConfig(
// Fill-in the node information // Fill-in the node information
auto* node = envoy_service_status_v3_ClientConfig_mutable_node(client_config, auto* node = envoy_service_status_v3_ClientConfig_mutable_node(client_config,
arena.ptr()); arena.ptr());
const XdsApiContext context = {client_, tracer_, symtab_->ptr(), arena.ptr()}; const XdsApiContext context = {client_, tracer_, def_pool_->ptr(),
arena.ptr()};
PopulateNode(context, node_, user_agent_name_, user_agent_version_, node); PopulateNode(context, node_, user_agent_name_, user_agent_version_, node);
// Dump each resource. // Dump each resource.
std::vector<std::string> type_url_storage; std::vector<std::string> type_url_storage;

@ -148,7 +148,7 @@ class XdsApi {
""); "");
XdsApi(XdsClient* client, TraceFlag* tracer, const XdsBootstrap::Node* node, XdsApi(XdsClient* client, TraceFlag* tracer, const XdsBootstrap::Node* node,
upb::SymbolTable* symtab, std::string user_agent_name, upb::DefPool* def_pool, std::string user_agent_name,
std::string user_agent_version); std::string user_agent_version);
// Creates an ADS request. // Creates an ADS request.
@ -184,7 +184,7 @@ class XdsApi {
XdsClient* client_; XdsClient* client_;
TraceFlag* tracer_; TraceFlag* tracer_;
const XdsBootstrap::Node* node_; // Do not own. const XdsBootstrap::Node* node_; // Do not own.
upb::SymbolTable* symtab_; // Do not own. upb::DefPool* def_pool_; // Do not own.
const std::string user_agent_name_; const std::string user_agent_name_;
const std::string user_agent_version_; const std::string user_agent_version_;
}; };

@ -756,7 +756,7 @@ void XdsClient::ChannelState::AdsCallState::AdsResponseParser::ParseResource(
// Parse the resource. // Parse the resource.
XdsResourceType::DecodeContext context = { XdsResourceType::DecodeContext context = {
xds_client(), ads_call_state_->chand()->server_, &grpc_xds_client_trace, xds_client(), ads_call_state_->chand()->server_, &grpc_xds_client_trace,
xds_client()->symtab_.ptr(), arena}; xds_client()->def_pool_.ptr(), arena};
XdsResourceType::DecodeResult decode_result = XdsResourceType::DecodeResult decode_result =
result_.type->Decode(context, serialized_resource); result_.type->Decode(context, serialized_resource);
// If we didn't already have the resource name from the Resource // If we didn't already have the resource name from the Resource
@ -1490,7 +1490,7 @@ XdsClient::XdsClient(
transport_factory_(std::move(transport_factory)), transport_factory_(std::move(transport_factory)),
request_timeout_(resource_request_timeout), request_timeout_(resource_request_timeout),
xds_federation_enabled_(XdsFederationEnabled()), xds_federation_enabled_(XdsFederationEnabled()),
api_(this, &grpc_xds_client_trace, bootstrap_->node(), &symtab_, api_(this, &grpc_xds_client_trace, bootstrap_->node(), &def_pool_,
std::move(user_agent_name), std::move(user_agent_version)), std::move(user_agent_name), std::move(user_agent_version)),
work_serializer_(engine), work_serializer_(engine),
engine_(std::move(engine)) { engine_(std::move(engine)) {
@ -1722,7 +1722,7 @@ void XdsClient::MaybeRegisterResourceTypeLocked(
return; return;
} }
resource_types_.emplace(resource_type->type_url(), resource_type); resource_types_.emplace(resource_type->type_url(), resource_type);
resource_type->InitUpbSymtab(this, symtab_.ptr()); resource_type->InitUpbSymtab(this, def_pool_.ptr());
} }
const XdsResourceType* XdsClient::GetResourceTypeLocked( const XdsResourceType* XdsClient::GetResourceTypeLocked(

@ -317,7 +317,7 @@ class XdsClient : public DualRefCounted<XdsClient> {
// Stores resource type objects seen by type URL. // Stores resource type objects seen by type URL.
std::map<absl::string_view /*resource_type*/, const XdsResourceType*> std::map<absl::string_view /*resource_type*/, const XdsResourceType*>
resource_types_ ABSL_GUARDED_BY(mu_); resource_types_ ABSL_GUARDED_BY(mu_);
upb::SymbolTable symtab_ ABSL_GUARDED_BY(mu_); upb::DefPool def_pool_ ABSL_GUARDED_BY(mu_);
// Map of existing xDS server channels. // Map of existing xDS server channels.
// Key is owned by the bootstrap config. // Key is owned by the bootstrap config.

@ -65,10 +65,10 @@ absl::StatusOr<std::string> ConvertAuditLoggerConfig(
const AuditLoggerConfigProto& config) { const AuditLoggerConfigProto& config) {
std::string serialized_config = config.SerializeAsString(); std::string serialized_config = config.SerializeAsString();
upb::Arena arena; upb::Arena arena;
upb::SymbolTable symtab; upb::DefPool def_pool;
XdsResourceType::DecodeContext context = {nullptr, XdsResourceType::DecodeContext context = {
GrpcXdsBootstrap::GrpcXdsServer(), nullptr, GrpcXdsBootstrap::GrpcXdsServer(), nullptr, def_pool.ptr(),
nullptr, symtab.ptr(), arena.ptr()}; arena.ptr()};
auto* upb_config = auto* upb_config =
envoy_config_rbac_v3_RBAC_AuditLoggingOptions_AuditLoggerConfig_parse( envoy_config_rbac_v3_RBAC_AuditLoggingOptions_AuditLoggerConfig_parse(
serialized_config.data(), serialized_config.size(), arena.ptr()); serialized_config.data(), serialized_config.size(), arena.ptr());

@ -74,10 +74,10 @@ absl::StatusOr<std::string> ConvertXdsPolicy(
const LoadBalancingPolicyProto& policy) { const LoadBalancingPolicyProto& policy) {
std::string serialized_policy = policy.SerializeAsString(); std::string serialized_policy = policy.SerializeAsString();
upb::Arena arena; upb::Arena arena;
upb::SymbolTable symtab; upb::DefPool def_pool;
XdsResourceType::DecodeContext context = {nullptr, XdsResourceType::DecodeContext context = {
GrpcXdsBootstrap::GrpcXdsServer(), nullptr, GrpcXdsBootstrap::GrpcXdsServer(), nullptr, def_pool.ptr(),
nullptr, symtab.ptr(), arena.ptr()}; arena.ptr()};
auto* upb_policy = envoy_config_cluster_v3_LoadBalancingPolicy_parse( auto* upb_policy = envoy_config_cluster_v3_LoadBalancingPolicy_parse(
serialized_policy.data(), serialized_policy.size(), arena.ptr()); serialized_policy.data(), serialized_policy.size(), arena.ptr());
ValidationErrors errors; ValidationErrors errors;

Loading…
Cancel
Save