Chesnay Schepler created FLINK-8213:
---------------------------------------

             Summary: Prevent potential metric-related ClassCastExceptions
                 Key: FLINK-8213
                 URL: https://issues.apache.org/jira/browse/FLINK-8213
             Project: Flink
          Issue Type: Bug
          Components: Metrics, Streaming
    Affects Versions: 1.5.0
            Reporter: Chesnay Schepler
            Assignee: Chesnay Schepler
            Priority: Minor


There are a few places, in particular revolving around the {{StreamOperator}}, 
that may run into ClassCastExceptions.

For example, in the {{DataSinkTask}} you can find this line:
{{final Counter numRecordsIn = ((OperatorMetricGroup) 
ctx.getMetricGroup()).getIOMetricGroup().getNumRecordsInCounter();}}

The cast here is necessary since the {{AbstractStreamOperator}} exposes the 
{{OperatorMetricGroup}} as a plain {{MetricGroup}} since it is an internal 
class. However there is obviously no guarantee that 
{{StreamOperator#getMetricGroup()}} returns an actual {{OperatorMetricGroup}}. 
In fact, a fall-back case in {{AbstractStreamOperator#setup}} causes exactly 
this assumption to be violated.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to