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