[ 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)