unified-storage: Distributor rename to better reflect that it'll be used for search (#107409)
* rename distributor/ring references to "storage-api" to "search-server"
This commit is contained in:
+18
-18
@@ -4,25 +4,25 @@ const (
|
||||
// All includes all modules necessary for Grafana to run as a standalone server
|
||||
All string = "all"
|
||||
|
||||
Core string = "core"
|
||||
MemberlistKV string = "memberlistkv"
|
||||
GrafanaAPIServer string = "grafana-apiserver"
|
||||
StorageRing string = "storage-ring"
|
||||
Distributor string = "distributor"
|
||||
StorageServer string = "storage-server"
|
||||
ZanzanaServer string = "zanzana-server"
|
||||
InstrumentationServer string = "instrumentation-server"
|
||||
FrontendServer string = "frontend-server"
|
||||
Core string = "core"
|
||||
MemberlistKV string = "memberlistkv"
|
||||
GrafanaAPIServer string = "grafana-apiserver"
|
||||
SearchServerRing string = "search-server-ring"
|
||||
SearchServerDistributor string = "search-server-distributor"
|
||||
StorageServer string = "storage-server"
|
||||
ZanzanaServer string = "zanzana-server"
|
||||
InstrumentationServer string = "instrumentation-server"
|
||||
FrontendServer string = "frontend-server"
|
||||
)
|
||||
|
||||
var dependencyMap = map[string][]string{
|
||||
MemberlistKV: {InstrumentationServer},
|
||||
StorageRing: {InstrumentationServer, MemberlistKV},
|
||||
GrafanaAPIServer: {InstrumentationServer},
|
||||
StorageServer: {InstrumentationServer, StorageRing},
|
||||
ZanzanaServer: {InstrumentationServer},
|
||||
Distributor: {InstrumentationServer, MemberlistKV, StorageRing},
|
||||
Core: {},
|
||||
All: {Core},
|
||||
FrontendServer: {},
|
||||
MemberlistKV: {InstrumentationServer},
|
||||
SearchServerRing: {InstrumentationServer, MemberlistKV},
|
||||
GrafanaAPIServer: {InstrumentationServer},
|
||||
StorageServer: {InstrumentationServer, SearchServerRing},
|
||||
ZanzanaServer: {InstrumentationServer},
|
||||
SearchServerDistributor: {InstrumentationServer, MemberlistKV, SearchServerRing},
|
||||
Core: {},
|
||||
All: {Core},
|
||||
FrontendServer: {},
|
||||
}
|
||||
|
||||
@@ -116,10 +116,10 @@ type ModuleServer struct {
|
||||
promGatherer prometheus.Gatherer
|
||||
registerer prometheus.Registerer
|
||||
|
||||
MemberlistKVConfig kv.Config
|
||||
httpServerRouter *mux.Router
|
||||
storageRing *ring.Ring
|
||||
storageRingClientPool *ringclient.Pool
|
||||
MemberlistKVConfig kv.Config
|
||||
httpServerRouter *mux.Router
|
||||
searchServerRing *ring.Ring
|
||||
searchServerRingClientPool *ringclient.Pool
|
||||
}
|
||||
|
||||
// init initializes the server and its services.
|
||||
@@ -162,8 +162,8 @@ func (s *ModuleServer) Run() error {
|
||||
})
|
||||
|
||||
m.RegisterModule(modules.MemberlistKV, s.initMemberlistKV)
|
||||
m.RegisterModule(modules.StorageRing, s.initRing)
|
||||
m.RegisterModule(modules.Distributor, s.initDistributor)
|
||||
m.RegisterModule(modules.SearchServerRing, s.initSearchServerRing)
|
||||
m.RegisterModule(modules.SearchServerDistributor, s.initSearchServerDistributor)
|
||||
|
||||
m.RegisterModule(modules.Core, func() (services.Service, error) {
|
||||
return NewService(s.cfg, s.opts, s.apiOpts)
|
||||
@@ -183,7 +183,7 @@ func (s *ModuleServer) Run() error {
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return sql.ProvideUnifiedStorageGrpcService(s.cfg, s.features, nil, s.log, s.registerer, docBuilders, s.storageMetrics, s.indexMetrics, s.storageRing, s.MemberlistKVConfig)
|
||||
return sql.ProvideUnifiedStorageGrpcService(s.cfg, s.features, nil, s.log, s.registerer, docBuilders, s.storageMetrics, s.indexMetrics, s.searchServerRing, s.MemberlistKVConfig)
|
||||
})
|
||||
|
||||
m.RegisterModule(modules.ZanzanaServer, func() (services.Service, error) {
|
||||
|
||||
+7
-7
@@ -25,7 +25,7 @@ import (
|
||||
|
||||
var metricsPrefix = resource.RingName + "_"
|
||||
|
||||
func (ms *ModuleServer) initRing() (services.Service, error) {
|
||||
func (ms *ModuleServer) initSearchServerRing() (services.Service, error) {
|
||||
if !ms.cfg.EnableSharding {
|
||||
return nil, nil
|
||||
}
|
||||
@@ -48,7 +48,7 @@ func (ms *ModuleServer) initRing() (services.Service, error) {
|
||||
return nil, fmt.Errorf("failed to create KV store client: %s", err)
|
||||
}
|
||||
|
||||
storageRing, err := ring.NewWithStoreClientAndStrategy(
|
||||
searchServerRing, err := ring.NewWithStoreClientAndStrategy(
|
||||
toRingConfig(ms.cfg, ms.MemberlistKVConfig),
|
||||
resource.RingName,
|
||||
resource.RingKey,
|
||||
@@ -58,11 +58,11 @@ func (ms *ModuleServer) initRing() (services.Service, error) {
|
||||
logger,
|
||||
)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("failed to initialize storage-ring ring: %s", err)
|
||||
return nil, fmt.Errorf("failed to initialize index-server-ring ring: %s", err)
|
||||
}
|
||||
|
||||
startFn := func(ctx context.Context) error {
|
||||
err = storageRing.StartAsync(ctx)
|
||||
err = searchServerRing.StartAsync(ctx)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to start the ring: %s", err)
|
||||
}
|
||||
@@ -74,10 +74,10 @@ func (ms *ModuleServer) initRing() (services.Service, error) {
|
||||
return nil
|
||||
}
|
||||
|
||||
ms.storageRing = storageRing
|
||||
ms.storageRingClientPool = pool
|
||||
ms.searchServerRing = searchServerRing
|
||||
ms.searchServerRingClientPool = pool
|
||||
|
||||
ms.httpServerRouter.Path("/ring").Methods("GET", "POST").Handler(storageRing)
|
||||
ms.httpServerRouter.Path("/ring").Methods("GET", "POST").Handler(searchServerRing)
|
||||
|
||||
svc := services.NewIdleService(startFn, nil)
|
||||
|
||||
|
||||
@@ -10,18 +10,18 @@ import (
|
||||
"go.opentelemetry.io/otel"
|
||||
)
|
||||
|
||||
func (ms *ModuleServer) initDistributor() (services.Service, error) {
|
||||
func (ms *ModuleServer) initSearchServerDistributor() (services.Service, error) {
|
||||
var (
|
||||
distributor = &distributorService{}
|
||||
tracer = otel.Tracer("unified-storage-distributor")
|
||||
tracer = otel.Tracer("index-server-distributor")
|
||||
err error
|
||||
)
|
||||
distributor.grpcHandler, err = resource.ProvideDistributorServer(ms.cfg, ms.features, ms.registerer, tracer, ms.storageRing, ms.storageRingClientPool)
|
||||
distributor.grpcHandler, err = resource.ProvideSearchDistributorServer(ms.cfg, ms.features, ms.registerer, tracer, ms.searchServerRing, ms.searchServerRingClientPool)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return services.NewBasicService(nil, distributor.running, nil).WithName(modules.Distributor), nil
|
||||
return services.NewBasicService(nil, distributor.running, nil).WithName(modules.SearchServerDistributor), nil
|
||||
}
|
||||
|
||||
type distributorService struct {
|
||||
@@ -273,7 +273,7 @@ func initDistributorServerForTest(t *testing.T, memberlistPort int) testModuleSe
|
||||
cfg.MemberlistJoinMember = "127.0.0.1:" + strconv.Itoa(memberlistPort)
|
||||
cfg.MemberlistAdvertiseAddr = "127.0.0.1"
|
||||
cfg.MemberlistAdvertisePort = memberlistPort
|
||||
cfg.Target = []string{modules.Distributor}
|
||||
cfg.Target = []string{modules.SearchServerDistributor}
|
||||
cfg.InstanceID = "distributor" // does nothing for the distributor but may be useful to debug tests
|
||||
|
||||
conn, err := grpc.NewClient(cfg.GRPCServer.Address,
|
||||
+4
-4
@@ -21,7 +21,7 @@ import (
|
||||
"google.golang.org/grpc/metadata"
|
||||
)
|
||||
|
||||
func ProvideDistributorServer(cfg *setting.Cfg, features featuremgmt.FeatureToggles, registerer prometheus.Registerer, tracer trace.Tracer, ring *ring.Ring, ringClientPool *ringclient.Pool) (grpcserver.Provider, error) {
|
||||
func ProvideSearchDistributorServer(cfg *setting.Cfg, features featuremgmt.FeatureToggles, registerer prometheus.Registerer, tracer trace.Tracer, ring *ring.Ring, ringClientPool *ringclient.Pool) (grpcserver.Provider, error) {
|
||||
var err error
|
||||
grpcHandler, err := grpcserver.ProvideService(cfg, features, nil, tracer, registerer)
|
||||
if err != nil {
|
||||
@@ -29,7 +29,7 @@ func ProvideDistributorServer(cfg *setting.Cfg, features featuremgmt.FeatureTogg
|
||||
}
|
||||
|
||||
distributorServer := &distributorServer{
|
||||
log: log.New("unified-storage-distributor"),
|
||||
log: log.New("index-server-distributor"),
|
||||
ring: ring,
|
||||
clientPool: ringClientPool,
|
||||
}
|
||||
@@ -73,8 +73,8 @@ func (c *RingClient) RemoteAddress() string {
|
||||
return c.Conn.Target()
|
||||
}
|
||||
|
||||
const RingKey = "unified-storage-ring"
|
||||
const RingName = "unified_storage_ring"
|
||||
const RingKey = "search-server-ring"
|
||||
const RingName = "search_server_ring"
|
||||
const RingHeartbeatTimeout = time.Minute
|
||||
const RingNumTokens = 128
|
||||
|
||||
Reference in New Issue
Block a user