Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade dskit and pass empty service name to dskit/grpcutil.Resolver.Resolve #4601

Merged
merged 1 commit into from
Jan 10, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
* [CHANGE] Changed default for `-ingester.min-ready-duration` from 1 minute to 15 seconds. #4539
* [CHANGE] query-frontend: Do not print anything in the logs of `query-frontend` if a in-progress query has been canceled (context canceled). #4562
* [CHANGE] Compactor block deletion mark migration, needed when upgrading from v1.7, is now disabled by default. #4597
* [CHANGE] The `status_code` label on gRPC client metrics has changed from '200' and '500' to '2xx', '5xx', '4xx', 'cancel' or 'error'. 4601
* [CHANGE] Memberlist: changed probe interval from `1s` to `5s` and probe timeout from `500ms` to `2s`. #4601
* [ENHANCEMENT] Update Go version to 1.17.5. #4602 #4604
* [ENHANCEMENT] Keep track of discarded samples due to relabel configuration in `cortex_discarded_samples_total`. #4503
* [ENHANCEMENT] Ruler: Add `-ruler.disable-rule-group-label` to disable the `rule_group` label on exported metrics. #4571
Expand All @@ -15,9 +17,12 @@
* [ENHANCEMENT] Updated Prometheus to latest. Includes changes from prometheus#9239, adding 15 new functions. Multiple TSDB bugfixes prometheus#9438 & prometheus#9381. #4524
* [ENHANCEMENT] Query Frontend: Add setting `-frontend.forward-headers-list` in frontend to configure the set of headers from the requests to be forwarded to downstream requests. #4486
* [ENHANCEMENT] Blocks storage: Add `-blocks-storage.azure.http.*`, `-alertmanager-storage.azure.http.*`, and `-ruler-storage.azure.http.*` to configure the Azure storage client. #4581
* [ENHANCEMENT] Optimise memberlist receive path when used as a backing store for rings with a large number of members. #4601
* [BUGFIX] AlertManager: remove stale template files. #4495
* [BUGFIX] Distributor: fix bug in query-exemplar where some results would get dropped. #4582
* [BUGFIX] Update Thanos dependency: compactor tracing support, azure blocks storage memory fix. #4585
* [BUGFIX] Querier: Disable query scheduler SRV DNS lookup, which removes noisy log messages about "failed DNS SRV record lookup". #4601
* [BUGFIX] Memberlist: fixed corrupted packets when sending compound messages with more than 255 messages or messages bigger than 64KB. #4601

## 1.11.0 2021-11-25

Expand Down Expand Up @@ -79,7 +84,6 @@
* [BUGFIX] Compactor: fixed panic while collecting Prometheus metrics. #4483
* [BUGFIX] Update go-kit package to fix spurious log messages #4544


## 1.10.0 / 2021-08-03

