[ 
https://issues.apache.org/jira/browse/FLINK-4563?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15529170#comment-15529170
 ] 

Chesnay Schepler commented on FLINK-4563:
-----------------------------------------

yes, those tests should pass. additionally though i would say that different 
filters for a single reporter should be noticed as well:

{code:java}
public static class TestReporter1 extends TestReporter {
                @Override
                public String filterCharacters(String input) {
                        return input.replace("A", "a");
                }

                @Override
                public void notifyOfAddedMetric(Metric metric, String 
metricName, MetricGroup group) {
                        assertEquals("a.B.C.D.1", 
group.getMetricIdentifier(metricName, this));
                        assertEquals("A.b.C.D.1", 
group.getMetricIdentifier(metricName, new CharacterFiler(...) {
                                                return input.replace("B", 
"b");}));
                }
        }
{code}

Note that this test would never fail, as the exception in assertEquals should 
be catched and never propagated outwards. Second, you should be able to 
leverage the code in https://github.com/apache/flink/pull/2517 to differentiate 
between reporters.

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

Reply via email to