From ecda6013edf58bf645c6661b9f78ccce03b1f315 Mon Sep 17 00:00:00 2001 From: Ben Ye Date: Tue, 7 Apr 2020 11:42:42 -0400 Subject: [PATCH] Use only local tsdb for federation (#7096) Signed-off-by: yeya24 --- web/federate.go | 8 ++++---- web/federate_test.go | 3 +-- web/web.go | 2 ++ web/web_test.go | 2 ++ 4 files changed, 9 insertions(+), 6 deletions(-) diff --git a/web/federate.go b/web/federate.go index 012b972aac..c735bce152 100644 --- a/web/federate.go +++ b/web/federate.go @@ -75,7 +75,7 @@ func (h *Handler) federation(w http.ResponseWriter, req *http.Request) { ) w.Header().Set("Content-Type", string(format)) - q, err := h.storage.Querier(req.Context(), mint, maxt) + q, err := h.localStorage.Querier(req.Context(), mint, maxt) if err != nil { federationErrors.Inc() http.Error(w, err.Error(), http.StatusInternalServerError) @@ -209,10 +209,10 @@ func (h *Handler) federation(w http.ResponseWriter, req *http.Request) { // Attach global labels if they do not exist yet. for _, ln := range externalLabelNames { lv := externalLabels[ln] - if _, ok := globalUsed[string(ln)]; !ok { + if _, ok := globalUsed[ln]; !ok { protMetric.Label = append(protMetric.Label, &dto.LabelPair{ - Name: proto.String(string(ln)), - Value: proto.String(string(lv)), + Name: proto.String(ln), + Value: proto.String(lv), }) } } diff --git a/web/federate_test.go b/web/federate_test.go index 558e389147..ffb721f931 100644 --- a/web/federate_test.go +++ b/web/federate_test.go @@ -199,8 +199,7 @@ func TestFederation(t *testing.T) { } h := &Handler{ - storage: suite.Storage(), - queryEngine: suite.QueryEngine(), + localStorage: suite.Storage(), lookbackDelta: 5 * time.Minute, now: func() model.Time { return 101 * 60 * 1000 }, // 101min after epoch. config: &config.Config{ diff --git a/web/web.go b/web/web.go index 2a95b35938..c2df87ed5c 100644 --- a/web/web.go +++ b/web/web.go @@ -180,6 +180,7 @@ type Handler struct { context context.Context tsdb func() *tsdb.DB storage storage.Storage + localStorage storage.Storage notifier *notifier.Manager apiV1 *api_v1.API @@ -284,6 +285,7 @@ func New(logger log.Logger, o *Options) *Handler { lookbackDelta: o.LookbackDelta, tsdb: o.TSDB, storage: o.Storage, + localStorage: o.TSDB(), notifier: o.Notifier, now: model.Now, diff --git a/web/web_test.go b/web/web_test.go index 6dbde4e59d..a34e17ca69 100644 --- a/web/web_test.go +++ b/web/web_test.go @@ -399,6 +399,7 @@ func TestDebugHandler(t *testing.T) { Host: "localhost.localdomain:9090", Scheme: "http", }, + TSDB: func() *tsdb.DB { return nil }, } handler := New(nil, opts) handler.Ready() @@ -425,6 +426,7 @@ func TestHTTPMetrics(t *testing.T) { Host: "localhost.localdomain:9090", Scheme: "http", }, + TSDB: func() *tsdb.DB { return nil }, }) getReady := func() int { t.Helper()