Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
50116: kv: decompose roles of Gossip dependency in DistSender r=nvanbenschoten a=nvanbenschoten This change decomposes the roles of Gossip as a dependency in DistSender into that of a NodeDescStore, a source of node descriptors, and that of a FirstRangeProvider, a provider of information on the first range in a cluster. This decomposition will be used to address #47909 by: 1. replacing Gossip with a TenantService as a NodeDescStore 2. providing a custom RangeDescriptorDB (also backed by a TenantService) instead of a FirstRangeProvider. Together, these changes will allow us to remove DistSender's dependency on Gossip for SQL-only tenant processes. The next step after this will be to introduce a TenantService that can satisfy these two dependencies (NodeDescStore and RangeDescriptorDB) and also use the new NodeDescStore-to-AddressResolver binding to replace the use of Gossip with the TenantService in nodedialer instances. 50293: server: Wrap ExternalStorage factory methods in externalStorageBuilder struct r=adityamaru a=adityamaru Previously, we initialized the ExternalStorage factory methods on creation of a NewServer() as all the required config params were ready-to-use. With future work related to user scoped storage requiring access to the underlying storage.Engine, this change introduces a wrapper around these factory methods. Using a builder struct allows us to split the "creation" and "initialization" of the builder between the NewServer() and Start() methods respectively. This allows for params which are only initialized on server.Start() to be propogated to the builder for future use. This is part of a gradual refactor of the ExternalStorage factory interface and is primarily to unblock development of #47211. Release note: None Co-authored-by: Nathan VanBenschoten <nvanbenschoten@gmail.com> Co-authored-by: Aditya Maru <adityamaru@gmail.com>
- Loading branch information