Skip to content

Commit 0950d01

Browse files
authored
Add unit tests for group replica response strategy (#135)
2 parents 2e237b4 + 06b15a3 commit 0950d01

File tree

3 files changed

+316
-23
lines changed

3 files changed

+316
-23
lines changed

pkg/block/fetcher.go

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -223,16 +223,23 @@ type RecursiveLister struct {
223223
}
224224

225225
func NewRecursiveLister(logger log.Logger, bkt objstore.InstrumentedBucketReader) *RecursiveLister {
226-
level.Info(logger).Log("msg", "Using recursive block lister")
226+
if logger != nil {
227+
level.Info(logger).Log("msg", "Using recursive block lister")
228+
}
227229
return &RecursiveLister{
228230
logger: logger,
229231
bkt: bkt,
230232
}
231233
}
232234

233235
func (f *RecursiveLister) GetActiveAndPartialBlockIDs(ctx context.Context, ch chan<- ulid.ULID) (partialBlocks map[ulid.ULID]bool, err error) {
234-
level.Info(f.logger).Log("msg", "recursive block lister started")
235-
start := time.Now()
236+
if f.logger != nil {
237+
level.Info(f.logger).Log("msg", "recursive block lister started")
238+
start := time.Now()
239+
defer func() {
240+
level.Info(f.logger).Log("msg", "recursive block lister ended", "duration", time.Since(start))
241+
}()
242+
}
236243
partialBlocks = make(map[ulid.ULID]bool)
237244
err = f.bkt.Iter(ctx, "", func(name string) error {
238245
parts := strings.Split(name, "/")
@@ -256,7 +263,6 @@ func (f *RecursiveLister) GetActiveAndPartialBlockIDs(ctx context.Context, ch ch
256263
}
257264
return nil
258265
}, objstore.WithRecursiveIter())
259-
level.Info(f.logger).Log("msg", "recursive block lister ended", "duration", time.Since(start))
260266
return partialBlocks, err
261267
}
262268

@@ -268,19 +274,23 @@ type ConcurrentLister struct {
268274
}
269275

270276
func NewConcurrentLister(logger log.Logger, bkt objstore.InstrumentedBucketReader) *ConcurrentLister {
271-
level.Info(logger).Log("msg", "Using concurrent block lister")
277+
if logger != nil {
278+
level.Info(logger).Log("msg", "Using concurrent block lister")
279+
}
272280
return &ConcurrentLister{
273281
logger: logger,
274282
bkt: bkt,
275283
}
276284
}
277285

278286
func (f *ConcurrentLister) GetActiveAndPartialBlockIDs(ctx context.Context, ch chan<- ulid.ULID) (partialBlocks map[ulid.ULID]bool, err error) {
279-
level.Info(f.logger).Log("msg", "concurrent block lister started")
280-
start := time.Now()
281-
defer func() {
282-
level.Info(f.logger).Log("msg", "concurrent block lister end", "duration", time.Since(start))
283-
}()
287+
if f.logger != nil {
288+
level.Info(f.logger).Log("msg", "concurrent block lister started")
289+
start := time.Now()
290+
defer func() {
291+
level.Info(f.logger).Log("msg", "concurrent block lister end", "duration", time.Since(start))
292+
}()
293+
}
284294
const concurrency = 64
285295

286296
partialBlocks = make(map[ulid.ULID]bool)

pkg/store/proxy.go

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -72,12 +72,13 @@ type Client interface {
7272
// represents a local client (server-as-client) and has no remote address.
7373
Addr() (addr string, isLocalClient bool)
7474

75-
// A replica key defines a set of endpoints belong to the same replica.
76-
// E.g, "pantheon-db-rep0", "pantheon-db-rep1", "long-range-store".
75+
// ReplicaKey returns replica name of the store client. A replica consists of a set of endpoints belong to the
76+
// same replica. E.g, "pantheon-db-rep0", "pantheon-db-rep1", "long-range-store".
7777
ReplicaKey() string
78-
// A group key defines a group of replicas that belong to the same group.
79-
// E.g. "pantheon-db" has replicas "pantheon-db-rep0", "pantheon-db-rep1".
80-
// "long-range-store" has only one replica, "long-range-store".
78+
79+
// GroupKey returns group name of the store client. A group defines a group of replicas that belong to the
80+
// same group. E.g. "pantheon-db" has replicas "pantheon-db-rep0", "pantheon-db-rep1".
81+
// "long-range-store" has only one replica, "long-range-store".
8182
GroupKey() string
8283

8384
// Matches returns true if provided label matchers are allowed in the store.

0 commit comments

Comments
 (0)