[
https://issues.apache.org/jira/browse/FLINK-4563?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15608842#comment-15608842
]
ASF GitHub Bot commented on FLINK-4563:
---------------------------------------
Github user StephanEwen commented on the issue:
https://github.com/apache/flink/pull/2650
I would suggest to not cache the filters and try to catch the "reporter
uses changing filters" case:
- It sounds like pre-mature optimization. Since one can use multiple
reporters, why use different formats?
- If one really ever needs multiple formats, one can simply use multiple
instances of the same reporter that accept different subsets of metrics
- Most importantly, this actually disables the scope caching for a very
common case, when the reporter simple provides a `new MyFilter()` to each scope
building call. I bet that most users do not overwrite `equals()` on their
character filters.
> [metrics] scope caching not adjusted for multiple reporters
> -----------------------------------------------------------
>
> Key: FLINK-4563
> URL: https://issues.apache.org/jira/browse/FLINK-4563
> Project: Flink
> Issue Type: Bug
> Components: Metrics
> Affects Versions: 1.1.0
> Reporter: Chesnay Schepler
> Assignee: Anton Mushin
>
> Every metric group contains a scope string, representing what entities
> (job/task/etc.) a given metric belongs to, which is calculated on demand.
> Before this string is cached a CharacterFilter is applied to it, which is
> provided by the callee, usually a reporter. This was done since different
> reporters have different requirements in regards to valid characters. The
> filtered string is cached so that we don't have to refilter the string every
> time.
> This all works fine with a single reporter; with multiple however it is
> completely broken as only the first filter is ever applied.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)