-
Notifications
You must be signed in to change notification settings - Fork 454
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
[matcher] [coordinator] Add RequireNamespaceWatchOnInit option #3468
Conversation
@@ -302,6 +315,13 @@ func (n *namespaces) process(value interface{}) error { | |||
n.log.Error("failed to watch ruleset updates", | |||
zap.String("ruleSetKey", ruleSet.Key()), | |||
zap.Error(err)) | |||
|
|||
// Track errors if we explicitly want to ensure watches succeed. | |||
if n.requireNamespaceWatchOnInit { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
one awkward bit here is that this also covers the update case, not just the init case. However even if we propagate an error in that case, in the update path it gets swallowed regardless
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yeah makes sense
Codecov Report
@@ Coverage Diff @@
## master #3468 +/- ##
======================================
Coverage 55.9% 55.9%
======================================
Files 548 548
Lines 61280 61280
======================================
Hits 34294 34294
Misses 23902 23902
Partials 3084 3084
Flags with carried forward coverage won't be shown. Click here to find out more. Continue to review full report at Codecov.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM but can we make the coordinator by default set this to true?
This option on the matcher will require that namespace values and corresponding rulesets are loaded in the matcher as part of startup. This is useful in ensuring dynamic rules are loaded before we start ingesting metrics.
Need to default this to false since values won't always be set |
* master: [query] Add Graphite movingWindow() function (#3484) [lint] Add missing build tags to linter configuration (#3480) [query] Fix Graphite nil arg not interpreted as explicit nil (#3481) [query] Fix Graphite context time window expansions not being cumulative [readme] Remove coverage badge due to CodeCov not able to execute (#3476) [query] Fix using median with aggregateWithWildcards and support more aggregate functions (#3469) [matcher] [coordinator] Add RequireNamespaceWatchOnInit option (#3468) [buildkite] Remove codecov uploading from unit tests (#3475) [aggregator] Add integration test for aggregator placement changes (#3465) [tools] Use streaming reads in read_data_files (#3474) [tools] Close the reader in read_data_files (#3473)
This option on the matcher will require that namespace
values and corresponding rulesets are loaded
in the matcher as part of startup.
This is useful in ensuring dynamic rules are loaded
before we start ingesting metrics.
What this PR does / why we need it:
Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing and/or backwards incompatible change?:
Does this PR require updating code package or user-facing documentation?: