[
https://issues.apache.org/jira/browse/FLINK-6053?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15925257#comment-15925257
]
Bowen Li commented on FLINK-6053:
---------------------------------
hm.... I found in Flink's Gauge class is used like this in
`org.apache.flink.runtime.checkpoint.CheckpointStatsTracker`, which doesn't
make much sense to me....
```
private class LatestCompletedCheckpointExternalPathGauge implements
Gauge<String> {
@Override
public String getValue() {
CompletedCheckpointStats completed =
latestSnapshot.getHistory().getLatestCompletedCheckpoint();
if (completed != null) {
return completed.getExternalPath();
} else {
return "n/a";
}
}
}
```
> Gauge<T> should only take subclasses of Number, rather than everything
> ----------------------------------------------------------------------
>
> Key: FLINK-6053
> URL: https://issues.apache.org/jira/browse/FLINK-6053
> Project: Flink
> Issue Type: Improvement
> Components: Metrics
> Affects Versions: 1.2.0
> Reporter: Bowen Li
> Fix For: 1.3.0
>
>
> Currently, Flink's Gauge is defined as
> ```java
> public interface Gauge<T> extends Metric {
> T getValue();
> }
> ```
> But it doesn't make sense to have Gauge take generic types other than Number.
> And it blocks I from finishing FLINK-6013, because I cannot assume Gauge is
> only about Number. So the class should be like
> ```java
> public interface Gauge<T extends Number> extends Metric {
> T getValue();
> }
> ```
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)