From 01720aa24695a0bf1d59a50964428b540965a7c5 Mon Sep 17 00:00:00 2001 From: Philip O'Toole Date: Wed, 17 Jun 2015 14:38:28 -0700 Subject: [PATCH 1/2] Fix excessive shard group creation logging Fixes issue #3029. --- meta/store.go | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/meta/store.go b/meta/store.go index ccadd3b914..10ae9f2382 100644 --- a/meta/store.go +++ b/meta/store.go @@ -1071,13 +1071,24 @@ func (s *Store) PrecreateShardGroups(cutoff time.Time) error { for _, g := range rp.ShardGroups { // Check to see if it is going to end before our interval if g.EndTime.Before(cutoff) { - s.Logger.Printf("pre-creating successive shard group for group %d, database %s, policy %s", - g.ID, di.Name, rp.Name) - if newGroup, err := s.CreateShardGroupIfNotExists(di.Name, rp.Name, g.EndTime.Add(1*time.Nanosecond)); err != nil { + nextShardGroupTime := g.EndTime.Add(1 * time.Nanosecond) + + // Check if successive shard group exists. + if sgi, err := s.ShardGroupByTimestamp(di.Name, rp.Name, nextShardGroupTime); err != nil { + s.Logger.Printf("failed to check if successive shard group for group exists %d: %s", + g.ID, err.Error()) + continue + } else if sgi != nil && !sgi.Deleted() { + continue + } + + // It doesn't. Create it. + if newGroup, err := s.CreateShardGroupIfNotExists(di.Name, rp.Name, nextShardGroupTime); err != nil { s.Logger.Printf("failed to create successive shard group for group %d: %s", g.ID, err.Error()) } else { - s.Logger.Printf("new shard group %d successfully created", newGroup.ID) + s.Logger.Printf("new shard group %d successfully created for database %s, retention policy %s", + newGroup.ID, di.Name, rp.Name) } } } From 0c1d256830d27f8ce9c258b6b89d4b7456efd258 Mon Sep 17 00:00:00 2001 From: Philip O'Toole Date: Wed, 17 Jun 2015 14:40:51 -0700 Subject: [PATCH 2/2] Update CHANGELOG --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f7824be723..b228bb3223 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ - [#3002](https://github.com/influxdb/influxdb/pull/3002): Remove measurement from shard's index on DROP MEASUREMENT. - [#3021](https://github.com/influxdb/influxdb/pull/3021): Correct set HTTP write trace logging. Thanks @vladlopes. - [#3027](https://github.com/influxdb/influxdb/pull/3027): Enforce minimum retention policy duration of 1 hour. +- [#3030](https://github.com/influxdb/influxdb/pull/3030): Fix excessive logging of shard creation. ## v0.9.0 [2015-06-11]