From 757f31bd4578747711349ae63b5c2f96266c3a80 Mon Sep 17 00:00:00 2001 From: Jason Wilder Date: Mon, 18 Jul 2016 16:35:33 -0600 Subject: [PATCH] Fix panic:runtime error: invalid memory address or nil pointer dereference github.com/influxdata/influxdb/tsdb.(*Shard).FieldDimensions(0xc820244000, 0xc821b70fb0, 0x1, 0x1, 0xc822b9cc00, 0xc822b9cc30, 0x0, 0x0) /Users/jason/go/src/github.com/influxdata/influxdb/tsdb/shard.go:588 +0xa62 github.com/influxdata/influxdb/tsdb.(*shardIteratorCreator).FieldDimensions(0xc8202b6078, 0xc821b70fb0, 0x1, 0x1, 0xc822b9cbd0, 0x0, 0x0, 0x0) /Users/jason/go/src/github.com/influxdata/influxdb/tsdb/shard.go:818 +0x53 github.com/influxdata/influxdb/influxql.IteratorCreators.FieldDimensions(0xc821b71250, 0x1, 0x1, 0xc821b70fb0, 0x1, 0x1, 0xc822b9cba0, 0xc822b9cbd0, 0x0, 0x0) /Users/jason/go/src/github.com/influxdata/influxdb/influxql/iterator.go:639 +0x15a github.com/influxdata/influxdb/influxql.(*IteratorCreators).FieldDimensions(0xc822a32ae0, 0xc821b70fb0, 0x1, 0x1, 0x20, 0x18, 0x0, 0x0) :163 +0xd3 --- tsdb/shard.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tsdb/shard.go b/tsdb/shard.go index 39b4b509d0..783d3a8b00 100644 --- a/tsdb/shard.go +++ b/tsdb/shard.go @@ -542,6 +542,10 @@ func (s *Shard) createSystemIterator(opt influxql.IteratorOptions) (influxql.Ite // FieldDimensions returns unique sets of fields and dimensions across a list of sources. func (s *Shard) FieldDimensions(sources influxql.Sources) (fields map[string]influxql.DataType, dimensions map[string]struct{}, err error) { + if err := s.ready(); err != nil { + return nil, nil, err + } + if influxql.Sources(sources).HasSystemSource() { // Only support a single system source. if len(sources) > 1 {