From ce3a3ed868b979fb2f0d17d09d12f744a75cd55a Mon Sep 17 00:00:00 2001 From: Fabian Reinartz Date: Fri, 24 Nov 2017 09:22:33 +0100 Subject: [PATCH] vendor: update TSDB and Prometheus --- Gopkg.lock | 24 ++++++++++++++++++------ Gopkg.toml | 2 +- pkg/query/api/v1.go | 6 +++++- pkg/query/querier.go | 10 +++++----- pkg/query/querier_test.go | 3 ++- 5 files changed, 31 insertions(+), 14 deletions(-) diff --git a/Gopkg.lock b/Gopkg.lock index 1ec978fd95..62ce5fa3d4 100644 --- a/Gopkg.lock +++ b/Gopkg.lock @@ -57,7 +57,7 @@ [[projects]] name = "github.com/gogo/protobuf" - packages = ["gogoproto","proto","protoc-gen-gogo/descriptor"] + packages = ["gogoproto","proto","protoc-gen-gogo/descriptor","sortkeys","types"] revision = "342cbe0a04158f6dcb03ca0079991a51a4248c02" version = "v0.5" @@ -202,14 +202,14 @@ [[projects]] branch = "fabxc" name = "github.com/prometheus/prometheus" - packages = ["pkg/labels","pkg/textparse","pkg/timestamp","pkg/value","promql","storage","storage/tsdb","util/stats","util/strutil","util/testutil"] - revision = "4a532303cad2dcff4c3e9cf23bfa182ddb1eb5b2" + packages = ["pkg/labels","pkg/rulefmt","pkg/textparse","pkg/timestamp","pkg/value","promql","rules","storage","storage/tsdb","template","util/stats","util/strutil","util/testutil"] + revision = "6171d00fa712c2f8368e601fa20c131fe37c8e16" [[projects]] - branch = "fabxc" + branch = "master" name = "github.com/prometheus/tsdb" packages = [".","chunks","fileutil","labels"] - revision = "542b2be8bb930b1cd00121fca34a56197c829895" + revision = "ad3c4849a99729a9c10a55b3ba4c0ad146d2446a" [[projects]] branch = "master" @@ -235,6 +235,12 @@ packages = ["errgroup"] revision = "fd80eb99c8f653c847d294a001bdf2a3a6f768f5" +[[projects]] + branch = "master" + name = "golang.org/x/sys" + packages = ["unix"] + revision = "a13efeb2fd213cf4be7227992aa54519af3b2ac0" + [[projects]] branch = "master" name = "golang.org/x/text" @@ -271,6 +277,12 @@ revision = "1087e65c9441605df944fb12c33f0fe7072d18ca" version = "v2.2.5" +[[projects]] + branch = "v1" + name = "gopkg.in/yaml.v1" + packages = ["."] + revision = "9f9df34309c04878acc86042b16630b0f696e1de" + [[projects]] branch = "v2" name = "gopkg.in/yaml.v2" @@ -280,6 +292,6 @@ [solve-meta] analyzer-name = "dep" analyzer-version = 1 - inputs-digest = "a3edd7257147fbcb0c0a8b751928fb03ae2a5993ff5edcdefa84a01e36d4f95f" + inputs-digest = "0d3b419e8c3069cfc540e47f9ab1d8495fff8fbdf515782da6198397185aee36" solver-name = "gps-cdcl" solver-version = 1 diff --git a/Gopkg.toml b/Gopkg.toml index 12f103193d..e294acdb90 100644 --- a/Gopkg.toml +++ b/Gopkg.toml @@ -71,7 +71,7 @@ name = "github.com/grpc-ecosystem/go-grpc-prometheus" [[constraint]] - branch = "fabxc" + branch = "master" name = "github.com/prometheus/tsdb" [[constraint]] diff --git a/pkg/query/api/v1.go b/pkg/query/api/v1.go index 5fdc810be7..9500e0a47d 100644 --- a/pkg/query/api/v1.go +++ b/pkg/query/api/v1.go @@ -336,7 +336,11 @@ func (api *API) series(r *http.Request) (interface{}, *apiError) { var set storage.SeriesSet for _, mset := range matcherSets { - set = storage.DeduplicateSeriesSet(set, q.Select(mset...)) + s, err := q.Select(mset...) + if err != nil { + return nil, &apiError{errorExec, err} + } + set = storage.DeduplicateSeriesSet(set, s) } metrics := []labels.Labels{} diff --git a/pkg/query/querier.go b/pkg/query/querier.go index 8d6821a7e5..104d3f9675 100644 --- a/pkg/query/querier.go +++ b/pkg/query/querier.go @@ -123,7 +123,7 @@ func storeMatches(s StoreInfo, matchers ...*labels.Matcher) bool { return true } -func (q *querier) Select(ms ...*labels.Matcher) storage.SeriesSet { +func (q *querier) Select(ms ...*labels.Matcher) (storage.SeriesSet, error) { var ( mtx sync.Mutex all []storepb.SeriesSet @@ -134,7 +134,7 @@ func (q *querier) Select(ms ...*labels.Matcher) storage.SeriesSet { sms, err := translateMatchers(ms...) if err != nil { - return promSeriesSet{set: errSeriesSet{err: err}} + return nil, errors.Wrap(err, "convert matchers") } for _, s := range q.stores { // We might be able to skip the store if its meta information indicates @@ -157,7 +157,7 @@ func (q *querier) Select(ms ...*labels.Matcher) storage.SeriesSet { }) } if err := g.Wait(); err != nil { - return promSeriesSet{set: errSeriesSet{err: err}} + return nil, errors.Wrap(err, "query stores") } set := promSeriesSet{ mint: q.mint, @@ -168,9 +168,9 @@ func (q *querier) Select(ms ...*labels.Matcher) storage.SeriesSet { // of the same series into a single one. The series are ordered so that equal series // from different replicas are sequential. We can now deduplicate those. if q.replicaLabel == "" { - return set + return set, nil } - return newDedupSeriesSet(set, q.replicaLabel) + return newDedupSeriesSet(set, q.replicaLabel), nil } func (q *querier) selectSingle(client storepb.StoreClient, ms ...storepb.LabelMatcher) (storepb.SeriesSet, error) { diff --git a/pkg/query/querier_test.go b/pkg/query/querier_test.go index 94f5ab50da..6004fbcd68 100644 --- a/pkg/query/querier_test.go +++ b/pkg/query/querier_test.go @@ -82,7 +82,8 @@ func TestQuerier_Series(t *testing.T) { }, 1, 300, "") defer q.Close() - res := q.Select() + res, err := q.Select() + testutil.Ok(t, err) expected := []struct { lset labels.Labels