From 4c864c8a88fb5b6190a4b2818ce1ddec2873c8c7 Mon Sep 17 00:00:00 2001 From: Fabian Reinartz Date: Tue, 14 Jun 2016 14:04:22 +0200 Subject: [PATCH 1/2] retrieval: don't sync to uninitialized scrape pool This change does just signal a scrape target update to the scraping loop once an initial target set is fetched. Before, the scrape pool was directly synced, causing a race against an uninitialized scrape pool. Fixes #1703 --- retrieval/targetmanager.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/retrieval/targetmanager.go b/retrieval/targetmanager.go index 2a25c48f2..cae910efe 100644 --- a/retrieval/targetmanager.go +++ b/retrieval/targetmanager.go @@ -331,7 +331,12 @@ func (ts *targetSet) runProviders(ctx context.Context, providers map[string]Targ // We wait for a full initial set of target groups before releasing the mutex // to ensure the initial sync is complete and there are no races with subsequent updates. wg.Wait() - ts.sync() + // Just signal that there are initial sets to sync now. Actual syncing must only + // happen in the runScraping loop. + select { + case ts.syncCh <- struct{}{}: + default: + } } // update handles a target group update from a target provider identified by the name. From a5b35498a870917d83293f565e05f8bf0f891adc Mon Sep 17 00:00:00 2001 From: Fabian Reinartz Date: Tue, 14 Jun 2016 14:19:31 +0200 Subject: [PATCH 2/2] *: bump version to 0.19.3 --- CHANGELOG.md | 5 +++++ VERSION | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c2edb1a77..fdbbb541b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ +## 0.19.3 / 2016-06-14 + +* [BUGFIX] Handle Marathon apps with zero ports +* [BUGFIX] Fix startup panic in retrieval layer + ## 0.19.2 / 2016-05-29 * [BUGFIX] Correctly handle `GROUP_LEFT` and `GROUP_RIGHT` without labels in diff --git a/VERSION b/VERSION index 61e6e92d9..b72b05ede 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.19.2 +0.19.3