Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rules manager Panic caused by closing a channel more than once. #4133

Closed
krasi-georgiev opened this Issue May 2, 2018 · 13 comments

Comments

Projects
None yet
5 participants
@krasi-georgiev
Copy link
Member

krasi-georgiev commented May 2, 2018

caused when sending a SIGHUP. and SIGTERM right after that.
I looked briefly and seems like an easy one to solve.

panic: close of closed channel

goroutine 86182 [running]:
github.com/prometheus/prometheus/rules.(*Group).stop(...)
      ..../src/github.com/prometheus/prometheus/rules/manager.go:238
github.com/prometheus/prometheus/rules.(*Manager).Update.func1(0xc58eeacc01, 0xc42842c480, 0xc4200c5bc0, 0xc53ad459e0, 0xc44f874a20)
      ..../src/github.com/prometheus/prometheus/rules/manager.go:501 +0x80
created by github.com/prometheus/prometheus/rules.(*Manager).Update
      ..../src/github.com/prometheus/prometheus/rules/manager.go:499 +0x512
panic: close of closed channel

goroutine 86140 [running]:
github.com/prometheus/prometheus/rules.(*Group).stop(...)
      ..../src/github.com/prometheus/prometheus/rules/manager.go:238
github.com/prometheus/prometheus/rules.(*Manager).Update.func1(0xc4fab69b01, 0xc428228b40, 0xc4200c5bc0, 0xc53ad459e0, 0xc4e381def0)
      ..../src/github.com/prometheus/prometheus/rules/manager.go:501 +0x80
created by github.com/prometheus/prometheus/rules.(*Manager).Update
      ..../src/github.com/prometheus/prometheus/rules/manager.go:499 +0x512
@daveworth

This comment has been minimized.

Copy link

daveworth commented May 4, 2018

I would love to take on fixing this bug.

@krasi-georgiev

This comment has been minimized.

Copy link
Member Author

krasi-georgiev commented May 4, 2018

the report was from @beorn7 and I already opened a PR(link above) with a suggested fix , but that is without managing to replicate it.
It would help if you can manage to replicate it and check if the PR fixes the issue.

@daveworth

This comment has been minimized.

Copy link

daveworth commented May 4, 2018

👍 Sorry I missed that PR @krasi-georgiev - I will attempt to replicate and post results.

@krasi-georgiev

This comment has been minimized.

Copy link
Member Author

krasi-georgiev commented May 4, 2018

thanks

@krasi-georgiev krasi-georgiev changed the title Rules manager needs refactoring to fix a Panic caused by closing a channel more than once. Rules manager Panic caused by closing a channel more than once. May 15, 2018

@krasi-georgiev

This comment has been minimized.

Copy link
Member Author

krasi-georgiev commented May 29, 2018

@daveworth you can have a go if you want as I couldn't replicate it and a better PR would be finding what caused closing this channel twice rather than preventing for double closing the same channel.

@brian-brazil

This comment has been minimized.

Copy link
Member

brian-brazil commented Jun 15, 2018

I think this race is more likely to happen the other way, TERM and then HUP.

@daveworth

This comment has been minimized.

Copy link

daveworth commented Jun 15, 2018

👋 sorry for my delay - job transitions and travel interrupted my work. Back on it.

@codwu

This comment has been minimized.

Copy link

codwu commented Jun 19, 2018

I have thousands of rules in my Prometheus. It is easy to replicate it when sending SIGTERM.

@bboreham

This comment has been minimized.

Copy link
Contributor

bboreham commented Jun 22, 2018

Here's a test that gives "close of closed channel", using the fixture yaml from #4306 :

func TestStop(t *testing.T) {
	files := []string{"fixtures/rules.yaml"}
	ruleManager := NewManager(&ManagerOptions{
		Context: context.Background(),
		Logger:  log.NewNopLogger(),
	})
	ruleManager.Run()

	err := ruleManager.Update(10*time.Second, files)
	testutil.Ok(t, err)

	ruleManager.Stop()

	err = ruleManager.Update(10*time.Second, files)
	testutil.Ok(t, err)
}

What is the expected state of Manager after Stop() ? Blanking groups would be an easy fix.

@brian-brazil

This comment has been minimized.

Copy link
Member

brian-brazil commented Jun 22, 2018

Not panicing would be the expected state :) It should no longer be writing anything to storage.

