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)