From 01719f4949834c3613817a69bc6ecec91d628537 Mon Sep 17 00:00:00 2001 From: Aliaksandr Valialkin Date: Fri, 5 Jun 2020 13:17:23 +0300 Subject: [PATCH] app/vmstorage/transport: simplify setupTfss in order to prevent the possibility of nil tfs Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/534 --- app/vmstorage/transport/server.go | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/app/vmstorage/transport/server.go b/app/vmstorage/transport/server.go index 90900b0cbb..da19167542 100644 --- a/app/vmstorage/transport/server.go +++ b/app/vmstorage/transport/server.go @@ -874,19 +874,14 @@ var ( func (ctx *vmselectRequestCtx) setupTfss() error { tfss := ctx.tfss[:0] for _, tagFilters := range ctx.sq.TagFilterss { - if len(tfss) < cap(tfss) { - tfss = tfss[:len(tfss)+1] - } else { - tfss = append(tfss, &storage.TagFilters{}) - } - tfs := tfss[len(tfss)-1] - tfs.Reset(ctx.sq.AccountID, ctx.sq.ProjectID) + tfs := storage.NewTagFilters(ctx.sq.AccountID, ctx.sq.ProjectID) for i := range tagFilters { tf := &tagFilters[i] if err := tfs.Add(tf.Key, tf.Value, tf.IsNegative, tf.IsRegexp); err != nil { return fmt.Errorf("cannot parse tag filter %s: %s", tf, err) } } + tfss = append(tfss, tfs) tfss = append(tfss, tfs.Finalize()...) } ctx.tfss = tfss