flink-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (FLINK-4563) [metrics] scope caching not adjusted for multiple reporters
Date Fri, 28 Oct 2016 14:41:58 GMT

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

ASF GitHub Bot commented on FLINK-4563:
---------------------------------------

Github user ex00 commented on a diff in the pull request:

    https://github.com/apache/flink/pull/2650#discussion_r85543811
  
    --- Diff: flink-runtime/src/main/java/org/apache/flink/runtime/metrics/groups/AbstractMetricGroup.java
---
    @@ -169,19 +176,7 @@ public String getMetricIdentifier(String metricName) {
     	 * @return fully qualified metric name
     	 */
     	public String getMetricIdentifier(String metricName, CharacterFilter filter) {
    -		if (scopeString == null) {
    -			if (filter != null) {
    -				scopeString = ScopeFormat.concat(filter, registry.getDelimiter(), scopeComponents);
    -			} else {
    -				scopeString = ScopeFormat.concat(registry.getDelimiter(), scopeComponents);
    -			}
    -		}
    -
    -		if (filter != null) {
    -			return scopeString + registry.getDelimiter() + filter.filterCharacters(metricName);
    -		} else {
    -			return scopeString + registry.getDelimiter() + metricName;
    -		}
    +		return getMetricIdentifier(metricName, filter, -1);
    --- End diff --
    
    if reporter index not [correct for array](https://github.com/apache/flink/pull/2650/files#diff-3cbfc4ef461f4bac5ddd197c77fe19b1R191)
then in this block not use ``reporterIndex`` and call `MetricRegistry#getDelimiter()`
    I will change to
    ``` java
    if (scopeStrings.length == 0 || (reporterIndex < 0 || reporterIndex >= scopeStrings.length))
{
    			if (filter != null) {
    				String newScopeString = ScopeFormat.concat(filter, registry.getDelimiter(), scopeComponents);
    				return newScopeString + registry.getDelimiter() + filter.filterCharacters(metricName);
    			} else {
    				String newScopeString = ScopeFormat.concat(registry.getDelimiter(), scopeComponents);
    				return newScopeString + registry.getDelimiter() + metricName;
    			}
    		}
    ```
    and warning message will not show



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

Mime
View raw message