Emptying groups was also my thought on handling this.

@bboreham

This comment has been minimized.

Copy link
Contributor

bboreham commented Jun 25, 2018

Given that Stop() is only called from the teardown handler in main(), I venture to suggest that it should put Manager into a state where subsequent Update() calls do not start any further work.

@brian-brazil

This comment has been minimized.

Copy link
Member

brian-brazil commented Jun 25, 2018

The other option is that we make it so an Update can't be called after a shutdown is initiated. It might be better to centralise that logic in once place rather than spreading it around in each subsystem.

brian-brazil added a commit that referenced this issue Jun 28, 2018

Reorder startup and shutdown to prevent panics.
Start rule manager only after tsdb and config is loaded.
Stop rule manager before tsdb to avoid writing to closed storage.
Wait for any in-progress reloads to complete before shutting
down rule manager, so that rule manager doesn't get updated after
being shut down.

Remove incorrect comment around shutting down query enginge.
Log when config reload is completed.

Fixes #4133
Fixes #4262

Signed-off-by: Brian Brazil <brian.brazil@robustperception.io>

brian-brazil added a commit that referenced this issue Jul 4, 2018

Reorder startup and shutdown to prevent panics. (#4321)
Start rule manager only after tsdb and config is loaded.
Stop rule manager before tsdb to avoid writing to closed storage.
Wait for any in-progress reloads to complete before shutting
down rule manager, so that rule manager doesn't get updated after
being shut down.

Remove incorrect comment around shutting down query enginge.
Log when config reload is completed.

Fixes #4133
Fixes #4262

Signed-off-by: Brian Brazil <brian.brazil@robustperception.io>

brian-brazil added a commit that referenced this issue Jul 11, 2018

Reorder startup and shutdown to prevent panics. (#4321)
Start rule manager only after tsdb and config is loaded.
Stop rule manager before tsdb to avoid writing to closed storage.
Wait for any in-progress reloads to complete before shutting
down rule manager, so that rule manager doesn't get updated after
being shut down.

Remove incorrect comment around shutting down query enginge.
Log when config reload is completed.

Fixes #4133
Fixes #4262

Signed-off-by: Brian Brazil <brian.brazil@robustperception.io>

mknapphrt added a commit to mknapphrt/prometheus that referenced this issue Jul 26, 2018

Return whatever data is available when there is a failed remote read
Signed-off-by: Mark Knapp <mknapp@hudson-trading.com>

Bubble up errors to promql from populating iterators (prometheus#4136)

This changes the Walk/Inspect API inside the promql package to bubble
up errors. This is done by having the inspector return an error (instead
of a bool) and then bubbling that up in the Walk. This way if any error
is encountered in the Walk() the walk will stop and return the error.
This avoids issues where errors from the Querier where being ignored
(causing incorrect promql evaluation).

Signed-off-by: Thomas Jackson <jacksontj.89@gmail.com>

Fixes prometheus#4136

*: cut v2.3.0

Signed-off-by: Fabian Reinartz <freinartz@google.com>

Update changelog

Signed-off-by: Fabian Reinartz <freinartz@google.com>

limit size of POST requests against remote read endpoint (prometheus#4239)

This commit fixes a denial-of-service issue of the remote
read endpoint. It limits the size of the POST request body
to 32 MB such that clients cannot write arbitrary amounts
of data to the server memory.

Fixes prometheus#4238

Signed-off-by: Andreas Auernhammer <aead@mail.de>

Update example console template for node exporter 0.16.0 (prometheus#4208)

Signed-off-by: Brian Brazil <brian.brazil@robustperception.io>

Makefile: update .PHONY target (prometheus#4234)

Makefile: update .PHONY target

* Move .PHONY declarations near their targets

Signed-off-by: Simon Pasquier <spasquie@redhat.com>

Add prompb/README (prometheus#4222)

Signed-off-by: Henri DF <henridf@gmail.com>

discovery/file: fix logging (prometheus#4178)

Signed-off-by: Simon Pasquier <spasquie@redhat.com>

web: remove security headers

Signed-off-by: Fabian Reinartz <freinartz@google.com>

config: set target group source index during unmarshalling (prometheus#4245)

* config: set target group source index during unmarshalling

Fixes issue prometheus#4214 where the scrape pool is unnecessarily reloaded for a
config reload where the config hasn't changed.  Previously, the discovery
manager changed the static config after loading which caused the in-memory
config to differ from a freshly reloaded config.

Signed-off-by: Paul Gier <pgier@redhat.com>

* [issue prometheus#4214] Test that static targets are not modified by discovery manager

Signed-off-by: Paul Gier <pgier@redhat.com>

Log the line when failing a PromQL test. (prometheus#4272)

Signed-off-by: Alin Sinpalean <alin.sinpalean@gmail.com>

web: restore old path prefix behavior

Signed-off-by: Fabian Reinartz <freinartz@google.com>

kubernetes_sd: fix namespace filtering (prometheus#4273)

Signed-off-by: Simon Pasquier <spasquie@redhat.com>

fix minor issues in custom SD example (prometheus#4278)

Signed-off-by: Callum Styan <callumstyan@gmail.com>

federation: nil pointer deference when using remove read

```
level=error ts=2018-06-13T07:19:04.515149169Z caller=stdlib.go:89 component=web caller="http: panic serving [::1" msg="]:56202: runtime error: invalid memory address or nil pointer dereference"
level=error ts=2018-06-13T07:19:04.516199547Z caller=stdlib.go:89 component=web caller="http: panic serving [::1" msg="]:56204: runtime error: invalid memory address or nil pointer dereference"
level=error ts=2018-06-13T07:19:04.51717692Z caller=stdlib.go:89 component=web caller="http: panic serving [::1" msg="]:56206: runtime error: invalid memory address or nil pointer dereference"
level=error ts=2018-06-13T07:19:04.564952878Z caller=stdlib.go:89 component=web caller="http: panic serving [::1" msg="]:56208: runtime error: invalid memory address or nil pointer dereference"
level=error ts=2018-06-13T07:19:04.566575791Z caller=stdlib.go:89 component=web caller="http: panic serving [::1" msg="]:56210: runtime error: invalid memory address or nil pointer dereference"
level=error ts=2018-06-13T07:19:04.567106063Z caller=stdlib.go:89 component=web caller="http: panic serving [::1" msg="]:56212: runtime error: invalid memory address or nil pointer dereference"
```

When remove read is enabled, federation will call `q.Select(nil, mset...)`
which will break remote reads because it currently doesn't handle empty
SelectParams.

Signed-off-by: Corentin Chary <c.chary@criteo.com>

Extend API tests to cover remote read API.

Signed-off-by: Tom Wilkie <tom.wilkie@gmail.com>

Review feedback.

Signed-off-by: Tom Wilkie <tom.wilkie@gmail.com>

spelling.

Signed-off-by: Tom Wilkie <tom.wilkie@gmail.com>

web: restore old path prefix behavior

Signed-off-by: Fabian Reinartz <freinartz@google.com>

kubernetes_sd: fix namespace filtering (prometheus#4273)

Signed-off-by: Simon Pasquier <spasquie@redhat.com>

Avoid infinite loop on duplicate NaN values. (prometheus#4275)

Fixes prometheus#4254

NaNs don't equal themselves, so a duplicate NaN would
always hit the break statement and never get popped.

We should not be returning multiple data point for the same
timestamp, so don't compare values at all.

Signed-off-by: Brian Brazil <brian.brazil@robustperception.io>

config: set target group source index during unmarshalling (prometheus#4245)

* config: set target group source index during unmarshalling

Fixes issue prometheus#4214 where the scrape pool is unnecessarily reloaded for a
config reload where the config hasn't changed.  Previously, the discovery
manager changed the static config after loading which caused the in-memory
config to differ from a freshly reloaded config.

Signed-off-by: Paul Gier <pgier@redhat.com>

* [issue prometheus#4214] Test that static targets are not modified by discovery manager

Signed-off-by: Paul Gier <pgier@redhat.com>

discovery/file: fix logging (prometheus#4178)

Signed-off-by: Simon Pasquier <spasquie@redhat.com>

federation: nil pointer deference when using remove read

```
level=error ts=2018-06-13T07:19:04.515149169Z caller=stdlib.go:89 component=web caller="http: panic serving [::1" msg="]:56202: runtime error: invalid memory address or nil pointer dereference"
level=error ts=2018-06-13T07:19:04.516199547Z caller=stdlib.go:89 component=web caller="http: panic serving [::1" msg="]:56204: runtime error: invalid memory address or nil pointer dereference"
level=error ts=2018-06-13T07:19:04.51717692Z caller=stdlib.go:89 component=web caller="http: panic serving [::1" msg="]:56206: runtime error: invalid memory address or nil pointer dereference"
level=error ts=2018-06-13T07:19:04.564952878Z caller=stdlib.go:89 component=web caller="http: panic serving [::1" msg="]:56208: runtime error: invalid memory address or nil pointer dereference"
level=error ts=2018-06-13T07:19:04.566575791Z caller=stdlib.go:89 component=web caller="http: panic serving [::1" msg="]:56210: runtime error: invalid memory address or nil pointer dereference"
level=error ts=2018-06-13T07:19:04.567106063Z caller=stdlib.go:89 component=web caller="http: panic serving [::1" msg="]:56212: runtime error: invalid memory address or nil pointer dereference"
```

When remove read is enabled, federation will call `q.Select(nil, mset...)`
which will break remote reads because it currently doesn't handle empty
SelectParams.

Signed-off-by: Corentin Chary <c.chary@criteo.com>

Review feedback.

Signed-off-by: Tom Wilkie <tom.wilkie@gmail.com>

spelling.

Signed-off-by: Tom Wilkie <tom.wilkie@gmail.com>

Release 2.3.1

Signed-off-by: Brian Brazil <brian.brazil@robustperception.io>

Timeout if populating iterators takes too long (prometheus#4291)

Right now promql won't time out a request if populating the iterators
takes a long time.

Signed-off-by: Thomas Jackson <jacksontj.89@gmail.com>

Fixes prometheus#4289

return error exit status in prometheus cli (prometheus#4296)

Signed-off-by: mikeykhalil <mikeyfkhalil@gmail.com>

Check for timeout in each iteration of matrixSelector (prometheus#4300)

Signed-off-by: Thomas Jackson <jacksontj.89@gmail.com>

Fixes prometheus#4288

Make TestUpdate() do some work (prometheus#4306)

Previously it would set no preconditions and check no postconditions,
as the `groups` member was empty.

Signed-off-by: Bryan Boreham <bjboreham@gmail.com>

Add "omitempty" to some SD config YAML field tags (prometheus#4338)

Especially for Kubernetes SD, this fixes a bug where the rendered
configuration says "api_server: null", which when read back is not
interpreted as an un-set API server (thus the default is not applied).

Signed-off-by: Julius Volz <julius.volz@gmail.com>

travis: remove testing with go 1.x

Travis and CircleCI should use the same Go version(s).

Signed-off-by: Simon Pasquier <spasquie@redhat.com>

Reduce CircleCI duplication (prometheus#4335)

Reduce the duplication of per-project specifics in the CircleCI config.
* Add docker repo variable, default to docker hub.
* Add make targets for docker push and tag latest.

Signed-off-by: Ben Kochie <superq@gmail.com>

fix the TestManagerReloadNoChange test (prometheus#4267)

Signed-off-by: Krasi Georgiev <kgeorgie@redhat.com>

Reorder startup and shutdown to prevent panics. (prometheus#4321)

Start rule manager only after tsdb and config is loaded.
Stop rule manager before tsdb to avoid writing to closed storage.
Wait for any in-progress reloads to complete before shutting
down rule manager, so that rule manager doesn't get updated after
being shut down.

Remove incorrect comment around shutting down query enginge.
Log when config reload is completed.

Fixes prometheus#4133
Fixes prometheus#4262

Signed-off-by: Brian Brazil <brian.brazil@robustperception.io>

discovery/kubernetes/ingress: add more tests

Signed-off-by: Dmitry Bashkatov <dbashkatov@gmail.com>

discovery/kubernetes/ingress: fix scheme discovery (Closes prometheus#4327)

Signed-off-by: Dmitry Bashkatov <dbashkatov@gmail.com>

discovery/kubernetes/ingress: remove unnecessary check

Signed-off-by: Dmitry Bashkatov <dbashkatov@gmail.com>

Fix markup in example. (prometheus#4351)

Signed-off-by: Marcin Owsiany <marcin@owsiany.pl>

fix the zookeper race (prometheus#4355)

Signed-off-by: Krasi Georgiev <kgeorgie@redhat.com>

docs: added undocumented step api parameter format (prometheus#4360)

Update vendoring for tsdb (prometheus#4369)

This pulls in tsdb PRs 330 344 348 353 354 356

Signed-off-by: Brian Brazil <brian.brazil@robustperception.io>

k8s SD: Fix "schema" -> "scheme" typo (prometheus#4371)

Signed-off-by: Julius Volz <julius.volz@gmail.com>

Fix missing 'msg' in remote storage adapter main.go .Log info message (prometheus#4377)

Signed-off-by: Peter Gallerani <peter.gallerani@gmail.com>

Don't forget to register query_duration_seconds{slice="queue_time"} (prometheus#4381)

Signed-off-by: Tom Wilkie <tom.wilkie@gmail.com>

docs: fix OpenStack SD for the hypervisor role

Signed-off-by: Simon Pasquier <spasquie@redhat.com>

discovery/openstack: remove unneeded assignment

Signed-off-by: Simon Pasquier <spasquie@redhat.com>

Bubble up errors to promql from populating iterators (prometheus#4136)

This changes the Walk/Inspect API inside the promql package to bubble
up errors. This is done by having the inspector return an error (instead
of a bool) and then bubbling that up in the Walk. This way if any error
is encountered in the Walk() the walk will stop and return the error.
This avoids issues where errors from the Querier where being ignored
(causing incorrect promql evaluation).

Signed-off-by: Thomas Jackson <jacksontj.89@gmail.com>

Fixes prometheus#4136

Timeout if populating iterators takes too long (prometheus#4291)

Right now promql won't time out a request if populating the iterators
takes a long time.

Signed-off-by: Thomas Jackson <jacksontj.89@gmail.com>

Fixes prometheus#4289

Check for timeout in each iteration of matrixSelector (prometheus#4300)

Signed-off-by: Thomas Jackson <jacksontj.89@gmail.com>

Fixes prometheus#4288

fix the zookeper race (prometheus#4355)

Signed-off-by: Krasi Georgiev <kgeorgie@redhat.com>

return error exit status in prometheus cli (prometheus#4296)

Signed-off-by: mikeykhalil <mikeyfkhalil@gmail.com>

Reorder startup and shutdown to prevent panics. (prometheus#4321)

Start rule manager only after tsdb and config is loaded.
Stop rule manager before tsdb to avoid writing to closed storage.
Wait for any in-progress reloads to complete before shutting
down rule manager, so that rule manager doesn't get updated after
being shut down.

Remove incorrect comment around shutting down query enginge.
Log when config reload is completed.

Fixes prometheus#4133
Fixes prometheus#4262

Signed-off-by: Brian Brazil <brian.brazil@robustperception.io>

Update vendoring for tsdb (prometheus#4369)

This pulls in tsdb PRs 330 344 348 353 354 356

Signed-off-by: Brian Brazil <brian.brazil@robustperception.io>

Release 2.3.2

Signed-off-by: Brian Brazil <brian.brazil@robustperception.io>

rules: Minor naming/comment cleanups (prometheus#4328)

Signed-off-by: Julius Volz <julius.volz@gmail.com>

Optimize PromQL aggregations (prometheus#4248)

* Compute hash of label subsets without creating a LabelSet first.

Signed-off-by: Alin Sinpalean <alin.sinpalean@gmail.com>

Add offset to selectParams (prometheus#4226)

* Add Start/End to SelectParams
* Make remote read use the new selectParams for start/end

This commit will continue sending the start/end time of the remote read
query as the overarching promql time and the specific range of data that
the query is intersted in receiving a response to is now part of the
ReadHints (upstream discussion in prometheus#4226).

* Remove unused vendored code

The genproto.sh script was updated, but the code wasn't regenerated.
This simply removes the vendored deps that are no longer part of the
codegen output.

Signed-off-by: Thomas Jackson <jacksontj.89@gmail.com>

Forbid rule-abiding robots from indexing. (prometheus#4266)

* Resolves github issue prometheus#4257

Signed-off-by: Martin Lee <martin@billforward.net>

Discovery consul service meta (prometheus#4280)

* Upgrade Consul client
* Add ServiceMeta to the labels in ConsulSD

Signed-off-by: Romain Baugue <romain.baugue@elwinar.com>

Fix some (valid) lint errors (prometheus#4287)

Signed-off-by: Julius Volz <julius.volz@gmail.com>

Update vendoring of Prometheus Go client (prometheus#4283)

This is to pickup changes from
prometheus/client_golang#414. It leads to
better error output in promtool.

Signed-off-by: Sneha Inguva <singuva@digitalocean.com>

Simplify BufferedSeriesIterator usage (prometheus#4294)

* Allow for BufferedSeriesIterator instances to be created without an underlying iterator, to simplify their usage.

Signed-off-by: Alin Sinpalean <alin.sinpalean@gmail.com>

Saner defaults and metrics for remote-write (prometheus#4279)

* Rename queueCapacity to shardCapacity
* Saner defaults for remote write
* Reduce allocs on retries

Signed-off-by: Goutham Veeramachaneni <cs14btech11014@iith.ac.in>

Update autorest vedoring (prometheus#4147)

Signed-off-by: bege13mot <bege13mot@gmail.com>

Update aws-sdk-go (prometheus#4153)

Signed-off-by: bege13mot <bege13mot@gmail.com>

add unused pointslices to the pool (prometheus#4363)

Signed-off-by: Tony Lee <tl@hudson-trading.com>

Add 3 commands in `promtool` for getting debug information from prometheus server (prometheus#4247)

`debug all` - all information
`debug metrics` - metrics  information
`debug pprof` - profiling  information

the final result is compressed in a `tar.gz` file

Signed-off-by: chyeh <chyeh.taiwan@gmail.com>

main: Improve / clean up error messages (prometheus#4286)

Signed-off-by: Julius Volz <julius.volz@gmail.com>

Document internal Prometheus server architecture (prometheus#4295)

* Document internal Prometheus server architecture

Signed-off-by: Julius Volz <julius.volz@gmail.com>

* Review fixups

Signed-off-by: Julius Volz <julius.volz@gmail.com>

promtool: add command for querying series (prometheus#4308)

Signed-off-by: Shubheksha Jalan <jshubheksha@gmail.com>

Add missing import to promtool, fix build (prometheus#4395)

Sorry, I used GitHub's web-based merge-conflict-resolution editor on
prometheus#4308 and it didn't show me
test errors afterwards, but maybe they didn't run again or I should have
waited or something.

Signed-off-by: Julius Volz <julius.volz@gmail.com>

EC2 Discovery: Allow to set a custom endpoint (prometheus#4333)

Allowing to set a custom endpoint makes it easy to monitor targets on non AWS providers with EC2 compliant APIs.

Signed-off-by: Jannick Fahlbusch <git@jf-projects.de>

Reuse (copy) overlapping matrix samples between range evaluation steps (prometheus#4315)

* Reuse (copy) overlapping matrix samples between range evaluation steps.

Signed-off-by: Alin Sinpalean <alin.sinpalean@gmail.com>

Expose Group.CopyState() (prometheus#4304)

This makes the `rules` package more useful to projects that use
Prometheus as a library.

Signed-off-by: Bryan Boreham <bjboreham@gmail.com>

add query labels command to promtool (prometheus#4346)

Signed-off-by: Daisy T <daisyts@gmx.com>

web: add named anchors for each rule group (prometheus#4130)

* web: add named anchors for each rule group

Signed-off-by: Adam Shannon <adamkshannon@gmail.com>

Update internal architecture diagram (prometheus#4398)

Signed-off-by: Julius Volz <julius.volz@gmail.com>

Only add LookbackDelta to vector selectors (prometheus#4399)

Signed-off-by: Thomas Jackson <jacksontj.89@gmail.com>

Related to prometheus#4226

add prefix "common-" to make target names

This allows rules to be overridden with warnings about conflicting
target names.

Signed-off-by: Paul Gier <pgier@redhat.com>

expose log.level for promlog for remote_storage_adapter (prometheus#4195)

* expose log.level for promlog for remote_storage_adapter

Signed-off-by: sipian <cs15btech11019@iith.ac.in>

* replace flag description

Signed-off-by: Harsh Agarwal <cs15btech11019@iith.ac.in>

go-bindata debug clarification (prometheus#4411)

Signed-off-by: Stafford Williams <stafford.williams@gmail.com>

discovery/ec2: Maintain order of subnet_id label

Signed-off-by: José Martínez <xosemp@gmail.com>

discovery/ec2: Add primary_subnet_id label

Signed-off-by: José Martínez <xosemp@gmail.com>

Don't import testing in code which is imported from non-test code. (prometheus#4400)

It polutes the flags.

Signed-off-by: Tom Wilkie <tom.wilkie@gmail.com>

Log errors encountered when marshalling and writing responses.

Signed-off-by: Tom Wilkie <tom.wilkie@gmail.com>

Review feedback.

Signed-off-by: Tom Wilkie <tom.wilkie@gmail.com>

Review feedback.

Signed-off-by: Tom Wilkie <tom.wilkie@gmail.com>

Review feedback.

Signed-off-by: Tom Wilkie <tom.wilkie@gmail.com>

Update method name in rules template, fix rendering (prometheus#4416)

Fixes prometheus#4407

Signed-off-by: Julius Volz <julius.volz@gmail.com>

Fix typo (prometheus#4423)

Signed-off-by: Henri DF <henridf@gmail.com>

Send "Accept-Encoding" header in read request (prometheus#4421)

We should be doing this since we only accept Snappy-encoded responses.

Signed-off-by: Henri DF <henridf@gmail.com>

Handle a remote read error and return other results, add remote error as extra field in api response.

Signed-off-by: Mark Knapp <mknapp@hudson-trading.com>

Removed some code from other project

Signed-off-by: Mark Knapp <mknapp@hudson-trading.com>

gouthamve added a commit to gouthamve/prometheus that referenced this issue Aug 1, 2018

Reorder startup and shutdown to prevent panics. (prometheus#4321)
Start rule manager only after tsdb and config is loaded.
Stop rule manager before tsdb to avoid writing to closed storage.
Wait for any in-progress reloads to complete before shutting
down rule manager, so that rule manager doesn't get updated after
being shut down.

Remove incorrect comment around shutting down query enginge.
Log when config reload is completed.

Fixes prometheus#4133
Fixes prometheus#4262

Signed-off-by: Brian Brazil <brian.brazil@robustperception.io>

bobmshannon pushed a commit to bobmshannon/prometheus that referenced this issue Nov 19, 2018

Bob Shannon GitHub Enterprise
Upgrade Prometheus to 2.3.2 (prometheus#20)
* Bubble up errors to promql from populating iterators (prometheus#4136)

This changes the Walk/Inspect API inside the promql package to bubble
up errors. This is done by having the inspector return an error (instead
of a bool) and then bubbling that up in the Walk. This way if any error
is encountered in the Walk() the walk will stop and return the error.
This avoids issues where errors from the Querier where being ignored
(causing incorrect promql evaluation).

Signed-off-by: Thomas Jackson <jacksontj.89@gmail.com>

Fixes prometheus#4136

* Timeout if populating iterators takes too long (prometheus#4291)

Right now promql won't time out a request if populating the iterators
takes a long time.

Signed-off-by: Thomas Jackson <jacksontj.89@gmail.com>

Fixes prometheus#4289

* Check for timeout in each iteration of matrixSelector (prometheus#4300)

Signed-off-by: Thomas Jackson <jacksontj.89@gmail.com>

Fixes prometheus#4288

* fix the zookeper race (prometheus#4355)

Signed-off-by: Krasi Georgiev <kgeorgie@redhat.com>

* Merge pull request prometheus#4329 from nailgun/4327-ingress-discovery-issue

discovery/kubernetes/ingress: fix TLS discovery

* return error exit status in prometheus cli (prometheus#4296)

Signed-off-by: mikeykhalil <mikeyfkhalil@gmail.com>

* Reorder startup and shutdown to prevent panics. (prometheus#4321)

Start rule manager only after tsdb and config is loaded.
Stop rule manager before tsdb to avoid writing to closed storage.
Wait for any in-progress reloads to complete before shutting
down rule manager, so that rule manager doesn't get updated after
being shut down.

Remove incorrect comment around shutting down query enginge.
Log when config reload is completed.

Fixes prometheus#4133
Fixes prometheus#4262

Signed-off-by: Brian Brazil <brian.brazil@robustperception.io>

* Update vendoring for tsdb (prometheus#4369)

This pulls in tsdb PRs 330 344 348 353 354 356

Signed-off-by: Brian Brazil <brian.brazil@robustperception.io>

* Release 2.3.2

Signed-off-by: Brian Brazil <brian.brazil@robustperception.io>
@lock

This comment has been minimized.

Copy link

lock bot commented Mar 22, 2019

This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@lock lock bot locked and limited conversation to collaborators Mar 22, 2019

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
You can’t perform that action at this time.