* [CHANGE] Prevent path traversal attack from users able to control the HTTP header `X-Scope-OrgID`. #4375 (CVE-2021-36157)
Expand Down
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ require (
github.com/golang/protobuf v1.5.2
github.com/golang/snappy v0.0.4
github.com/gorilla/mux v1.8.0
github.com/grafana/dskit v0.0.0-20211021180445-3bd016e9d7f1
github.com/grafana/dskit v0.0.0-20220105080720-01ce9286d7d5
github.com/json-iterator/go v1.1.12
github.com/lib/pq v1.3.0
github.com/minio/minio-go/v7 v7.0.10
Expand Down
3 changes: 2 additions & 1 deletion go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -860,8 +860,9 @@ github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB7
github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
github.com/grafana/dskit v0.0.0-20211021180445-3bd016e9d7f1 h1:Qf+/W3Tup0nO21tgJmO14WJK0yyrm4L2UJipZP+Zoow=
github.com/grafana/dskit v0.0.0-20211021180445-3bd016e9d7f1/go.mod h1:uPG2nyK4CtgNDmWv7qyzYcdI+S90kHHRWvHnBtEMBXM=
github.com/grafana/dskit v0.0.0-20220105080720-01ce9286d7d5 h1:IXo/V2+KKLYLD724qh3uRaZgAy3BV3HdtXuSs7lb3jU=
github.com/grafana/dskit v0.0.0-20220105080720-01ce9286d7d5/go.mod h1:M0/dlftwBvH7+hdNNpjMa/CUXD7gsew67mbkCuDlFXE=
github.com/grafana/gocql v0.0.0-20200605141915-ba5dc39ece85 h1:xLuzPoOzdfNb/RF/IENCw+oLVdZB4G21VPhkHBgwSHY=
github.com/grafana/gocql v0.0.0-20200605141915-ba5dc39ece85/go.mod h1:crI9WX6p0IhrqB+DqIUHulRW853PaNFf7o4UprV//3I=
github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA=
Expand Down
7 changes: 5 additions & 2 deletions pkg/compactor/compactor.go
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,9 @@ import (
)

const (
// ringKey is the key under which we store the compactors ring in the KVStore.
ringKey = "compactor"

blocksMarkedForDeletionName = "cortex_compactor_blocks_marked_for_deletion_total"
blocksMarkedForDeletionHelp = "Total number of blocks marked for deletion in compactor."
)
Expand Down Expand Up @@ -367,12 +370,12 @@ func (c *Compactor) starting(ctx context.Context) error {
// Initialize the compactors ring if sharding is enabled.
if c.compactorCfg.ShardingEnabled {
lifecyclerCfg := c.compactorCfg.ShardingRing.ToLifecyclerConfig()
c.ringLifecycler, err = ring.NewLifecycler(lifecyclerCfg, ring.NewNoopFlushTransferer(), "compactor", ring.CompactorRingKey, false, c.logger, prometheus.WrapRegistererWithPrefix("cortex_", c.registerer))
c.ringLifecycler, err = ring.NewLifecycler(lifecyclerCfg, ring.NewNoopFlushTransferer(), "compactor", ringKey, false, c.logger, prometheus.WrapRegistererWithPrefix("cortex_", c.registerer))
if err != nil {
return errors.Wrap(err, "unable to initialize compactor ring lifecycler")
}

c.ring, err = ring.New(lifecyclerCfg.RingConfig, "compactor", ring.CompactorRingKey, c.logger, prometheus.WrapRegistererWithPrefix("cortex_", c.registerer))
c.ring, err = ring.New(lifecyclerCfg.RingConfig, "compactor", ringKey, c.logger, prometheus.WrapRegistererWithPrefix("cortex_", c.registerer))
if err != nil {
return errors.Wrap(err, "unable to initialize compactor ring")
}
Expand Down
1 change: 1 addition & 0 deletions pkg/compactor/compactor_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -1086,6 +1086,7 @@ func removeIgnoredLogs(input []string) []string {
`level=debug component=compactor msg="unregistering instance from ring" ring=compactor`: {},
`level=info component=compactor msg="instance removed from the KV store" ring=compactor`: {},
`level=info component=compactor msg="observing tokens before going ACTIVE" ring=compactor`: {},
`level=info component=compactor msg="lifecycler entering final sleep before shutdown" final_sleep=0s`: {},
}

out := make([]string, 0, len(input))
Expand Down
2 changes: 1 addition & 1 deletion pkg/cortex/modules.go
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ func (t *Cortex) initServer() (services.Service, error) {

func (t *Cortex) initRing() (serv services.Service, err error) {
t.Cfg.Ingester.LifecyclerConfig.RingConfig.KVStore.Multi.ConfigProvider = multiClientRuntimeConfigChannel(t.RuntimeConfig)
t.Ring, err = ring.New(t.Cfg.Ingester.LifecyclerConfig.RingConfig, "ingester", ring.IngesterRingKey, util_log.Logger, prometheus.WrapRegistererWithPrefix("cortex_", prometheus.DefaultRegisterer))
t.Ring, err = ring.New(t.Cfg.Ingester.LifecyclerConfig.RingConfig, "ingester", ingester.RingKey, util_log.Logger, prometheus.WrapRegistererWithPrefix("cortex_", prometheus.DefaultRegisterer))
if err != nil {
return nil, err
}
Expand Down
7 changes: 5 additions & 2 deletions pkg/distributor/distributor.go
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,9 @@ var (
)

const (
// ringKey is the key under which we store the distributors ring in the KVStore.
ringKey = "distributor"

typeSamples = "samples"
typeMetadata = "metadata"

Expand Down Expand Up @@ -211,12 +214,12 @@ func New(cfg Config, clientConfig ingester_client.Config, limits *validation.Ove
if !canJoinDistributorsRing {
ingestionRateStrategy = newInfiniteIngestionRateStrategy()
} else if limits.IngestionRateStrategy() == validation.GlobalIngestionRateStrategy {
distributorsLifeCycler, err = ring.NewLifecycler(cfg.DistributorRing.ToLifecyclerConfig(), nil, "distributor", ring.DistributorRingKey, true, log, prometheus.WrapRegistererWithPrefix("cortex_", reg))
distributorsLifeCycler, err = ring.NewLifecycler(cfg.DistributorRing.ToLifecyclerConfig(), nil, "distributor", ringKey, true, log, prometheus.WrapRegistererWithPrefix("cortex_", reg))
if err != nil {
return nil, err
}

distributorsRing, err = ring.New(cfg.DistributorRing.ToRingConfig(), "distributor", ring.DistributorRingKey, log, prometheus.WrapRegistererWithPrefix("cortex_", reg))
distributorsRing, err = ring.New(cfg.DistributorRing.ToRingConfig(), "distributor", ringKey, log, prometheus.WrapRegistererWithPrefix("cortex_", reg))
if err != nil {
return nil, errors.Wrap(err, "failed to initialize distributors' ring client")
}
Expand Down
9 changes: 5 additions & 4 deletions pkg/distributor/distributor_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ import (

"github.com/cortexproject/cortex/pkg/chunk/encoding"
"github.com/cortexproject/cortex/pkg/cortexpb"
"github.com/cortexproject/cortex/pkg/ingester"
"github.com/cortexproject/cortex/pkg/ingester/client"
"github.com/cortexproject/cortex/pkg/prom1/storage/metric"
"github.com/cortexproject/cortex/pkg/tenant"
Expand Down Expand Up @@ -1626,7 +1627,7 @@ func BenchmarkDistributor_Push(b *testing.B) {
kvStore, closer := consul.NewInMemoryClient(ring.GetCodec(), log.NewNopLogger(), nil)
b.Cleanup(func() { assert.NoError(b, closer.Close()) })

err := kvStore.CAS(context.Background(), ring.IngesterRingKey,
err := kvStore.CAS(context.Background(), ingester.RingKey,
func(_ interface{}) (interface{}, bool, error) {
d := &ring.Desc{}
d.AddIngester("ingester-1", "127.0.0.1", "", ring.GenerateTokens(128, nil), ring.ACTIVE, time.Now())
Expand All @@ -1639,7 +1640,7 @@ func BenchmarkDistributor_Push(b *testing.B) {
KVStore: kv.Config{Mock: kvStore},
HeartbeatTimeout: 60 * time.Minute,
ReplicationFactor: 1,
}, ring.IngesterRingKey, ring.IngesterRingKey, nil, nil)
}, ingester.RingKey, ingester.RingKey, nil, nil)
require.NoError(b, err)
require.NoError(b, services.StartAndAwaitRunning(context.Background(), ingestersRing))
b.Cleanup(func() {
Expand Down Expand Up @@ -1983,7 +1984,7 @@ func prepare(t *testing.T, cfg prepConfig) ([]*Distributor, []mockIngester, []*p
kvStore, closer := consul.NewInMemoryClient(ring.GetCodec(), log.NewNopLogger(), nil)
t.Cleanup(func() { assert.NoError(t, closer.Close()) })

err := kvStore.CAS(context.Background(), ring.IngesterRingKey,
err := kvStore.CAS(context.Background(), ingester.RingKey,
func(_ interface{}) (interface{}, bool, error) {
return &ring.Desc{
Ingesters: ingesterDescs,
Expand All @@ -2004,7 +2005,7 @@ func prepare(t *testing.T, cfg prepConfig) ([]*Distributor, []mockIngester, []*p
},
HeartbeatTimeout: 60 * time.Minute,
ReplicationFactor: rf,
}, ring.IngesterRingKey, ring.IngesterRingKey, nil, nil)
}, ingester.RingKey, ingester.RingKey, nil, nil)
require.NoError(t, err)
require.NoError(t, services.StartAndAwaitRunning(context.Background(), ingestersRing))

Expand Down
2 changes: 1 addition & 1 deletion pkg/ingester/ingester.go
Original file line number Diff line number Diff line change
Expand Up @@ -267,7 +267,7 @@ func New(cfg Config, clientConfig client.Config, limits *validation.Overrides, c
// During WAL recovery, it will create new user states which requires the limiter.
// Hence initialise the limiter before creating the WAL.
// The '!cfg.WALConfig.WALEnabled' argument says don't flush on shutdown if the WAL is enabled.
i.lifecycler, err = ring.NewLifecycler(cfg.LifecyclerConfig, i, "ingester", ring.IngesterRingKey, !cfg.WALConfig.WALEnabled || cfg.WALConfig.FlushOnShutdown, logger, prometheus.WrapRegistererWithPrefix("cortex_", registerer))
i.lifecycler, err = ring.NewLifecycler(cfg.LifecyclerConfig, i, "ingester", RingKey, !cfg.WALConfig.WALEnabled || cfg.WALConfig.FlushOnShutdown, logger, prometheus.WrapRegistererWithPrefix("cortex_", registerer))
if err != nil {
return nil, err
}
Expand Down
7 changes: 6 additions & 1 deletion pkg/ingester/ingester_v2.go
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,11 @@ import (
"github.com/cortexproject/cortex/pkg/util/validation"
)

const (
// RingKey is the key under which we store the ingesters ring in the KVStore.
RingKey = "ring"
)

const (
errTSDBCreateIncompatibleState = "cannot create a new TSDB while the ingester is not in active state (current state: %s)"
errTSDBIngest = "err: %v. timestamp=%s, series=%s" // Using error.Wrap puts the message before the error and if the series is too long, its truncated.
Expand Down Expand Up @@ -511,7 +516,7 @@ func NewV2(cfg Config, clientConfig client.Config, limits *validation.Overrides,
}, i.getOldestUnshippedBlockMetric)
}

i.lifecycler, err = ring.NewLifecycler(cfg.LifecyclerConfig, i, "ingester", ring.IngesterRingKey, cfg.BlocksStorageConfig.TSDB.FlushBlocksOnShutdown, logger, prometheus.WrapRegistererWithPrefix("cortex_", registerer))
i.lifecycler, err = ring.NewLifecycler(cfg.LifecyclerConfig, i, "ingester", RingKey, cfg.BlocksStorageConfig.TSDB.FlushBlocksOnShutdown, logger, prometheus.WrapRegistererWithPrefix("cortex_", registerer))
if err != nil {
return nil, err
}
Expand Down
10 changes: 5 additions & 5 deletions pkg/ingester/lifecycle_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@ func TestIngesterRestart(t *testing.T) {
}

test.Poll(t, 100*time.Millisecond, 1, func() interface{} {
return numTokens(config.LifecyclerConfig.RingConfig.KVStore.Mock, "localhost", ring.IngesterRingKey)
return numTokens(config.LifecyclerConfig.RingConfig.KVStore.Mock, "localhost", RingKey)
})

{
Expand All @@ -96,7 +96,7 @@ func TestIngesterRestart(t *testing.T) {
time.Sleep(200 * time.Millisecond)

test.Poll(t, 100*time.Millisecond, 1, func() interface{} {
return numTokens(config.LifecyclerConfig.RingConfig.KVStore.Mock, "localhost", ring.IngesterRingKey)
return numTokens(config.LifecyclerConfig.RingConfig.KVStore.Mock, "localhost", RingKey)
})
}

Expand All @@ -111,7 +111,7 @@ func TestIngester_ShutdownHandler(t *testing.T) {

// Make sure the ingester has been added to the ring.
test.Poll(t, 100*time.Millisecond, 1, func() interface{} {
return numTokens(config.LifecyclerConfig.RingConfig.KVStore.Mock, "localhost", ring.IngesterRingKey)
return numTokens(config.LifecyclerConfig.RingConfig.KVStore.Mock, "localhost", RingKey)
})

recorder := httptest.NewRecorder()
Expand All @@ -120,7 +120,7 @@ func TestIngester_ShutdownHandler(t *testing.T) {

// Make sure the ingester has been removed from the ring even when UnregisterFromRing is false.
test.Poll(t, 100*time.Millisecond, 0, func() interface{} {
return numTokens(config.LifecyclerConfig.RingConfig.KVStore.Mock, "localhost", ring.IngesterRingKey)
return numTokens(config.LifecyclerConfig.RingConfig.KVStore.Mock, "localhost", RingKey)
})
})
}
Expand Down Expand Up @@ -341,7 +341,7 @@ func TestIngesterFlush(t *testing.T) {
// the ring, the data is in the chunk store.
require.NoError(t, services.StopAndAwaitTerminated(context.Background(), ing.lifecycler))
test.Poll(t, 200*time.Millisecond, 0, func() interface{} {
r, err := ing.lifecycler.KVStore.Get(context.Background(), ring.IngesterRingKey)
r, err := ing.lifecycler.KVStore.Get(context.Background(), RingKey)
if err != nil {
return -1
}
Expand Down
8 changes: 4 additions & 4 deletions pkg/ruler/lifecycle_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ func TestRulerShutdown(t *testing.T) {

// Wait until the tokens are registered in the ring
test.Poll(t, 100*time.Millisecond, config.Ring.NumTokens, func() interface{} {
return numTokens(ringStore, "localhost", ring.RulerRingKey)
return numTokens(ringStore, "localhost", ringKey)
})

require.Equal(t, ring.ACTIVE, r.lifecycler.GetState())
Expand All @@ -48,7 +48,7 @@ func TestRulerShutdown(t *testing.T) {

// Wait until the tokens are unregistered from the ring
test.Poll(t, 100*time.Millisecond, 0, func() interface{} {
return numTokens(ringStore, "localhost", ring.RulerRingKey)
return numTokens(ringStore, "localhost", ringKey)
})
}

Expand All @@ -75,7 +75,7 @@ func TestRuler_RingLifecyclerShouldAutoForgetUnhealthyInstances(t *testing.T) {
defer services.StopAndAwaitTerminated(ctx, r) //nolint:errcheck

// Add an unhealthy instance to the ring.
require.NoError(t, ringStore.CAS(ctx, ring.RulerRingKey, func(in interface{}) (interface{}, bool, error) {
require.NoError(t, ringStore.CAS(ctx, ringKey, func(in interface{}) (interface{}, bool, error) {
ringDesc := ring.GetOrCreateRingDesc(in)

instance := ringDesc.AddIngester(unhealthyInstanceID, "1.1.1.1", "", generateSortedTokens(config.Ring.NumTokens), ring.ACTIVE, time.Now())
Expand All @@ -87,7 +87,7 @@ func TestRuler_RingLifecyclerShouldAutoForgetUnhealthyInstances(t *testing.T) {

// Ensure the unhealthy instance is removed from the ring.
test.Poll(t, time.Second*5, false, func() interface{} {
d, err := ringStore.Get(ctx, ring.RulerRingKey)
d, err := ringStore.Get(ctx, ringKey)
if err != nil {
return err
}
Expand Down
7 changes: 5 additions & 2 deletions pkg/ruler/ruler.go
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,9 @@ var (
)

const (
// ringKey is the key under which we store the rulers ring in the KVStore.
ringKey = "ring"

// Number of concurrent group list and group loads operations.
loadRulesConcurrency = 10
fetchRulesConcurrency = 16
Expand Down Expand Up @@ -316,12 +319,12 @@ func enableSharding(r *Ruler, ringStore kv.Client) error {
delegate = ring.NewAutoForgetDelegate(r.cfg.Ring.HeartbeatTimeout*ringAutoForgetUnhealthyPeriods, delegate, r.logger)

rulerRingName := "ruler"
r.lifecycler, err = ring.NewBasicLifecycler(lifecyclerCfg, rulerRingName, ring.RulerRingKey, ringStore, delegate, r.logger, prometheus.WrapRegistererWithPrefix("cortex_", r.registry))
r.lifecycler, err = ring.NewBasicLifecycler(lifecyclerCfg, rulerRingName, ringKey, ringStore, delegate, r.logger, prometheus.WrapRegistererWithPrefix("cortex_", r.registry))
if err != nil {
return errors.Wrap(err, "failed to initialize ruler's lifecycler")
}

r.ring, err = ring.NewWithStoreClientAndStrategy(r.cfg.Ring.ToRingConfig(), rulerRingName, ring.RulerRingKey, ringStore, ring.NewIgnoreUnhealthyInstancesReplicationStrategy(), prometheus.WrapRegistererWithPrefix("cortex_", r.registry), r.logger)
r.ring, err = ring.NewWithStoreClientAndStrategy(r.cfg.Ring.ToRingConfig(), rulerRingName, ringKey, ringStore, ring.NewIgnoreUnhealthyInstancesReplicationStrategy(), prometheus.WrapRegistererWithPrefix("cortex_", r.registry), r.logger)
if err != nil {
return errors.Wrap(err, "failed to initialize ruler's ring")
}
Expand Down
4 changes: 2 additions & 2 deletions pkg/ruler/ruler_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -436,7 +436,7 @@ func TestGetRules(t *testing.T) {
}

if tc.sharding {
err := kvStore.CAS(context.Background(), ring.RulerRingKey, func(in interface{}) (out interface{}, retry bool, err error) {
err := kvStore.CAS(context.Background(), ringKey, func(in interface{}) (out interface{}, retry bool, err error) {
d, _ := in.(*ring.Desc)
if d == nil {
d = ring.NewDesc()
Expand Down Expand Up @@ -946,7 +946,7 @@ func TestSharding(t *testing.T) {
}

if tc.setupRing != nil {
err := kvStore.CAS(context.Background(), ring.RulerRingKey, func(in interface{}) (out interface{}, retry bool, err error) {
err := kvStore.CAS(context.Background(), ringKey, func(in interface{}) (out interface{}, retry bool, err error) {
d, _ := in.(*ring.Desc)
if d == nil {
d = ring.NewDesc()
Expand Down
2 changes: 1 addition & 1 deletion pkg/util/dns_watcher.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ func NewDNSWatcher(address string, dnsLookupPeriod time.Duration, notifications
return nil, err
}

watcher, err := resolver.Resolve(address)
watcher, err := resolver.Resolve(address, "")
if err != nil {
return nil, err
}
Expand Down
9 changes: 0 additions & 9 deletions vendor/github.com/grafana/dskit/closer/closer.go

This file was deleted.

2 changes: 1 addition & 1 deletion vendor/github.com/grafana/dskit/concurrency/runner.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions vendor/github.com/grafana/dskit/crypto/tls/tls.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions vendor/github.com/grafana/dskit/flagext/day.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading